summaryrefslogtreecommitdiff
path: root/cli/tests/workers_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/workers_test.ts')
-rw-r--r--cli/tests/workers_test.ts170
1 files changed, 95 insertions, 75 deletions
diff --git a/cli/tests/workers_test.ts b/cli/tests/workers_test.ts
index 370b3cd1a..84eeabf12 100644
--- a/cli/tests/workers_test.ts
+++ b/cli/tests/workers_test.ts
@@ -27,87 +27,107 @@ export function createResolvable<T>(): Resolvable<T> {
return Object.assign(promise, methods!) as Resolvable<T>;
}
-Deno.test(async function workersBasic(): Promise<void> {
- const promise = createResolvable();
- const jsWorker = new Worker("../tests/subdir/test_worker.js", {
- type: "module",
- name: "jsWorker"
- });
- const tsWorker = new Worker("../tests/subdir/test_worker.ts", {
- type: "module",
- name: "tsWorker"
- });
-
- tsWorker.onmessage = (e): void => {
- assertEquals(e.data, "Hello World");
- promise.resolve();
- };
+Deno.test({
+ name: "workersBasic",
+ // FIXME(bartlomieju):
+ disableOpSanitizer: true,
+ fn: async function(): Promise<void> {
+ const promise = createResolvable();
+ const jsWorker = new Worker("../tests/subdir/test_worker.js", {
+ type: "module",
+ name: "jsWorker"
+ });
+ const tsWorker = new Worker("../tests/subdir/test_worker.ts", {
+ type: "module",
+ name: "tsWorker"
+ });
+
+ tsWorker.onmessage = (e): void => {
+ assertEquals(e.data, "Hello World");
+ promise.resolve();
+ };
+
+ jsWorker.onmessage = (e): void => {
+ assertEquals(e.data, "Hello World");
+ tsWorker.postMessage("Hello World");
+ };
+
+ jsWorker.onerror = (e: Event): void => {
+ e.preventDefault();
+ jsWorker.postMessage("Hello World");
+ };
- jsWorker.onmessage = (e): void => {
- assertEquals(e.data, "Hello World");
- tsWorker.postMessage("Hello World");
- };
-
- jsWorker.onerror = (e: Event): void => {
- e.preventDefault();
jsWorker.postMessage("Hello World");
- };
-
- jsWorker.postMessage("Hello World");
- await promise;
+ await promise;
+ }
});
-Deno.test(async function nestedWorker(): Promise<void> {
- const promise = createResolvable();
-
- const nestedWorker = new Worker("../tests/subdir/nested_worker.js", {
- type: "module",
- name: "nested"
- });
-
- nestedWorker.onmessage = (e): void => {
- assert(e.data.type !== "error");
- promise.resolve();
- };
-
- nestedWorker.postMessage("Hello World");
- await promise;
+Deno.test({
+ name: "nestedWorker",
+ // FIXME(bartlomieju):
+ disableOpSanitizer: true,
+ fn: async function(): Promise<void> {
+ const promise = createResolvable();
+
+ const nestedWorker = new Worker("../tests/subdir/nested_worker.js", {
+ type: "module",
+ name: "nested"
+ });
+
+ nestedWorker.onmessage = (e): void => {
+ assert(e.data.type !== "error");
+ promise.resolve();
+ };
+
+ nestedWorker.postMessage("Hello World");
+ await promise;
+ }
});
-Deno.test(async function workerThrowsWhenExecuting(): Promise<void> {
- const promise = createResolvable();
- const throwingWorker = new Worker("../tests/subdir/throwing_worker.js", {
- type: "module"
- });
-
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- throwingWorker.onerror = (e: any): void => {
- e.preventDefault();
- assert(/Uncaught Error: Thrown error/.test(e.message));
- promise.resolve();
- };
-
- await promise;
+Deno.test({
+ name: "workerThrowsWhenExecuting",
+ // FIXME(bartlomieju):
+ disableOpSanitizer: true,
+ fn: async function(): Promise<void> {
+ const promise = createResolvable();
+ const throwingWorker = new Worker("../tests/subdir/throwing_worker.js", {
+ type: "module"
+ });
+
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ throwingWorker.onerror = (e: any): void => {
+ e.preventDefault();
+ assert(/Uncaught Error: Thrown error/.test(e.message));
+ promise.resolve();
+ };
+
+ await promise;
+ }
});
-Deno.test(async function workerCanUseFetch(): Promise<void> {
- const promise = createResolvable();
-
- const fetchingWorker = new Worker("../tests/subdir/fetching_worker.js", {
- type: "module"
- });
-
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- fetchingWorker.onerror = (e: any): void => {
- e.preventDefault();
- promise.reject(e.message);
- };
-
- // Defer promise.resolve() to allow worker to shut down
- fetchingWorker.onmessage = (e): void => {
- assert(e.data === "Done!");
- promise.resolve();
- };
-
- await promise;
+Deno.test({
+ name: "workerCanUseFetch",
+ // FIXME(bartlomieju):
+ disableOpSanitizer: true,
+ fn: async function(): Promise<void> {
+ const promise = createResolvable();
+
+ const fetchingWorker = new Worker("../tests/subdir/fetching_worker.js", {
+ type: "module"
+ });
+
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ fetchingWorker.onerror = (e: any): void => {
+ e.preventDefault();
+ promise.reject(e.message);
+ };
+
+ // Defer promise.resolve() to allow worker to shut down
+ fetchingWorker.onmessage = (e): void => {
+ assert(e.data === "Done!");
+ promise.resolve();
+ };
+
+ await promise;
+ }
});