Files
bun.sh/test/regression/issue/014187.test.ts
2024-10-28 18:11:03 -07:00

25 lines
574 B
TypeScript

import { test, expect } from "bun:test";
import { on, EventEmitter } from "events";
test("issue-14187", async () => {
const ac = new AbortController();
const ee = new EventEmitter();
async function* gen() {
for await (const item of on(ee, "beep", { signal: ac.signal })) {
yield item;
}
}
const iterator = gen();
iterator.next().catch(() => {});
expect(ee.listenerCount("beep")).toBe(1);
expect(ee.listenerCount("error")).toBe(1);
ac.abort();
expect(ee.listenerCount("beep")).toBe(0);
expect(ee.listenerCount("error")).toBe(0);
});