Skip to content

Commit 86e55de

Browse files
committed
events: add event-target tests
1 parent e0586d0 commit 86e55de

File tree

1 file changed

+31
-1
lines changed

1 file changed

+31
-1
lines changed

test/parallel/test-eventtarget.js

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ const {
1515
throws,
1616
} = require('assert');
1717

18-
const { once } = require('events');
18+
const { once, on } = require('events');
1919

2020
// The globals are defined.
2121
ok(Event);
@@ -439,3 +439,33 @@ ok(EventTarget);
439439
const event = new Event('');
440440
strictEqual(event.toString(), '[object Event]');
441441
}
442+
{
443+
const target = new EventTarget();
444+
const ev = new Event('toString');
445+
const fn = common.mustCall((event) => strictEqual(event.type, 'toString'));
446+
target.addEventListener('toString', fn);
447+
target.dispatchEvent(ev);
448+
}
449+
{
450+
const target = new EventTarget();
451+
const ev = new Event('__proto__');
452+
const fn = common.mustCall((event) => strictEqual(event.type, '__proto__'));
453+
target.addEventListener('__proto__', fn);
454+
target.dispatchEvent(ev);
455+
}
456+
457+
(async () => {
458+
// test NodeEventTarget async-iterability
459+
const emitter = new NodeEventTarget();
460+
const event = new Event('foo');
461+
const interval = setInterval(() => emitter.dispatchEvent(event));
462+
let count = 0;
463+
for await(const [ item ] of on(emitter, 'foo')) {
464+
count++;
465+
strictEqual(item.type, 'foo');
466+
if (count > 5) {
467+
break;
468+
}
469+
}
470+
clearInterval(interval);
471+
})().then(common.mustCall());

0 commit comments

Comments
 (0)