| // META: global=window,worker | |
| // META: script=/common/sab.js | |
| ["ArrayBuffer", "SharedArrayBuffer"].forEach(arrayBufferOrSharedArrayBuffer => { | |
| test(() => { | |
| const buf = createBuffer(arrayBufferOrSharedArrayBuffer, 2); | |
| const view = new Uint8Array(buf); | |
| const buf2 = createBuffer(arrayBufferOrSharedArrayBuffer, 2); | |
| const view2 = new Uint8Array(buf2); | |
| const decoder = new TextDecoder("utf-8"); | |
| view[0] = 0xEF; | |
| view[1] = 0xBB; | |
| view2[0] = 0xBF; | |
| view2[1] = 0x40; | |
| assert_equals(decoder.decode(buf, {stream:true}), ""); | |
| view[0] = 0x01; | |
| view[1] = 0x02; | |
| assert_equals(decoder.decode(buf2), "@"); | |
| }, "Modify buffer after passing it in (" + arrayBufferOrSharedArrayBuffer + ")"); | |
| }); |