diff --git a/dom/abort/AbortSignal.any.js b/dom/abort/AbortSignal.any.js index 3bbdc11a92f90d..c2fc88d3b4f103 100644 --- a/dom/abort/AbortSignal.any.js +++ b/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/dom/abort/event.any.js b/dom/abort/event.any.js index 34af8ee5c560ae..afc003b94e6c19 100644 --- a/dom/abort/event.any.js +++ b/dom/abort/event.any.js @@ -1,3 +1,5 @@ +// META: global=window,dedicatedworker,shadowrealm + test(t => { const c = new AbortController(), s = c.signal; diff --git a/dom/abort/timeout-shadowrealm.any.js b/dom/abort/timeout-shadowrealm.any.js new file mode 100644 index 00000000000000..c87b047c2212ed --- /dev/null +++ b/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/dom/abort/timeout.any.js b/dom/abort/timeout.any.js new file mode 100644 index 00000000000000..61b595e717c844 --- /dev/null +++ b/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");