| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -71,10 +71,10 @@ const isTrusted = ObjectGetOwnPropertyDescriptor({ | |||
| 71 | 71 | }, 'isTrusted').get; | |
| 72 | 72 | ||
| 73 | 73 | class Event { | |
| 74 | - constructor(type, options) { | ||
| 74 | + constructor(type, options = null) { | ||
| 75 | 75 | if (arguments.length === 0) | |
| 76 | 76 | throw new ERR_MISSING_ARGS('type'); | |
| 77 | - if (options != null) | ||
| 77 | + if (options !== null) | ||
| 78 | 78 | validateObject(options, 'options'); | |
| 79 | 79 | const { cancelable, bubbles, composed } = { ...options }; | |
| 80 | 80 | this[kCancelable] = !!cancelable; | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -414,6 +414,7 @@ let asyncTest = Promise.resolve(); | |||
| 414 | 414 | } | |
| 415 | 415 | ||
| 416 | 416 | { | |
| 417 | + // Event Statics | ||
| 417 | 418 | strictEqual(Event.NONE, 0); | |
| 418 | 419 | strictEqual(Event.CAPTURING_PHASE, 1); | |
| 419 | 420 | strictEqual(Event.AT_TARGET, 2); | |
@@ -424,6 +425,8 @@ let asyncTest = Promise.resolve(); | |||
| 424 | 425 | strictEqual(e.eventPhase, Event.AT_TARGET); | |
| 425 | 426 | }), { once: true }); | |
| 426 | 427 | target.dispatchEvent(new Event('foo')); | |
| 428 | + // Event is a function | ||
| 429 | + strictEqual(Event.length, 1); | ||
| 427 | 430 | } | |
| 428 | 431 | ||
| 429 | 432 | { | |
@@ -485,3 +488,32 @@ let asyncTest = Promise.resolve(); | |||
| 485 | 488 | eventTarget.dispatchEvent(event); | |
| 486 | 489 | strictEqual(event.target, eventTarget); | |
| 487 | 490 | } | |
| 491 | + { | ||
| 492 | + // Event target exported keys | ||
| 493 | + const eventTarget = new EventTarget(); | ||
| 494 | + deepStrictEqual(Object.keys(eventTarget), []); | ||
| 495 | + deepStrictEqual(Object.getOwnPropertyNames(eventTarget), []); | ||
| 496 | + const parentKeys = Object.keys(Object.getPrototypeOf(eventTarget)).sort(); | ||
| 497 | + const keys = ['addEventListener', 'dispatchEvent', 'removeEventListener']; | ||
| 498 | + deepStrictEqual(parentKeys, keys); | ||
| 499 | + } | ||
| 500 | + { | ||
| 501 | + // Subclassing | ||
| 502 | + class SubTarget extends EventTarget {} | ||
| 503 | + const target = new SubTarget(); | ||
| 504 | + target.addEventListener('foo', common.mustCall()); | ||
| 505 | + target.dispatchEvent(new Event('foo')); | ||
| 506 | + } | ||
| 507 | + { | ||
| 508 | + // Test event order | ||
| 509 | + const target = new EventTarget(); | ||
| 510 | + let state = 0; | ||
| 511 | + target.addEventListener('foo', common.mustCall(() => { | ||
| 512 | + strictEqual(state, 0); | ||
| 513 | + state++; | ||
| 514 | + })); | ||
| 515 | + target.addEventListener('foo', common.mustCall(() => { | ||
| 516 | + strictEqual(state, 1); | ||
| 517 | + })); | ||
| 518 | + target.dispatchEvent(new Event('foo')); | ||
| 519 | + } | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments