mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 21:19:50 +01:00
cbbd91d804
This implements the Web API `CustomEvent` in `internal/event_target`. Signed-off-by: Daeyeon Jeong daeyeon.dev@gmail.com PR-URL: https://github.com/nodejs/node/pull/43514 Refs: https://github.com/nodejs/node/issues/40678 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
98 lines
1.8 KiB
JavaScript
98 lines
1.8 KiB
JavaScript
// Flags: --expose-internals
|
|
'use strict';
|
|
|
|
require('../common');
|
|
const assert = require('assert');
|
|
|
|
const {
|
|
Event,
|
|
CustomEvent,
|
|
EventTarget,
|
|
NodeEventTarget,
|
|
} = require('internal/event_target');
|
|
|
|
[
|
|
'target',
|
|
'currentTarget',
|
|
'srcElement',
|
|
'type',
|
|
'cancelable',
|
|
'defaultPrevented',
|
|
'timeStamp',
|
|
'returnValue',
|
|
'bubbles',
|
|
'composed',
|
|
'eventPhase',
|
|
].forEach((i) => {
|
|
assert.throws(() => Reflect.get(Event.prototype, i, {}), {
|
|
code: 'ERR_INVALID_THIS',
|
|
});
|
|
});
|
|
|
|
[
|
|
'stopImmediatePropagation',
|
|
'preventDefault',
|
|
'composedPath',
|
|
'cancelBubble',
|
|
'stopPropagation',
|
|
].forEach((i) => {
|
|
assert.throws(() => Reflect.apply(Event.prototype[i], [], {}), {
|
|
code: 'ERR_INVALID_THIS',
|
|
});
|
|
});
|
|
|
|
[
|
|
'target',
|
|
'currentTarget',
|
|
'srcElement',
|
|
'type',
|
|
'cancelable',
|
|
'defaultPrevented',
|
|
'timeStamp',
|
|
'returnValue',
|
|
'bubbles',
|
|
'composed',
|
|
'eventPhase',
|
|
'detail',
|
|
].forEach((i) => {
|
|
assert.throws(() => Reflect.get(CustomEvent.prototype, i, {}), {
|
|
code: 'ERR_INVALID_THIS',
|
|
});
|
|
});
|
|
|
|
[
|
|
'stopImmediatePropagation',
|
|
'preventDefault',
|
|
'composedPath',
|
|
'cancelBubble',
|
|
'stopPropagation',
|
|
].forEach((i) => {
|
|
assert.throws(() => Reflect.apply(CustomEvent.prototype[i], [], {}), {
|
|
code: 'ERR_INVALID_THIS',
|
|
});
|
|
});
|
|
|
|
['addEventListener', 'removeEventListener', 'dispatchEvent'].forEach((i) => {
|
|
assert.throws(() => Reflect.apply(EventTarget.prototype[i], [], {}), {
|
|
code: 'ERR_INVALID_THIS',
|
|
});
|
|
});
|
|
|
|
[
|
|
'setMaxListeners',
|
|
'getMaxListeners',
|
|
'eventNames',
|
|
'listenerCount',
|
|
'off',
|
|
'removeListener',
|
|
'on',
|
|
'addListener',
|
|
'once',
|
|
'emit',
|
|
'removeAllListeners',
|
|
].forEach((i) => {
|
|
assert.throws(() => Reflect.apply(NodeEventTarget.prototype[i], [], {}), {
|
|
code: 'ERR_INVALID_THIS',
|
|
});
|
|
});
|