// META: global=window,worker,shadowrealm // META: script=resources/decompression-input.js 'use strict'; const tests = compressedBytes.map( ([format, chunk]) => [format, new Uint8Array([...chunk, 0])] ); for (const [format, chunk] of tests) { promise_test(async t => { const ds = new DecompressionStream(format); const reader = ds.readable.getReader(); const writer = ds.writable.getWriter(); writer.write(chunk).catch(() => { }); const { done, value } = await reader.read(); assert_array_equals(Array.from(value), expectedChunkValue, "value should match"); await promise_rejects_js(t, TypeError, reader.read(), "Extra input should eventually throw"); }, `decompressing ${format} input with extra pad should still give the output`); }