|
1 |
| -import BrowserWindow from '../../src/window/BrowserWindow.js'; |
2 | 1 | import Window from '../../src/window/Window.js';
|
3 | 2 | import EventTarget from '../../src/event/EventTarget.js';
|
4 | 3 | import Event from '../../src/event/Event.js';
|
5 | 4 | import CustomEvent from '../../src/event/events/CustomEvent.js';
|
6 | 5 | import * as PropertySymbol from '../../src/PropertySymbol.js';
|
7 | 6 | import { beforeEach, describe, it, expect } from 'vitest';
|
| 7 | +import BrowserErrorCaptureEnum from '../../src/browser/enums/BrowserErrorCaptureEnum.js'; |
8 | 8 |
|
9 | 9 | const EVENT_TYPE = 'click';
|
10 | 10 |
|
11 | 11 | describe('EventTarget', () => {
|
12 |
| - let window: BrowserWindow; |
| 12 | + let window: Window; |
13 | 13 | let eventTarget: EventTarget;
|
14 | 14 |
|
15 | 15 | beforeEach(() => {
|
@@ -117,7 +117,21 @@ describe('EventTarget', () => {
|
117 | 117 | expect(scope).toBe(eventTarget);
|
118 | 118 | });
|
119 | 119 |
|
120 |
| - it('Event listener with handleEvent is called in the scope of the listener when calling dispatchEvent().', () => { |
| 120 | + it('Event listener with handleEvent is called in the scope of the listener when calling dispatchEvent() when browser settings error capture is set to "tryAndCatch".', () => { |
| 121 | + let scope = null; |
| 122 | + const listener = { |
| 123 | + handleEvent(): void { |
| 124 | + scope = this; |
| 125 | + } |
| 126 | + }; |
| 127 | + const dispatchedEvent = new Event(EVENT_TYPE); |
| 128 | + eventTarget.addEventListener(EVENT_TYPE, listener); |
| 129 | + eventTarget.dispatchEvent(dispatchedEvent); |
| 130 | + expect(scope).toBe(listener); |
| 131 | + }); |
| 132 | + |
| 133 | + it('Event listener with handleEvent is called in the scope of the listener when calling dispatchEvent() when browser settings error capture is not set to "tryAndCatch".', () => { |
| 134 | + window.happyDOM.settings.errorCapture = BrowserErrorCaptureEnum.disabled; |
121 | 135 | let scope = null;
|
122 | 136 | const listener = {
|
123 | 137 | handleEvent(): void {
|
|
0 commit comments