blob: bbcadf9bfd83361b9cf542063c9d075390b62052 (
plain) (
blame)
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
29
|
import EventEmitter, { EventEmitterAsyncResource } from "events";
import { AsyncLocalStorage } from "async_hooks";
import { describe, test, expect } from "bun:test";
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);
});
});
|