Skip to content

Commit 9667929

Browse files
authored
Test [[CanBlock]] in various agents
Follows whatwg/html#2521. Worklets are not tested at this time as their API is still in flux.
1 parent db40b1e commit 9667929

File tree

6 files changed

+85
-0
lines changed

6 files changed

+85
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!DOCTYPE html>
2+
<meta charset="utf-8">
3+
<title>[[CanBlock]] in a dedicated worker agent</title>
4+
<link rel="author" title="Domenic Denicola" href="mailto:[email protected]">
5+
<link rel="help" href="https://html.spec.whatwg.org/multipage/#dedicated-worker-agent">
6+
<link rel="help" href="https://tc39.github.io/ecma262/#sec-agentcansuspend">
7+
<script src="/resources/testharness.js"></script>
8+
<script src="/resources/testharnessreport.js"></script>
9+
10+
<script>
11+
"use strict";
12+
fetch_tests_from_worker(new Worker("worker-that-requires-success.js"));
13+
</script>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<!DOCTYPE html>
2+
<meta charset="utf-8">
3+
<title>[[CanBlock]] in a service worker agent</title>
4+
<link rel="author" title="Domenic Denicola" href="mailto:[email protected]">
5+
<link rel="help" href="https://html.spec.whatwg.org/multipage/#service-worker-agent">
6+
<link rel="help" href="https://tc39.github.io/ecma262/#sec-agentcansuspend">
7+
<script src="/resources/testharness.js"></script>
8+
<script src="/resources/testharnessreport.js"></script>
9+
<script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script>
10+
11+
<script>
12+
"use strict";
13+
service_worker_test("worker-that-requires-failure.js", "Service worker test setup");
14+
</script>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!DOCTYPE html>
2+
<meta charset="utf-8">
3+
<title>[[CanBlock]] in a shared worker agent</title>
4+
<link rel="author" title="Domenic Denicola" href="mailto:[email protected]">
5+
<link rel="help" href="https://html.spec.whatwg.org/multipage/#shared-worker-agent">
6+
<link rel="help" href="https://tc39.github.io/ecma262/#sec-agentcansuspend">
7+
<script src="/resources/testharness.js"></script>
8+
<script src="/resources/testharnessreport.js"></script>
9+
10+
<script>
11+
"use strict";
12+
fetch_tests_from_worker(new SharedWorker("worker-that-requires-success.js"));
13+
</script>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<!DOCTYPE html>
2+
<meta charset="utf-8">
3+
<title>[[CanBlock]] in a similar-origin window agent</title>
4+
<link rel="author" title="Domenic Denicola" href="mailto:[email protected]">
5+
<link rel="help" href="https://html.spec.whatwg.org/multipage/#similar-origin-window-agent">
6+
<link rel="help" href="https://tc39.github.io/ecma262/#sec-agentcansuspend">
7+
<script src="/resources/testharness.js"></script>
8+
<script src="/resources/testharnessreport.js"></script>
9+
10+
<script>
11+
"use strict";
12+
13+
const sab = new SharedArrayBuffer(16);
14+
const ta = new Int32Array(sab);
15+
16+
assert_throws(new TypeError(), () => {
17+
Atomics.wait(ta, 0, 0, 10);
18+
}, "Atomics.wait must throw in a window context");
19+
20+
done();
21+
</script>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
"use strict";
2+
importScripts("/resources/testharness.js");
3+
4+
test(() => {
5+
const sab = new SharedArrayBuffer(16);
6+
const ta = new Int32Array(sab);
7+
8+
assert_throws(new TypeError(), () => {
9+
Atomics.wait(ta, 0, 0, 10);
10+
});
11+
}, `[[CanBlock]] in a ${self.constructor.name}`);
12+
13+
done();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
"use strict";
2+
importScripts("/resources/testharness.js");
3+
4+
test(() => {
5+
const sab = new SharedArrayBuffer(16);
6+
const ta = new Int32Array(sab);
7+
8+
assert_equals(Atomics.wait(ta, 0, 0, 10), "timed-out");
9+
}, `[[CanBlock]] in a ${self.constructor.name}`);
10+
11+
done();

0 commit comments

Comments
 (0)