Skip to content

Commit

Permalink
fix(jsdom): use jsdom ArrayBuffer instead of Node, if jsdom is enabled (
Browse files Browse the repository at this point in the history
#1727)

* chore: cleanup lockfile

* fix: use jsdom ArrayBuffer instead of Node, if jsdom is enabled
  • Loading branch information
sheremet-va committed Jul 27, 2022
1 parent 68951e0 commit 021aca2
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 9 deletions.
1 change: 1 addition & 0 deletions packages/vitest/src/integrations/env/utils.ts
Expand Up @@ -4,6 +4,7 @@ const allowRewrite = [
'Event',
'EventTarget',
'MessageEvent',
'ArrayBuffer',
]

const skipKeys = [
Expand Down
10 changes: 1 addition & 9 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 15 additions & 0 deletions test/core/test/dom.test.ts
Expand Up @@ -139,3 +139,18 @@ it('can extend global class', () => {

expect(SuperBlob).toBeDefined()
})

it('uses jsdom ArrayBuffer', async () => {
const blob = new Blob(['Hello'], { type: 'text/plain' })

const arraybuffer = await new Promise<ArrayBuffer>((resolve, reject) => {
const reader = new FileReader()
reader.onload = () => resolve(reader.result as ArrayBuffer)
reader.onerror = () => reject(reader.error)
reader.readAsArrayBuffer(blob)
})

expect(arraybuffer.constructor.name).toBe('ArrayBuffer')
expect(arraybuffer instanceof ArrayBuffer).toBeTruthy()
expect(arraybuffer.constructor === ArrayBuffer).toBeTruthy()
})

0 comments on commit 021aca2

Please sign in to comment.