|
3 | 3 | const common = require('../common'); |
4 | 4 | const assert = require('assert'); |
5 | 5 | const test = require('node:test'); |
6 | | -const { Blob } = require('buffer'); |
7 | | -const { ReadableStream, CompressionStream, DecompressionStream } = require('stream/web'); |
| 6 | +const { ReadableStream } = require('stream/web'); |
8 | 7 |
|
9 | 8 | const sab = new SharedArrayBuffer(8); |
10 | 9 | const sabView = new Uint8Array(sab); |
11 | 10 | const sabDataView = new DataView(sab); |
12 | 11 |
|
13 | | -// -- Blob constructor -- |
14 | | - |
15 | | -test('Blob rejects raw SharedArrayBuffer', () => { |
16 | | - assert.throws( |
17 | | - () => new Blob([sab]), |
18 | | - { code: 'ERR_INVALID_ARG_TYPE' }, |
19 | | - ); |
20 | | -}); |
21 | | - |
22 | | -test('Blob rejects Uint8Array backed by SharedArrayBuffer', () => { |
23 | | - assert.throws( |
24 | | - () => new Blob([sabView]), |
25 | | - { code: 'ERR_INVALID_ARG_VALUE' }, |
26 | | - ); |
27 | | -}); |
28 | | - |
29 | | -test('Blob rejects DataView backed by SharedArrayBuffer', () => { |
30 | | - assert.throws( |
31 | | - () => new Blob([sabDataView]), |
32 | | - { code: 'ERR_INVALID_ARG_VALUE' }, |
33 | | - ); |
34 | | -}); |
35 | | - |
36 | | -test('Blob still accepts regular ArrayBuffer', () => { |
37 | | - const blob = new Blob([new ArrayBuffer(4)]); |
38 | | - assert.strictEqual(blob.size, 4); |
39 | | -}); |
40 | | - |
41 | | -test('Blob still accepts regular Uint8Array', () => { |
42 | | - const blob = new Blob([new Uint8Array(4)]); |
43 | | - assert.strictEqual(blob.size, 4); |
44 | | -}); |
45 | | - |
46 | 12 | // -- ReadableStreamBYOBReader.read() -- |
47 | 13 |
|
48 | 14 | test('ReadableStreamBYOBReader.read() rejects SAB-backed Uint8Array', async () => { |
@@ -132,34 +98,6 @@ test('ReadableByteStreamController.enqueue() rejects SAB-backed DataView', async |
132 | 98 | reader.releaseLock(); |
133 | 99 | }); |
134 | 100 |
|
135 | | -// -- Compression/Decompression streams reject raw SharedArrayBuffer -- |
136 | | - |
137 | | -for (const format of ['deflate', 'gzip', 'deflate-raw', 'brotli']) { |
138 | | - test(`CompressionStream rejects raw SharedArrayBuffer for ${format}`, async () => { |
139 | | - const cs = new CompressionStream(format); |
140 | | - const writer = cs.writable.getWriter(); |
141 | | - const reader = cs.readable.getReader(); |
142 | | - |
143 | | - const writePromise = writer.write(sab); |
144 | | - const readPromise = reader.read(); |
145 | | - |
146 | | - await assert.rejects(writePromise, { code: 'ERR_INVALID_ARG_TYPE' }); |
147 | | - await assert.rejects(readPromise, { code: 'ERR_INVALID_ARG_TYPE' }); |
148 | | - }); |
149 | | - |
150 | | - test(`DecompressionStream rejects raw SharedArrayBuffer for ${format}`, async () => { |
151 | | - const ds = new DecompressionStream(format); |
152 | | - const writer = ds.writable.getWriter(); |
153 | | - const reader = ds.readable.getReader(); |
154 | | - |
155 | | - const writePromise = writer.write(sab); |
156 | | - const readPromise = reader.read(); |
157 | | - |
158 | | - await assert.rejects(writePromise, { code: 'ERR_INVALID_ARG_TYPE' }); |
159 | | - await assert.rejects(readPromise, { code: 'ERR_INVALID_ARG_TYPE' }); |
160 | | - }); |
161 | | -} |
162 | | - |
163 | 101 | // -- SharedWebIDL converters -- |
164 | 102 |
|
165 | 103 | const { converters } = require('internal/webidl'); |
|
0 commit comments