diff options
Diffstat (limited to 'tests/unit_node/events_test.ts')
-rw-r--r-- | tests/unit_node/events_test.ts | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/unit_node/events_test.ts b/tests/unit_node/events_test.ts new file mode 100644 index 000000000..13abf5f79 --- /dev/null +++ b/tests/unit_node/events_test.ts @@ -0,0 +1,27 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. + +import { EventEmitter } from "node:events"; + +EventEmitter.captureRejections = true; + +Deno.test("regression #20441", async () => { + const { promise, resolve } = Promise.withResolvers<void>(); + + const ee = new EventEmitter(); + + ee.on("foo", function () { + const p = new Promise((_resolve, reject) => { + setTimeout(() => { + reject(); + }, 100); + }); + return p; + }); + + ee.on("error", function (_) { + resolve(); + }); + + ee.emit("foo"); + await promise; +}); |