Skip to content

Commit df14944

Browse files
panvadanielleadams
authored andcommitted
test: update encoding WPTs
PR-URL: #46802 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Michaël Zasso <[email protected]>
1 parent 928998d commit df14944

File tree

4 files changed

+42
-2
lines changed

4 files changed

+42
-2
lines changed

test/fixtures/wpt/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Last update:
1414
- console: https://github.com/web-platform-tests/wpt/tree/767ae35464/console
1515
- dom/abort: https://github.com/web-platform-tests/wpt/tree/8fadb38120/dom/abort
1616
- dom/events: https://github.com/web-platform-tests/wpt/tree/ab8999891c/dom/events
17-
- encoding: https://github.com/web-platform-tests/wpt/tree/779d175c40/encoding
17+
- encoding: https://github.com/web-platform-tests/wpt/tree/0c1b9d1622/encoding
1818
- fetch/data-urls/resources: https://github.com/web-platform-tests/wpt/tree/7c79d998ff/fetch/data-urls/resources
1919
- FileAPI: https://github.com/web-platform-tests/wpt/tree/3b279420d4/FileAPI
2020
- FileAPI/file: https://github.com/web-platform-tests/wpt/tree/c01f637cca/FileAPI/file
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
// Text*Stream should still work even if the realm is detached.
2+
3+
// Adds an iframe to the document and returns it.
4+
function addIframe() {
5+
const iframe = document.createElement('iframe');
6+
document.body.appendChild(iframe);
7+
return iframe;
8+
}
9+
10+
promise_test(async t => {
11+
const iframe = addIframe();
12+
const stream = new iframe.contentWindow.TextDecoderStream();
13+
const readPromise = stream.readable.getReader().read();
14+
const writer = stream.writable.getWriter();
15+
await writer.ready;
16+
iframe.remove();
17+
return Promise.all([writer.write(new Uint8Array([65])),readPromise]);
18+
}, 'TextDecoderStream: write in detached realm should succeed');
19+
20+
promise_test(async t => {
21+
const iframe = addIframe();
22+
const stream = new iframe.contentWindow.TextEncoderStream();
23+
const readPromise = stream.readable.getReader().read();
24+
const writer = stream.writable.getWriter();
25+
await writer.ready;
26+
iframe.remove();
27+
return Promise.all([writer.write('A'), readPromise]);
28+
}, 'TextEncoderStream: write in detached realm should succeed');
29+
30+
for (const type of ['TextEncoderStream', 'TextDecoderStream']) {
31+
promise_test(async t => {
32+
const iframe = addIframe();
33+
const stream = new iframe.contentWindow[type]();
34+
iframe.remove();
35+
return stream.writable.close();
36+
}, `${type}: close in detached realm should succeed`);
37+
}

test/fixtures/wpt/versions.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"path": "dom/events"
1717
},
1818
"encoding": {
19-
"commit": "779d175c40efcb8f2c9512bebe25ffbeda485708",
19+
"commit": "0c1b9d1622ae0f27f82d7f7d7a1e9e69d410a3ca",
2020
"path": "encoding"
2121
},
2222
"fetch/data-urls/resources": {

test/wpt/status/encoding.json

+3
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@
4848
"streams/decode-ignore-bom.any.js": {
4949
"requires": ["small-icu"]
5050
},
51+
"streams/invalid-realm.window.js": {
52+
"skip": "document is not defined"
53+
},
5154
"streams/realms.window.js": {
5255
"skip": "window is not defined"
5356
},

0 commit comments

Comments
 (0)