Skip to content

Commit

Permalink
test: update encoding WPTs
Browse files Browse the repository at this point in the history
PR-URL: #46802
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
  • Loading branch information
panva authored and danielleadams committed Apr 11, 2023
1 parent 928998d commit df14944
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 2 deletions.
2 changes: 1 addition & 1 deletion test/fixtures/wpt/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Last update:
- console: https://github.com/web-platform-tests/wpt/tree/767ae35464/console
- dom/abort: https://github.com/web-platform-tests/wpt/tree/8fadb38120/dom/abort
- dom/events: https://github.com/web-platform-tests/wpt/tree/ab8999891c/dom/events
- encoding: https://github.com/web-platform-tests/wpt/tree/779d175c40/encoding
- encoding: https://github.com/web-platform-tests/wpt/tree/0c1b9d1622/encoding
- fetch/data-urls/resources: https://github.com/web-platform-tests/wpt/tree/7c79d998ff/fetch/data-urls/resources
- FileAPI: https://github.com/web-platform-tests/wpt/tree/3b279420d4/FileAPI
- FileAPI/file: https://github.com/web-platform-tests/wpt/tree/c01f637cca/FileAPI/file
Expand Down
37 changes: 37 additions & 0 deletions test/fixtures/wpt/encoding/streams/invalid-realm.window.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
// Text*Stream should still work even if the realm is detached.

// Adds an iframe to the document and returns it.
function addIframe() {
const iframe = document.createElement('iframe');
document.body.appendChild(iframe);
return iframe;
}

promise_test(async t => {
const iframe = addIframe();
const stream = new iframe.contentWindow.TextDecoderStream();
const readPromise = stream.readable.getReader().read();
const writer = stream.writable.getWriter();
await writer.ready;
iframe.remove();
return Promise.all([writer.write(new Uint8Array([65])),readPromise]);
}, 'TextDecoderStream: write in detached realm should succeed');

promise_test(async t => {
const iframe = addIframe();
const stream = new iframe.contentWindow.TextEncoderStream();
const readPromise = stream.readable.getReader().read();
const writer = stream.writable.getWriter();
await writer.ready;
iframe.remove();
return Promise.all([writer.write('A'), readPromise]);
}, 'TextEncoderStream: write in detached realm should succeed');

for (const type of ['TextEncoderStream', 'TextDecoderStream']) {
promise_test(async t => {
const iframe = addIframe();
const stream = new iframe.contentWindow[type]();
iframe.remove();
return stream.writable.close();
}, `${type}: close in detached realm should succeed`);
}
2 changes: 1 addition & 1 deletion test/fixtures/wpt/versions.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"path": "dom/events"
},
"encoding": {
"commit": "779d175c40efcb8f2c9512bebe25ffbeda485708",
"commit": "0c1b9d1622ae0f27f82d7f7d7a1e9e69d410a3ca",
"path": "encoding"
},
"fetch/data-urls/resources": {
Expand Down
3 changes: 3 additions & 0 deletions test/wpt/status/encoding.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,9 @@
"streams/decode-ignore-bom.any.js": {
"requires": ["small-icu"]
},
"streams/invalid-realm.window.js": {
"skip": "document is not defined"
},
"streams/realms.window.js": {
"skip": "window is not defined"
},
Expand Down

0 comments on commit df14944

Please sign in to comment.