diff options
Diffstat (limited to 'cli/tests/workers')
-rw-r--r-- | cli/tests/workers/message_port.ts | 14 | ||||
-rw-r--r-- | cli/tests/workers/nonexistent_worker.out | 2 | ||||
-rw-r--r-- | cli/tests/workers/permissions_blob_local.ts.out | 2 | ||||
-rw-r--r-- | cli/tests/workers/permissions_blob_remote.ts.out | 2 | ||||
-rw-r--r-- | cli/tests/workers/permissions_data_local.ts.out | 2 | ||||
-rw-r--r-- | cli/tests/workers/permissions_data_remote.ts.out | 2 | ||||
-rw-r--r-- | cli/tests/workers/permissions_dynamic_remote.ts.out | 2 | ||||
-rw-r--r-- | cli/tests/workers/permissions_remote_remote.ts.out | 2 | ||||
-rw-r--r-- | cli/tests/workers/test.ts | 53 | ||||
-rw-r--r-- | cli/tests/workers/worker_error.ts.out | 2 | ||||
-rw-r--r-- | cli/tests/workers/worker_nested_error.ts.out | 2 |
11 files changed, 76 insertions, 9 deletions
diff --git a/cli/tests/workers/message_port.ts b/cli/tests/workers/message_port.ts new file mode 100644 index 000000000..d78304a39 --- /dev/null +++ b/cli/tests/workers/message_port.ts @@ -0,0 +1,14 @@ +const channel = new MessageChannel(); + +channel.port2.onmessage = (e) => { + channel.port2.postMessage(e.data === "2"); + channel.port2.close(); +}; + +self.postMessage("1", [channel.port1]); + +self.onmessage = (e) => { + const port1 = e.ports[0]; + port1.postMessage(e.data === "3"); + port1.close(); +}; diff --git a/cli/tests/workers/nonexistent_worker.out b/cli/tests/workers/nonexistent_worker.out index e43b81c5f..04b9f801d 100644 --- a/cli/tests/workers/nonexistent_worker.out +++ b/cli/tests/workers/nonexistent_worker.out @@ -1,3 +1,3 @@ [WILDCARD]error: Uncaught (in worker "") Cannot resolve module "file:///[WILDCARD]cli/tests/workers/doesnt_exist.js". error: Uncaught (in promise) Error: Unhandled error event reached main worker. - at Worker.#poll ([WILDCARD]) + at Worker.#pollControl ([WILDCARD]) diff --git a/cli/tests/workers/permissions_blob_local.ts.out b/cli/tests/workers/permissions_blob_local.ts.out index a6a34e3a2..0835777ec 100644 --- a/cli/tests/workers/permissions_blob_local.ts.out +++ b/cli/tests/workers/permissions_blob_local.ts.out @@ -1,4 +1,4 @@ error: Uncaught (in worker "") Requires read access to "[WILDCARD]local_file.ts", run again with the --allow-read flag at blob:null/[WILDCARD]:1:0 error: Uncaught (in promise) Error: Unhandled error event reached main worker. - at Worker.#poll (deno:runtime/js/11_workers.js:243:23) + at Worker.#pollControl ([WILDCARD]) diff --git a/cli/tests/workers/permissions_blob_remote.ts.out b/cli/tests/workers/permissions_blob_remote.ts.out index 8bd277361..2d01458ca 100644 --- a/cli/tests/workers/permissions_blob_remote.ts.out +++ b/cli/tests/workers/permissions_blob_remote.ts.out @@ -1,4 +1,4 @@ error: Uncaught (in worker "") Requires net access to "example.com", run again with the --allow-net flag at blob:null/[WILDCARD]:1:0 error: Uncaught (in promise) Error: Unhandled error event reached main worker. - at Worker.#poll (deno:runtime/js/11_workers.js:243:23) + at Worker.#pollControl ([WILDCARD]) diff --git a/cli/tests/workers/permissions_data_local.ts.out b/cli/tests/workers/permissions_data_local.ts.out index 302ab99c8..2a6be2b57 100644 --- a/cli/tests/workers/permissions_data_local.ts.out +++ b/cli/tests/workers/permissions_data_local.ts.out @@ -1,4 +1,4 @@ error: Uncaught (in worker "") Requires read access to "[WILDCARD]local_file.ts", run again with the --allow-read flag at data:application/javascript;base64,[WILDCARD]:1:0 error: Uncaught (in promise) Error: Unhandled error event reached main worker. - at Worker.#poll (deno:runtime/js/11_workers.js:243:23) + at Worker.#pollControl ([WILDCARD]) diff --git a/cli/tests/workers/permissions_data_remote.ts.out b/cli/tests/workers/permissions_data_remote.ts.out index 9b0ae44cc..90677892a 100644 --- a/cli/tests/workers/permissions_data_remote.ts.out +++ b/cli/tests/workers/permissions_data_remote.ts.out @@ -1,4 +1,4 @@ error: Uncaught (in worker "") Requires net access to "example.com", run again with the --allow-net flag at data:application/javascript;base64,aW1wb3J0ICJodHRwczovL2V4YW1wbGUuY29tL3NvbWUvZmlsZS50cyI7:1:0 error: Uncaught (in promise) Error: Unhandled error event reached main worker. - at Worker.#poll (deno:runtime/js/11_workers.js:243:23) + at Worker.#pollControl ([WILDCARD]) diff --git a/cli/tests/workers/permissions_dynamic_remote.ts.out b/cli/tests/workers/permissions_dynamic_remote.ts.out index e2c671c34..e68c96df1 100644 --- a/cli/tests/workers/permissions_dynamic_remote.ts.out +++ b/cli/tests/workers/permissions_dynamic_remote.ts.out @@ -3,4 +3,4 @@ await import("https://example.com/some/file.ts"); ^ at async http://localhost:4545/cli/tests/workers/dynamic_remote.ts:2:1 [WILDCARD]error: Uncaught (in promise) Error: Unhandled error event reached main worker. - at Worker.#poll (deno:runtime/js/11_workers.js:243:23) + at Worker.#pollControl ([WILDCARD]) diff --git a/cli/tests/workers/permissions_remote_remote.ts.out b/cli/tests/workers/permissions_remote_remote.ts.out index 8b8820c7d..5656b75a1 100644 --- a/cli/tests/workers/permissions_remote_remote.ts.out +++ b/cli/tests/workers/permissions_remote_remote.ts.out @@ -1,4 +1,4 @@ error: Uncaught (in worker "") Requires net access to "example.com", run again with the --allow-net flag at http://localhost:4545/cli/tests/workers/static_remote.ts:2:0 error: Uncaught (in promise) Error: Unhandled error event reached main worker. - at Worker.#poll (deno:runtime/js/11_workers.js:243:23) + at Worker.#pollControl ([WILDCARD]) diff --git a/cli/tests/workers/test.ts b/cli/tests/workers/test.ts index 6a572b92f..b37b7aeb1 100644 --- a/cli/tests/workers/test.ts +++ b/cli/tests/workers/test.ts @@ -769,3 +769,56 @@ Deno.test({ worker.terminate(); }, }); + +Deno.test({ + name: "worker with relative specifier", + fn: async function (): Promise<void> { + assertEquals(location.href, "http://127.0.0.1:4545/cli/tests/"); + const promise = deferred(); + const w = new Worker( + "./workers/test_worker.ts", + { type: "module", name: "tsWorker" }, + ); + w.onmessage = (e): void => { + assertEquals(e.data, "Hello, world!"); + promise.resolve(); + }; + w.postMessage("Hello, world!"); + await promise; + w.terminate(); + }, +}); + +Deno.test({ + name: "Send MessagePorts from / to workers", + fn: async function (): Promise<void> { + const result = deferred(); + const worker = new Worker( + new URL("message_port.ts", import.meta.url).href, + { type: "module" }, + ); + + const channel = new MessageChannel(); + + worker.onmessage = (e) => { + assertEquals(e.data, "1"); + assertEquals(e.ports.length, 1); + const port1 = e.ports[0]; + port1.onmessage = (e) => { + assertEquals(e.data, true); + port1.close(); + worker.postMessage("3", [channel.port1]); + }; + port1.postMessage("2"); + }; + + channel.port2.onmessage = (e) => { + assertEquals(e.data, true); + channel.port2.close(); + result.resolve(); + }; + + await result; + worker.terminate(); + }, +}); diff --git a/cli/tests/workers/worker_error.ts.out b/cli/tests/workers/worker_error.ts.out index 244e56417..4a8e92f00 100644 --- a/cli/tests/workers/worker_error.ts.out +++ b/cli/tests/workers/worker_error.ts.out @@ -2,4 +2,4 @@ at foo ([WILDCARD]) at [WILDCARD] error: Uncaught (in promise) Error: Unhandled error event reached main worker. - at Worker.#poll ([WILDCARD]) + at Worker.#pollControl ([WILDCARD]) diff --git a/cli/tests/workers/worker_nested_error.ts.out b/cli/tests/workers/worker_nested_error.ts.out index 244e56417..4a8e92f00 100644 --- a/cli/tests/workers/worker_nested_error.ts.out +++ b/cli/tests/workers/worker_nested_error.ts.out @@ -2,4 +2,4 @@ at foo ([WILDCARD]) at [WILDCARD] error: Uncaught (in promise) Error: Unhandled error event reached main worker. - at Worker.#poll ([WILDCARD]) + at Worker.#pollControl ([WILDCARD]) |