diff options
Diffstat (limited to 'testing/web-platform/tests/encoding/textdecoder-copy.any.js')
-rw-r--r-- | testing/web-platform/tests/encoding/textdecoder-copy.any.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/testing/web-platform/tests/encoding/textdecoder-copy.any.js b/testing/web-platform/tests/encoding/textdecoder-copy.any.js new file mode 100644 index 0000000000..61de4142bf --- /dev/null +++ b/testing/web-platform/tests/encoding/textdecoder-copy.any.js @@ -0,0 +1,20 @@ +// 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 + ")"); +}); |