summaryrefslogtreecommitdiff
path: root/cli/tests/testdata/worker_message_before_close.js
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/testdata/worker_message_before_close.js')
-rw-r--r--cli/tests/testdata/worker_message_before_close.js23
1 files changed, 18 insertions, 5 deletions
diff --git a/cli/tests/testdata/worker_message_before_close.js b/cli/tests/testdata/worker_message_before_close.js
index 6a9149af1..8ad35b3fc 100644
--- a/cli/tests/testdata/worker_message_before_close.js
+++ b/cli/tests/testdata/worker_message_before_close.js
@@ -1,16 +1,29 @@
+let messagesReceived = 0;
+
for (let i = 0; i < 4; i++) {
const worker = new Worker(
new URL("./workers/message_before_close.js", import.meta.url).href,
{ type: "module", name: String(i) },
);
- worker.addEventListener("message", (message) => {
- // Only print responses after all reception logs.
- setTimeout(() => {
- console.log("response from worker %d received", message.data);
- }, 500);
+ worker.addEventListener("message", () => {
+ messagesReceived += 1;
+
+ if (messagesReceived == 4) {
+ console.log("received all 4 responses from the workers");
+ }
});
+
worker.postMessage(i);
}
+globalThis.addEventListener("unload", () => {
+ if (messagesReceived !== 4) {
+ console.log(
+ "received only %d responses from the workers",
+ messagesReceived,
+ );
+ }
+});
+
export {};