1// META: global=window,worker 2 3'use strict'; 4 5const badChunks = [ 6 { 7 name: 'undefined', 8 value: undefined 9 }, 10 { 11 name: 'null', 12 value: null 13 }, 14 { 15 name: 'numeric', 16 value: 3.14 17 }, 18 { 19 name: 'object, not BufferSource', 20 value: {} 21 }, 22 { 23 name: 'array', 24 value: [65] 25 } 26]; 27 28for (const chunk of badChunks) { 29 promise_test(async t => { 30 const tds = new TextDecoderStream(); 31 const reader = tds.readable.getReader(); 32 const writer = tds.writable.getWriter(); 33 const writePromise = writer.write(chunk.value); 34 const readPromise = reader.read(); 35 await promise_rejects_js(t, TypeError, writePromise, 'write should reject'); 36 await promise_rejects_js(t, TypeError, readPromise, 'read should reject'); 37 }, `chunk of type ${chunk.name} should error the stream`); 38} 39