summaryrefslogtreecommitdiff
path: root/std/node/events_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/node/events_test.ts')
-rw-r--r--std/node/events_test.ts18
1 files changed, 18 insertions, 0 deletions
diff --git a/std/node/events_test.ts b/std/node/events_test.ts
index 20d68baa3..74b4a3978 100644
--- a/std/node/events_test.ts
+++ b/std/node/events_test.ts
@@ -667,3 +667,21 @@ Deno.test({
assertEquals(ee.listenerCount("error"), 0);
},
});
+
+// Event emitter's `on` previously referenced addListener internally, so overriding addListener
+// would cause a deadlock
+// This is a regression test
+Deno.test("Elements that extend EventEmitter listener alias don't end up in a deadlock", () => {
+ class X extends EventEmitter {
+ addListener(eventName: string, listener: () => void) {
+ return super.on(eventName, listener);
+ }
+ }
+
+ const x = new X();
+ try {
+ x.on("x", () => {});
+ } catch (e) {
+ fail();
+ }
+});