Skip to content

Commit af5a589

Browse files
committed
Split AbortSignal.timeout() tests into separate files
AbortSignal.timeout() isn't exposed in ShadowRealm environments, so it shouldn't be tested there. Split it out into a separate file, and add another file for ShadowRealm environments testing that the property is not present.
1 parent 5ac3d92 commit af5a589

File tree

3 files changed

+34
-28
lines changed

3 files changed

+34
-28
lines changed

dom/abort/AbortSignal.any.js

-28
Original file line numberDiff line numberDiff line change
@@ -12,31 +12,3 @@ async_test(t => {
1212
s.onabort = t.unreached_func("abort event handler called");
1313
t.step_timeout(() => { t.done(); }, 2000);
1414
}, "signal returned by AbortSignal.abort() should not fire abort event");
15-
16-
test(t => {
17-
const signal = AbortSignal.timeout(0);
18-
assert_true(signal instanceof AbortSignal, "returned object is an AbortSignal");
19-
assert_false(signal.aborted, "returned signal is not already aborted");
20-
}, "AbortSignal.timeout() returns a non-aborted signal");
21-
22-
async_test(t => {
23-
const signal = AbortSignal.timeout(5);
24-
signal.onabort = t.step_func_done(() => {
25-
assert_true(signal.aborted, "signal is aborted");
26-
assert_true(signal.reason instanceof DOMException, "signal.reason is a DOMException");
27-
assert_equals(signal.reason.name, "TimeoutError", "signal.reason is a TimeoutError");
28-
});
29-
}, "Signal returned by AbortSignal.timeout() times out");
30-
31-
async_test(t => {
32-
let result = "";
33-
for (const value of ["1", "2", "3"]) {
34-
const signal = AbortSignal.timeout(5);
35-
signal.onabort = t.step_func(() => { result += value; });
36-
}
37-
38-
const signal = AbortSignal.timeout(5);
39-
signal.onabort = t.step_func_done(() => {
40-
assert_equals(result, "123", "Timeout order should be 123");
41-
});
42-
}, "AbortSignal timeouts fire in order");

dom/abort/timeout-shadowrealm.any.js

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
// META: global=shadowrealm
2+
3+
test(t => {
4+
assert_not_own_property(AbortSignal, "timeout", "AbortSignal does not have a 'timeout' property");
5+
}, "AbortSignal.timeout() is not exposed in ShadowRealm");

dom/abort/timeout.any.js

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// META: global=window,dedicatedworker
2+
3+
test(t => {
4+
const signal = AbortSignal.timeout(0);
5+
assert_true(signal instanceof AbortSignal, "returned object is an AbortSignal");
6+
assert_false(signal.aborted, "returned signal is not already aborted");
7+
}, "AbortSignal.timeout() returns a non-aborted signal");
8+
9+
async_test(t => {
10+
const signal = AbortSignal.timeout(5);
11+
signal.onabort = t.step_func_done(() => {
12+
assert_true(signal.aborted, "signal is aborted");
13+
assert_true(signal.reason instanceof DOMException, "signal.reason is a DOMException");
14+
assert_equals(signal.reason.name, "TimeoutError", "signal.reason is a TimeoutError");
15+
});
16+
}, "Signal returned by AbortSignal.timeout() times out");
17+
18+
async_test(t => {
19+
let result = "";
20+
for (const value of ["1", "2", "3"]) {
21+
const signal = AbortSignal.timeout(5);
22+
signal.onabort = t.step_func(() => { result += value; });
23+
}
24+
25+
const signal = AbortSignal.timeout(5);
26+
signal.onabort = t.step_func_done(() => {
27+
assert_equals(result, "123", "Timeout order should be 123");
28+
});
29+
}, "AbortSignal timeouts fire in order");

0 commit comments

Comments
 (0)