summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/workers/examples/general.worker.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/workers/examples/general.worker.js')
-rw-r--r--testing/web-platform/tests/workers/examples/general.worker.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/testing/web-platform/tests/workers/examples/general.worker.js b/testing/web-platform/tests/workers/examples/general.worker.js
new file mode 100644
index 0000000000..aeca236781
--- /dev/null
+++ b/testing/web-platform/tests/workers/examples/general.worker.js
@@ -0,0 +1,35 @@
+// This file is an example of a test using *.worker.js mechanism.
+// The parent document that calls fetch_tests_from_worker() is auto-generated
+// but there are no generated code in the worker side.
+
+// fetch_tests_from_worker() requires testharness.js both on the parent
+// document and on the worker.
+importScripts("/resources/testharness.js");
+
+// ============================================================================
+
+// Test body.
+test(() => {
+ assert_equals(1, 1, "1 == 1");
+ },
+ "Test that should pass"
+);
+
+test(() => {
+ // This file is "general.worker.js" and this file itself is the worker
+ // top-level script (which is different from the .any.js case).
+ assert_equals(location.pathname, "/workers/examples/general.worker.js");
+ },
+ "Worker top-level script is the .worker.js file itself."
+);
+
+// ============================================================================
+
+// `done()` is always needed at the bottom for dedicated workers and shared
+// workers, even if you write `async_test()` or `promise_test()`.
+// `async_test()` and `promise_test()` called before this `done()`
+// will continue and assertions/failures after this `done()` are not ignored.
+// See
+// https://web-platform-tests.org/writing-tests/testharness-api.html#determining-when-all-tests-are-complete
+// for details.
+done();