diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2020-04-13 22:18:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-13 22:18:31 +0200 |
commit | 2585b72c9bdd5ca36b6b43cf5b5609419081c7a8 (patch) | |
tree | 265f6060e6ac1351f5a68edec625fc5acca02009 /cli/tests/workers_test.ts | |
parent | 8397cd52a5ec915a0b5e85d337cfcc38f4aaa63f (diff) |
feat: implement EventTarget for worker scope (#4737)
Diffstat (limited to 'cli/tests/workers_test.ts')
-rw-r--r-- | cli/tests/workers_test.ts | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/cli/tests/workers_test.ts b/cli/tests/workers_test.ts index bb00d67fd..d18186658 100644 --- a/cli/tests/workers_test.ts +++ b/cli/tests/workers_test.ts @@ -231,3 +231,30 @@ Deno.test({ worker.terminate(); }, }); + +Deno.test({ + name: "worker scope is event listener", + fn: async function (): Promise<void> { + const promise1 = createResolvable(); + + const worker = new Worker("../tests/subdir/event_worker_scope.js", { + type: "module", + }); + + worker.onmessage = (e: MessageEvent): void => { + const { messageHandlersCalled, errorHandlersCalled } = e.data; + assertEquals(messageHandlersCalled, 4); + assertEquals(errorHandlersCalled, 4); + promise1.resolve(); + }; + + worker.onerror = (_e): void => { + throw new Error("unreachable"); + }; + + worker.postMessage("boom"); + worker.postMessage("ping"); + await promise1; + worker.terminate(); + }, +}); |