diff options
Diffstat (limited to 'std/node/events_test.ts')
| -rw-r--r-- | std/node/events_test.ts | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/std/node/events_test.ts b/std/node/events_test.ts index adeae5b93..a3285f24b 100644 --- a/std/node/events_test.ts +++ b/std/node/events_test.ts @@ -61,6 +61,31 @@ Deno.test({ EventEmitter.defaultMaxListeners = 20; assertEquals(EventEmitter.defaultMaxListeners, 20); EventEmitter.defaultMaxListeners = 10; //reset back to original value + + assertThrows(() => { + new EventEmitter().setMaxListeners(-1); + }); + + const ee = new EventEmitter(); + const noop = (): void => {}; + const origWarn = console.warn; + + for (let i = 10; i--;) { + ee.on("test", noop); + } + + // there are only sync actions until it gets restored, + // so it's safe to overwrite this + console.warn = (): void => fail("Infinity listeners should be allowed"); + + ee.setMaxListeners(Infinity); + ee.on("test", noop); + + // 0 means that unlimited listeners are allowed + ee.setMaxListeners(0); + ee.on("test", noop); + + console.warn = origWarn; }, }); |
