summaryrefslogtreecommitdiff
path: root/tests/specs/run/worker_message_before_close
diff options
context:
space:
mode:
authorMohammad Sulaiman <mohammad.sulaiman@exalt.ps>2024-11-05 08:39:05 +0200
committerGitHub <noreply@github.com>2024-11-05 06:39:05 +0000
commit89f0b796bd442ff352c3f93f69156ca6d85bfd5e (patch)
tree3ac2a58c6d85f6af57eb2c6b07b1f2d0e8687b3a /tests/specs/run/worker_message_before_close
parentf9a05068d6de247574fb764044a446d1d7ed2e9b (diff)
chore: deprecate run itests (#26444)
Diffstat (limited to 'tests/specs/run/worker_message_before_close')
-rw-r--r--tests/specs/run/worker_message_before_close/__test__.jsonc4
-rw-r--r--tests/specs/run/worker_message_before_close/message_before_close.js4
-rw-r--r--tests/specs/run/worker_message_before_close/worker_message_before_close.js26
-rw-r--r--tests/specs/run/worker_message_before_close/worker_message_before_close.js.out1
4 files changed, 35 insertions, 0 deletions
diff --git a/tests/specs/run/worker_message_before_close/__test__.jsonc b/tests/specs/run/worker_message_before_close/__test__.jsonc
new file mode 100644
index 000000000..ae2d65b91
--- /dev/null
+++ b/tests/specs/run/worker_message_before_close/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "run --quiet --reload --allow-read worker_message_before_close.js",
+ "output": "worker_message_before_close.js.out"
+}
diff --git a/tests/specs/run/worker_message_before_close/message_before_close.js b/tests/specs/run/worker_message_before_close/message_before_close.js
new file mode 100644
index 000000000..9364b6d82
--- /dev/null
+++ b/tests/specs/run/worker_message_before_close/message_before_close.js
@@ -0,0 +1,4 @@
+onmessage = () => {
+ postMessage({});
+ close();
+};
diff --git a/tests/specs/run/worker_message_before_close/worker_message_before_close.js b/tests/specs/run/worker_message_before_close/worker_message_before_close.js
new file mode 100644
index 000000000..d613bd1ca
--- /dev/null
+++ b/tests/specs/run/worker_message_before_close/worker_message_before_close.js
@@ -0,0 +1,26 @@
+const messagesReceived = new Set();
+
+for (let i = 0; i < 4; i++) {
+ const worker = new Worker(
+ import.meta.resolve("./message_before_close.js"),
+ { type: "module", name: String(i) },
+ );
+
+ worker.addEventListener("message", () => {
+ messagesReceived.add(i);
+ if (messagesReceived.size == 4) {
+ console.log("received all 4 responses from the workers");
+ }
+ });
+
+ worker.postMessage({});
+}
+
+globalThis.addEventListener("unload", () => {
+ if (messagesReceived.size !== 4) {
+ console.log(
+ "received only %d responses from the workers",
+ messagesReceived.size,
+ );
+ }
+});
diff --git a/tests/specs/run/worker_message_before_close/worker_message_before_close.js.out b/tests/specs/run/worker_message_before_close/worker_message_before_close.js.out
new file mode 100644
index 000000000..f91b7b4cb
--- /dev/null
+++ b/tests/specs/run/worker_message_before_close/worker_message_before_close.js.out
@@ -0,0 +1 @@
+received all 4 responses from the workers