Skip to content

Commit f3d0d30

Browse files
benjamingrcodebytere
authored andcommitted
events: add tests, better toString
PR-URL: #33622 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
1 parent d194d20 commit f3d0d30

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

lib/internal/event_target.js

+1
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,7 @@ class EventTarget {
282282

283283
return `${name} ${inspect({}, opts)}`;
284284
}
285+
get [Symbol.toStringTag]() { return 'EventTarget'; }
285286
}
286287

287288
Object.defineProperties(EventTarget.prototype, {

test/parallel/test-eventtarget.js

+16-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,15 @@ ok(EventTarget);
7575
eventTarget.removeEventListener('foo', ev1);
7676
eventTarget.dispatchEvent(new Event('foo'));
7777
}
78-
78+
{
79+
// event subclassing
80+
const SubEvent = class extends Event {};
81+
const ev = new SubEvent('foo');
82+
const eventTarget = new EventTarget();
83+
const fn = common.mustCall((event) => strictEqual(event, ev));
84+
eventTarget.addEventListener('foo', fn, { once: true });
85+
eventTarget.dispatchEvent(ev);
86+
}
7987
{
8088
const eventTarget = new NodeEventTarget();
8189
strictEqual(eventTarget.listenerCount('foo'), 0);
@@ -384,3 +392,10 @@ ok(EventTarget);
384392
target.removeEventListener('foo', a, { capture: false });
385393
target.dispatchEvent(new Event('foo'));
386394
}
395+
396+
{
397+
const target = new EventTarget();
398+
strictEqual(target.toString(), '[object EventTarget]');
399+
const event = new Event();
400+
strictEqual(event.toString(), '[object Event]');
401+
}

0 commit comments

Comments
 (0)