diff options
Diffstat (limited to 'cli/tests/workers_test.ts')
-rw-r--r-- | cli/tests/workers_test.ts | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/cli/tests/workers_test.ts b/cli/tests/workers_test.ts index 31dc72deb..7cff6848b 100644 --- a/cli/tests/workers_test.ts +++ b/cli/tests/workers_test.ts @@ -334,3 +334,27 @@ Deno.test({ w.terminate(); }, }); + +Deno.test({ + name: "Worker event handler order", + fn: async function (): Promise<void> { + const promise = createResolvable(); + const w = new Worker( + new URL("subdir/test_worker.ts", import.meta.url).href, + { type: "module", name: "tsWorker" }, + ); + const arr: number[] = []; + w.addEventListener("message", () => arr.push(1)); + w.onmessage = (e): void => { + arr.push(2); + }; + w.addEventListener("message", () => arr.push(3)); + w.addEventListener("message", () => { + assertEquals(arr, [1, 2, 3]); + promise.resolve(); + }); + w.postMessage("Hello World"); + await promise; + w.terminate(); + }, +}); |