From 8e945c7cc99039decba8f8a9296242f5d413004d Mon Sep 17 00:00:00 2001 From: Thomas Nguyen Date: Tue, 6 Aug 2024 14:45:05 -0700 Subject: [PATCH] fix(core): Account for addEventListener to be passed a Window or Document. (#57354) This happened to work for other event listeners since both had a addEventListener method. PR Close #57354 --- .../event_dispatch/event_dispatch_spec.ts | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/packages/core/test/event_dispatch/event_dispatch_spec.ts b/packages/core/test/event_dispatch/event_dispatch_spec.ts index df701a71175..5222e36dafd 100644 --- a/packages/core/test/event_dispatch/event_dispatch_spec.ts +++ b/packages/core/test/event_dispatch/event_dispatch_spec.ts @@ -248,5 +248,31 @@ describe('event dispatch', () => { bottomEl.click(); expect(onClickSpy).toHaveBeenCalledTimes(1); }); + it('should allow host listening on the window', async () => { + const onClickSpy = jasmine.createSpy(); + @Component({ + standalone: true, + selector: 'app', + template: ` +
+
+
+ `, + }) + class SimpleComponent { + renderer = inject(Renderer2); + destroy!: Function; + @HostListener('window:click', ['$event.target']) + listen(el: Element) { + onClickSpy(); + } + } + configureTestingModule([SimpleComponent]); + fixture = TestBed.createComponent(SimpleComponent); + const nativeElement = fixture.debugElement.nativeElement; + const bottomEl = nativeElement.querySelector('#bottom')!; + bottomEl.click(); + expect(onClickSpy).toHaveBeenCalledTimes(1); + }); }); });