Blob-bytes.any.js (1604B)
1 // META: title=Blob bytes() 2 // META: script=../support/Blob.js 3 'use strict'; 4 5 promise_test(async () => { 6 const input_arr = new TextEncoder().encode("PASS"); 7 const blob = new Blob([input_arr]); 8 const uint8array = await blob.bytes(); 9 assert_true(uint8array instanceof Uint8Array); 10 assert_equals_typed_array(uint8array, input_arr); 11 }, "Blob.bytes()") 12 13 promise_test(async () => { 14 const input_arr = new TextEncoder().encode(""); 15 const blob = new Blob([input_arr]); 16 const uint8array = await blob.bytes(); 17 assert_true(uint8array instanceof Uint8Array); 18 assert_equals_typed_array(uint8array, input_arr); 19 }, "Blob.bytes() empty Blob data") 20 21 promise_test(async () => { 22 const input_arr = new TextEncoder().encode("\u08B8\u000a"); 23 const blob = new Blob([input_arr]); 24 const uint8array = await blob.bytes(); 25 assert_equals_typed_array(uint8array, input_arr); 26 }, "Blob.bytes() non-ascii input") 27 28 promise_test(async () => { 29 const input_arr = [8, 241, 48, 123, 151]; 30 const typed_arr = new Uint8Array(input_arr); 31 const blob = new Blob([typed_arr]); 32 const uint8array = await blob.bytes(); 33 assert_equals_typed_array(uint8array, typed_arr); 34 }, "Blob.bytes() non-unicode input") 35 36 promise_test(async () => { 37 const input_arr = new TextEncoder().encode("PASS"); 38 const blob = new Blob([input_arr]); 39 const uint8array_results = await Promise.all([blob.bytes(), 40 blob.bytes(), blob.bytes()]); 41 for (let uint8array of uint8array_results) { 42 assert_true(uint8array instanceof Uint8Array); 43 assert_equals_typed_array(uint8array, input_arr); 44 } 45 }, "Blob.bytes() concurrent reads")