Files
bun.sh/test/js/node/async_hooks/EventEmitterAsyncResource.test.ts
2024-09-03 21:32:52 -07:00

30 lines
759 B
TypeScript

import { AsyncLocalStorage } from "async_hooks";
import { describe, expect, test } from "bun:test";
import EventEmitter, { EventEmitterAsyncResource } from "events";
describe("EventEmitterAsyncResource", () => {
test("is an EventEmitter", () => {
const ee = new EventEmitterAsyncResource("test");
expect(ee).toBeInstanceOf(EventEmitterAsyncResource);
expect(ee).toBeInstanceOf(EventEmitter);
});
test("has context tracking", () => {
let ee;
const asl = new AsyncLocalStorage();
asl.run(123, () => {
ee = new EventEmitterAsyncResource("test");
});
let val;
ee.on("test", () => {
val = asl.getStore();
});
asl.run(456, () => {
ee.emit("test");
});
expect(val).toBe(123);
});
});