summaryrefslogtreecommitdiff
path: root/cli/tests/workers
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/workers')
-rw-r--r--cli/tests/workers/message_port.ts14
-rw-r--r--cli/tests/workers/nonexistent_worker.out2
-rw-r--r--cli/tests/workers/permissions_blob_local.ts.out2
-rw-r--r--cli/tests/workers/permissions_blob_remote.ts.out2
-rw-r--r--cli/tests/workers/permissions_data_local.ts.out2
-rw-r--r--cli/tests/workers/permissions_data_remote.ts.out2
-rw-r--r--cli/tests/workers/permissions_dynamic_remote.ts.out2
-rw-r--r--cli/tests/workers/permissions_remote_remote.ts.out2
-rw-r--r--cli/tests/workers/test.ts53
-rw-r--r--cli/tests/workers/worker_error.ts.out2
-rw-r--r--cli/tests/workers/worker_nested_error.ts.out2
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])