Skip to content

Commit b437b45

Browse files
crisbetojelbourn
authored andcommitted
fix(overlay): complete key event stream on dispose (#8341)
Fixes the `keydownEvents` stream not being completed on dispose.
1 parent b085dc6 commit b437b45

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

src/cdk/overlay/keyboard/overlay-keyboard-dispatcher.spec.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,4 +94,15 @@ describe('OverlayKeyboardDispatcher', () => {
9494
expect(overlayTwoSpy).not.toHaveBeenCalled();
9595
});
9696

97+
it('should complete the keydown stream on dispose', () => {
98+
const overlayRef = overlay.create();
99+
const completeSpy = jasmine.createSpy('keydown complete spy');
100+
101+
overlayRef.keydownEvents().subscribe(undefined, undefined, completeSpy);
102+
103+
overlayRef.dispose();
104+
105+
expect(completeSpy).toHaveBeenCalled();
106+
});
107+
97108
});

src/cdk/overlay/overlay-ref.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ export class OverlayRef implements PortalOutlet {
151151
this._portalOutlet.dispose();
152152
this._attachments.complete();
153153
this._backdropClick.complete();
154+
this._keydownEvents.complete();
154155

155156
if (isAttached) {
156157
this._detachments.next();

0 commit comments

Comments
 (0)