From fce45024bfe97eff9afaafb6b69cb7321a3471c6 Mon Sep 17 00:00:00 2001 From: "Node.js GitHub Bot" Date: Wed, 11 Jun 2025 06:50:54 -0400 Subject: [PATCH] test: update WPT for dom/abort to dc928169ee PR-URL: https://github.com/nodejs/node/pull/58644 Reviewed-By: Filip Skokan Reviewed-By: Yagiz Nizipli Reviewed-By: Ethan Arrowood Reviewed-By: Luigi Pinca --- test/fixtures/wpt/README.md | 2 +- .../fixtures/wpt/dom/abort/AbortSignal.any.js | 30 ++----------------- test/fixtures/wpt/dom/abort/event.any.js | 5 ++++ .../wpt/dom/abort/timeout-shadowrealm.any.js | 5 ++++ test/fixtures/wpt/dom/abort/timeout.any.js | 29 ++++++++++++++++++ test/fixtures/wpt/versions.json | 2 +- test/wpt/status/dom/abort.json | 6 +++- 7 files changed, 48 insertions(+), 31 deletions(-) create mode 100644 test/fixtures/wpt/dom/abort/timeout-shadowrealm.any.js create mode 100644 test/fixtures/wpt/dom/abort/timeout.any.js diff --git a/test/fixtures/wpt/README.md b/test/fixtures/wpt/README.md index 60de505d3e2..43a7be5b1d2 100644 --- a/test/fixtures/wpt/README.md +++ b/test/fixtures/wpt/README.md @@ -13,7 +13,7 @@ Last update: - common: https://github.com/web-platform-tests/wpt/tree/dbd648158d/common - compression: https://github.com/web-platform-tests/wpt/tree/67880a4eb8/compression - console: https://github.com/web-platform-tests/wpt/tree/e48251b778/console -- dom/abort: https://github.com/web-platform-tests/wpt/tree/0143fe244b/dom/abort +- dom/abort: https://github.com/web-platform-tests/wpt/tree/dc928169ee/dom/abort - dom/events: https://github.com/web-platform-tests/wpt/tree/0a811c5161/dom/events - encoding: https://github.com/web-platform-tests/wpt/tree/1ac8deee08/encoding - fetch/data-urls/resources: https://github.com/web-platform-tests/wpt/tree/7c79d998ff/fetch/data-urls/resources diff --git a/test/fixtures/wpt/dom/abort/AbortSignal.any.js b/test/fixtures/wpt/dom/abort/AbortSignal.any.js index 3bbdc11a92f..c2fc88d3b4f 100644 --- a/test/fixtures/wpt/dom/abort/AbortSignal.any.js +++ b/test/fixtures/wpt/dom/abort/AbortSignal.any.js @@ -1,3 +1,5 @@ +// META: global=window,dedicatedworker,shadowrealm + test(t => { const signal = AbortSignal.abort(); assert_true(signal instanceof AbortSignal, "returned object is an AbortSignal"); @@ -10,31 +12,3 @@ async_test(t => { s.onabort = t.unreached_func("abort event handler called"); t.step_timeout(() => { t.done(); }, 2000); }, "signal returned by AbortSignal.abort() should not fire abort event"); - -test(t => { - const signal = AbortSignal.timeout(0); - assert_true(signal instanceof AbortSignal, "returned object is an AbortSignal"); - assert_false(signal.aborted, "returned signal is not already aborted"); -}, "AbortSignal.timeout() returns a non-aborted signal"); - -async_test(t => { - const signal = AbortSignal.timeout(5); - signal.onabort = t.step_func_done(() => { - assert_true(signal.aborted, "signal is aborted"); - assert_true(signal.reason instanceof DOMException, "signal.reason is a DOMException"); - assert_equals(signal.reason.name, "TimeoutError", "signal.reason is a TimeoutError"); - }); -}, "Signal returned by AbortSignal.timeout() times out"); - -async_test(t => { - let result = ""; - for (const value of ["1", "2", "3"]) { - const signal = AbortSignal.timeout(5); - signal.onabort = t.step_func(() => { result += value; }); - } - - const signal = AbortSignal.timeout(5); - signal.onabort = t.step_func_done(() => { - assert_equals(result, "123", "Timeout order should be 123"); - }); -}, "AbortSignal timeouts fire in order"); diff --git a/test/fixtures/wpt/dom/abort/event.any.js b/test/fixtures/wpt/dom/abort/event.any.js index 34af8ee5c56..eda769e8d8f 100644 --- a/test/fixtures/wpt/dom/abort/event.any.js +++ b/test/fixtures/wpt/dom/abort/event.any.js @@ -1,3 +1,5 @@ +// META: global=window,dedicatedworker,shadowrealm + test(t => { const c = new AbortController(), s = c.signal; @@ -141,9 +143,12 @@ test(t => { test(t => { const reason = new Error('boom'); + const message = reason.message; const signal = AbortSignal.abort(reason); assert_true(signal.aborted); assert_throws_exactly(reason, () => signal.throwIfAborted()); + assert_equals(reason.message, message, + "abort.reason should not be changed by throwIfAborted()"); }, "throwIfAborted() should throw abort.reason if signal aborted"); test(t => { diff --git a/test/fixtures/wpt/dom/abort/timeout-shadowrealm.any.js b/test/fixtures/wpt/dom/abort/timeout-shadowrealm.any.js new file mode 100644 index 00000000000..c87b047c221 --- /dev/null +++ b/test/fixtures/wpt/dom/abort/timeout-shadowrealm.any.js @@ -0,0 +1,5 @@ +// META: global=shadowrealm + +test(t => { + assert_not_own_property(AbortSignal, "timeout", "AbortSignal does not have a 'timeout' property"); +}, "AbortSignal.timeout() is not exposed in ShadowRealm"); diff --git a/test/fixtures/wpt/dom/abort/timeout.any.js b/test/fixtures/wpt/dom/abort/timeout.any.js new file mode 100644 index 00000000000..61b595e717c --- /dev/null +++ b/test/fixtures/wpt/dom/abort/timeout.any.js @@ -0,0 +1,29 @@ +// META: global=window,dedicatedworker + +test(t => { + const signal = AbortSignal.timeout(0); + assert_true(signal instanceof AbortSignal, "returned object is an AbortSignal"); + assert_false(signal.aborted, "returned signal is not already aborted"); +}, "AbortSignal.timeout() returns a non-aborted signal"); + +async_test(t => { + const signal = AbortSignal.timeout(5); + signal.onabort = t.step_func_done(() => { + assert_true(signal.aborted, "signal is aborted"); + assert_true(signal.reason instanceof DOMException, "signal.reason is a DOMException"); + assert_equals(signal.reason.name, "TimeoutError", "signal.reason is a TimeoutError"); + }); +}, "Signal returned by AbortSignal.timeout() times out"); + +async_test(t => { + let result = ""; + for (const value of ["1", "2", "3"]) { + const signal = AbortSignal.timeout(5); + signal.onabort = t.step_func(() => { result += value; }); + } + + const signal = AbortSignal.timeout(5); + signal.onabort = t.step_func_done(() => { + assert_equals(result, "123", "Timeout order should be 123"); + }); +}, "AbortSignal timeouts fire in order"); diff --git a/test/fixtures/wpt/versions.json b/test/fixtures/wpt/versions.json index 5fdf34977e6..d20428fe789 100644 --- a/test/fixtures/wpt/versions.json +++ b/test/fixtures/wpt/versions.json @@ -12,7 +12,7 @@ "path": "console" }, "dom/abort": { - "commit": "0143fe244b3d622441717ce630e0114eb204f9a7", + "commit": "dc928169ee38969433af668319a73ed9196ffbee", "path": "dom/abort" }, "dom/events": { diff --git a/test/wpt/status/dom/abort.json b/test/wpt/status/dom/abort.json index 0967ef424bc..2ff9cc355d6 100644 --- a/test/wpt/status/dom/abort.json +++ b/test/wpt/status/dom/abort.json @@ -1 +1,5 @@ -{} +{ + "timeout-shadowrealm.any.js": { + "skip": "ShadowRealm support is not enabled" + } +}