summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/encoding/textdecoder-copy.any.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/encoding/textdecoder-copy.any.js')
-rw-r--r--testing/web-platform/tests/encoding/textdecoder-copy.any.js20
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 + ")");
+});