From 94b68f90697954292f4355cf91e7f75868d8d664 Mon Sep 17 00:00:00 2001 From: Benjamin Gruenbaum Date: Tue, 10 Nov 2020 05:34:42 +0200 Subject: fix(cli/rt): dom handler order in websocket (#8320) --- cli/tests/websocket_test.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'cli/tests') diff --git a/cli/tests/websocket_test.ts b/cli/tests/websocket_test.ts index 93fddf446..0a91ac308 100644 --- a/cli/tests/websocket_test.ts +++ b/cli/tests/websocket_test.ts @@ -273,3 +273,23 @@ Deno.test("echo arraybuffer with binaryType arraybuffer", async () => { }; await promise; }); + +Deno.test("Event Handlers order", async () => { + const promise = createResolvable(); + const ws = new WebSocket("ws://localhost:4242"); + const arr: number[] = []; + ws.onerror = (): void => fail(); + ws.addEventListener("message", () => arr.push(1)); + ws.onmessage = () => fail(); + ws.addEventListener("message", () => { + arr.push(3); + ws.close(); + assertEquals(arr, [1, 2, 3]); + }); + ws.onmessage = () => arr.push(2); + ws.onopen = (): void => ws.send("Echo"); + ws.onclose = (): void => { + promise.resolve(); + }; + await promise; +}); -- cgit v1.2.3