mirror of
https://github.com/oven-sh/bun
synced 2026-02-09 18:38:55 +00:00
* work to get async local storage working. * a * a * everything but queueMicrotask * sdfghj * . * finish * tests * test * ok * done * im so stupid * Upgrade WebKit * refactor * refactor * changes requested * oops * cool * fix runInAsyncScope
30 lines
759 B
TypeScript
30 lines
759 B
TypeScript
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);
|
|
});
|
|
});
|