summaryrefslogtreecommitdiff
path: root/cli/tests/unit_node/events_test.ts
blob: e341a17cb0b3ca0c55adfa4fd0f7830226871a4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.

import { deferred } from "../../../test_util/std/async/deferred.ts";
import { EventEmitter } from "node:events";

EventEmitter.captureRejections = true;

Deno.test("regression #20441", async () => {
  const promise = deferred();

  const ee = new EventEmitter();

  ee.on("foo", function () {
    const p = new Promise((_resolve, reject) => {
      setTimeout(() => {
        reject();
      }, 100);
    });
    return p;
  });

  ee.on("error", function (_) {
    promise.resolve();
  });

  ee.emit("foo");
  await promise;
});