summaryrefslogtreecommitdiff
path: root/tests/unit_node/events_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit_node/events_test.ts')
-rw-r--r--tests/unit_node/events_test.ts27
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;
+});