summaryrefslogtreecommitdiff
path: root/tests/specs/worker/worker_doest_stall_event_loop
diff options
context:
space:
mode:
authorMohammad Sulaiman <mohammad.sulaiman@exalt.ps>2024-09-09 18:07:41 +0300
committerGitHub <noreply@github.com>2024-09-09 11:07:41 -0400
commit582be0adc2b80e532cf92ffbc44c8c8268a51774 (patch)
tree48e5cdb63e524f974b17a3b787559ab0ff42e5c5 /tests/specs/worker/worker_doest_stall_event_loop
parent5126ccb8428c4ccf199d3b30f1cd86ef11009ef7 (diff)
chore: Deprecate worker itests (#25514)
Diffstat (limited to 'tests/specs/worker/worker_doest_stall_event_loop')
-rw-r--r--tests/specs/worker/worker_doest_stall_event_loop/__test__.jsonc5
-rw-r--r--tests/specs/worker/worker_doest_stall_event_loop/worker_doest_stall_event_loop.ts29
-rw-r--r--tests/specs/worker/worker_doest_stall_event_loop/worker_doest_stall_event_loop.ts.out6
3 files changed, 40 insertions, 0 deletions
diff --git a/tests/specs/worker/worker_doest_stall_event_loop/__test__.jsonc b/tests/specs/worker/worker_doest_stall_event_loop/__test__.jsonc
new file mode 100644
index 000000000..a5ccc6cab
--- /dev/null
+++ b/tests/specs/worker/worker_doest_stall_event_loop/__test__.jsonc
@@ -0,0 +1,5 @@
+{
+ "args": "run --quiet -A worker_doest_stall_event_loop.ts",
+ "output": "worker_doest_stall_event_loop.ts.out",
+ "exitCode": 0
+}
diff --git a/tests/specs/worker/worker_doest_stall_event_loop/worker_doest_stall_event_loop.ts b/tests/specs/worker/worker_doest_stall_event_loop/worker_doest_stall_event_loop.ts
new file mode 100644
index 000000000..bfddee2ec
--- /dev/null
+++ b/tests/specs/worker/worker_doest_stall_event_loop/worker_doest_stall_event_loop.ts
@@ -0,0 +1,29 @@
+const moduleCode = `
+console.log('module start');
+const hash = await crypto.subtle.digest('SHA-1', new TextEncoder().encode('data'));
+const __default = {};
+export { __default as default };
+console.log('module finish');
+`;
+
+const workerCode = `
+ console.log('worker!');
+
+ globalThis.onmessage = (msg) => {
+ const { moduleCode } = msg.data;
+ (async () => {
+ console.log('before import');
+ await import(URL.createObjectURL(new Blob([ moduleCode ])));
+ console.log('after import');
+ self.postMessage('thanks');
+ })();
+ }
+`;
+const worker = new Worker(URL.createObjectURL(new Blob([workerCode])), {
+ type: "module",
+});
+worker.onmessage = () => {
+ console.log("worker.terminate");
+ worker.terminate();
+};
+worker.postMessage({ moduleCode });
diff --git a/tests/specs/worker/worker_doest_stall_event_loop/worker_doest_stall_event_loop.ts.out b/tests/specs/worker/worker_doest_stall_event_loop/worker_doest_stall_event_loop.ts.out
new file mode 100644
index 000000000..5ed65b02f
--- /dev/null
+++ b/tests/specs/worker/worker_doest_stall_event_loop/worker_doest_stall_event_loop.ts.out
@@ -0,0 +1,6 @@
+worker!
+before import
+module start
+module finish
+after import
+worker.terminate