summaryrefslogtreecommitdiff
path: root/cli/tests
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests')
-rw-r--r--cli/tests/integration_tests.rs5
-rw-r--r--cli/tests/subdir/test_worker_basic.js17
-rw-r--r--cli/tests/workers_basic.out3
-rw-r--r--cli/tests/workers_basic.ts11
4 files changed, 36 insertions, 0 deletions
diff --git a/cli/tests/integration_tests.rs b/cli/tests/integration_tests.rs
index 08fccd735..9555f93c0 100644
--- a/cli/tests/integration_tests.rs
+++ b/cli/tests/integration_tests.rs
@@ -401,6 +401,11 @@ itest!(_026_workers {
});
*/
+itest!(workers_basic {
+ args: "run --reload workers_basic.ts",
+ output: "workers_basic.out",
+});
+
itest!(_027_redirect_typescript {
args: "run --reload 027_redirect_typescript.ts",
output: "027_redirect_typescript.ts.out",
diff --git a/cli/tests/subdir/test_worker_basic.js b/cli/tests/subdir/test_worker_basic.js
new file mode 100644
index 000000000..db00b6d0c
--- /dev/null
+++ b/cli/tests/subdir/test_worker_basic.js
@@ -0,0 +1,17 @@
+console.log("hello from test_worker_basic.js");
+
+// TODO(bartlomieju): add test for throwing in web worker
+if (self.name !== "jsWorker") {
+ throw Error(`Bad worker name: ${self.name}, expected jsWorker`);
+}
+
+onmessage = function(e) {
+ console.log("jsWorker onmessage", e.data);
+ postMessage(e.data);
+ close();
+};
+
+onerror = function() {
+ console.log("called onerror in worker");
+ return false;
+};
diff --git a/cli/tests/workers_basic.out b/cli/tests/workers_basic.out
new file mode 100644
index 000000000..15c573530
--- /dev/null
+++ b/cli/tests/workers_basic.out
@@ -0,0 +1,3 @@
+hello from test_worker_basic.js
+jsWorker onmessage msg1
+main recv: msg1
diff --git a/cli/tests/workers_basic.ts b/cli/tests/workers_basic.ts
new file mode 100644
index 000000000..64bd58fcc
--- /dev/null
+++ b/cli/tests/workers_basic.ts
@@ -0,0 +1,11 @@
+// Tests basic postMessage, close, onmessage
+const jsWorker = new Worker("./subdir/test_worker_basic.js", {
+ type: "module",
+ name: "jsWorker"
+});
+
+jsWorker.onmessage = (e): void => {
+ console.log("main recv: " + e.data);
+};
+
+jsWorker.postMessage("msg1");