From 02d0ff58d2bab24ebbd1e61afe6b571ff4c415af Mon Sep 17 00:00:00 2001 From: Satya Rohith Date: Fri, 3 May 2024 11:22:47 +0530 Subject: refactor(tests): move worker_threads itests to spec tests (#23648) --- .../node/worker_threads/message_port_unref.mjs | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 tests/specs/node/worker_threads/message_port_unref.mjs (limited to 'tests/specs/node/worker_threads/message_port_unref.mjs') diff --git a/tests/specs/node/worker_threads/message_port_unref.mjs b/tests/specs/node/worker_threads/message_port_unref.mjs new file mode 100644 index 000000000..a12be1ec8 --- /dev/null +++ b/tests/specs/node/worker_threads/message_port_unref.mjs @@ -0,0 +1,40 @@ +import { + isMainThread, + MessageChannel, + parentPort, + Worker, + workerData, +} from "node:worker_threads"; + +const useParentPort = Deno.env.get("PARENT_PORT") === "1"; + +if (useParentPort) { + if (isMainThread) { + const worker = new Worker(import.meta.filename); + worker.postMessage("main says hi!"); + worker.on("message", (msg) => console.log(msg)); + } else { + parentPort.on("message", (msg) => { + console.log(msg); + parentPort.postMessage("worker says hi!"); + parentPort.unref(); + }); + } +} else { + if (isMainThread) { + const { port1, port2 } = new MessageChannel(); + const worker = new Worker(import.meta.filename, { + workerData: port2, + transferList: [port2], + }); + port1.postMessage("main says hi!"); + port1.on("message", (msg) => console.log(msg)); + } else { + const port = workerData; + port.on("message", (msg) => { + console.log(msg); + port.postMessage("worker says hi!"); + port.unref(); + }); + } +} -- cgit v1.2.3