| // 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', |
| }); |
| }); |