diff options
Diffstat (limited to 'cli')
-rw-r--r-- | cli/rt/27_websocket.js | 6 | ||||
-rw-r--r-- | cli/tests/unit/event_test.ts | 38 |
2 files changed, 41 insertions, 3 deletions
diff --git a/cli/rt/27_websocket.js b/cli/rt/27_websocket.js index 98d3a21e6..c0790d14d 100644 --- a/cli/rt/27_websocket.js +++ b/cli/rt/27_websocket.js @@ -61,7 +61,7 @@ }).then(() => { this.#readyState = CLOSED; - const errEvent = new Event("error"); + const errEvent = new ErrorEvent("error"); errEvent.target = this; this.onerror?.(errEvent); this.dispatchEvent(errEvent); @@ -84,7 +84,7 @@ } else { this.#readyState = CLOSED; - const errEvent = new Event("error"); + const errEvent = new ErrorEvent("error"); errEvent.target = this; this.onerror?.(errEvent); this.dispatchEvent(errEvent); @@ -289,7 +289,7 @@ } else if (message.type === "error") { this.#readyState = CLOSED; - const errorEv = new Event("error"); + const errorEv = new ErrorEvent("error"); errorEv.target = this; this.onerror?.(errorEv); this.dispatchEvent(errorEv); diff --git a/cli/tests/unit/event_test.ts b/cli/tests/unit/event_test.ts index 5c8766b36..d624a54a5 100644 --- a/cli/tests/unit/event_test.ts +++ b/cli/tests/unit/event_test.ts @@ -92,3 +92,41 @@ unitTest(function eventIsTrusted(): void { assertEquals(desc1!.get, desc2!.get); }); + +unitTest(function eventInspectOutput(): void { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const cases: Array<[any, (event: any) => string]> = [ + [ + new Event("test"), + (event: Event) => + `Event {\n bubbles: false,\n cancelable: false,\n composed: false,\n currentTarget: null,\n defaultPrevented: false,\n eventPhase: 0,\n target: null,\n timeStamp: ${event.timeStamp},\n type: "test"\n}`, + ], + [ + new ErrorEvent("error"), + (event: Event) => + `ErrorEvent {\n bubbles: false,\n cancelable: false,\n composed: false,\n currentTarget: null,\n defaultPrevented: false,\n eventPhase: 0,\n target: null,\n timeStamp: ${event.timeStamp},\n type: "error",\n message: "",\n filename: "",\n lineno: 0,\n colno: 0,\n error: null\n}`, + ], + [ + new CloseEvent("close"), + (event: Event) => + `CloseEvent {\n bubbles: false,\n cancelable: false,\n composed: false,\n currentTarget: null,\n defaultPrevented: false,\n eventPhase: 0,\n target: null,\n timeStamp: ${event.timeStamp},\n type: "close",\n wasClean: false,\n code: 0,\n reason: ""\n}`, + ], + [ + new CustomEvent("custom"), + (event: Event) => + `CustomEvent {\n bubbles: false,\n cancelable: false,\n composed: false,\n currentTarget: null,\n defaultPrevented: false,\n eventPhase: 0,\n target: null,\n timeStamp: ${event.timeStamp},\n type: "custom",\n detail: undefined\n}`, + ], + [ + new ProgressEvent("progress"), + (event: Event) => + `ProgressEvent {\n bubbles: false,\n cancelable: false,\n composed: false,\n currentTarget: null,\n defaultPrevented: false,\n eventPhase: 0,\n target: null,\n timeStamp: ${event.timeStamp},\n type: "progress",\n lengthComputable: false,\n loaded: 0,\n total: 0\n}`, + ], + ]; + + for (const [event, outputProvider] of cases) { + assertEquals( + event[Symbol.for("Deno.customInspect")](), + outputProvider(event), + ); + } +}); |