From 86e55de09e45d16fbf26a54a432896baa890cb0e Mon Sep 17 00:00:00 2001 From: Benjamin Gruenbaum Date: Thu, 28 May 2020 21:46:18 +0300 Subject: [PATCH 1/2] events: add event-target tests --- test/parallel/test-eventtarget.js | 32 ++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/test/parallel/test-eventtarget.js b/test/parallel/test-eventtarget.js index 3e652e1e3396b4..f1994eb95fdc7e 100644 --- a/test/parallel/test-eventtarget.js +++ b/test/parallel/test-eventtarget.js @@ -15,7 +15,7 @@ const { throws, } = require('assert'); -const { once } = require('events'); +const { once, on } = require('events'); // The globals are defined. ok(Event); @@ -439,3 +439,33 @@ ok(EventTarget); const event = new Event(''); strictEqual(event.toString(), '[object Event]'); } +{ + const target = new EventTarget(); + const ev = new Event('toString'); + const fn = common.mustCall((event) => strictEqual(event.type, 'toString')); + target.addEventListener('toString', fn); + target.dispatchEvent(ev); +} +{ + const target = new EventTarget(); + const ev = new Event('__proto__'); + const fn = common.mustCall((event) => strictEqual(event.type, '__proto__')); + target.addEventListener('__proto__', fn); + target.dispatchEvent(ev); +} + +(async () => { + // test NodeEventTarget async-iterability + const emitter = new NodeEventTarget(); + const event = new Event('foo'); + const interval = setInterval(() => emitter.dispatchEvent(event)); + let count = 0; + for await(const [ item ] of on(emitter, 'foo')) { + count++; + strictEqual(item.type, 'foo'); + if (count > 5) { + break; + } + } + clearInterval(interval); +})().then(common.mustCall()); From d36ab1fd70a307dcfb9d07985f56fa10336c7667 Mon Sep 17 00:00:00 2001 From: Benjamin Gruenbaum Date: Sat, 30 May 2020 15:02:54 +0300 Subject: [PATCH 2/2] fixup! rebase messed up the lint --- test/parallel/test-eventtarget.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/parallel/test-eventtarget.js b/test/parallel/test-eventtarget.js index f1994eb95fdc7e..8f5d9e8b5a0393 100644 --- a/test/parallel/test-eventtarget.js +++ b/test/parallel/test-eventtarget.js @@ -458,9 +458,9 @@ ok(EventTarget); // test NodeEventTarget async-iterability const emitter = new NodeEventTarget(); const event = new Event('foo'); - const interval = setInterval(() => emitter.dispatchEvent(event)); + const interval = setInterval(() => emitter.dispatchEvent(event), 0); let count = 0; - for await(const [ item ] of on(emitter, 'foo')) { + for await (const [ item ] of on(emitter, 'foo')) { count++; strictEqual(item.type, 'foo'); if (count > 5) {