Page MenuHomePhorge

test_node_events_once_eventtarget_abort.cjs
No OneTemporary

Size
871 B
Referenced Files
None
Subscribers
None

test_node_events_once_eventtarget_abort.cjs

const assert = require('node:assert');
const events = require('node:events');
globalThis.onunhandledrejection = () => {};
class ObservedEventTarget extends EventTarget {
constructor() {
super();
this.removedReady = false;
}
removeEventListener(type, listener, options) {
if (type === 'ready' && typeof listener === 'function') {
this.removedReady = true;
}
return super.removeEventListener(type, listener, options);
}
}
(async () => {
const target = new ObservedEventTarget();
const controller = new AbortController();
const promise = events.once(target, 'ready', { signal: controller.signal });
controller.abort();
await assert.rejects(promise);
assert.strictEqual(target.removedReady, true);
console.log('node-events-once-eventtarget-abort:ok');
})().catch((err) => {
setTimeout(() => {
throw err;
});
});

File Metadata

Mime Type
application/javascript
Expires
Sun, May 17, 5:46 AM (1 d, 22 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
554554
Default Alt Text
test_node_events_once_eventtarget_abort.cjs (871 B)

Event Timeline