@@ -632,6 +632,29 @@ describe('Dialog', () => {
632
632
expect ( overlayContainerElement . querySelectorAll ( 'cdk-dialog-container' ) . length ) . toBe ( 0 ) ;
633
633
} ) ) ;
634
634
635
+ it ( 'should complete the various lifecycle streams on destroy' , fakeAsync ( ( ) => {
636
+ let dialogRef = dialog . openFromComponent ( PizzaMsg , { viewContainerRef : testViewContainerRef } ) ;
637
+ let beforeOpenedComplete = jasmine . createSpy ( 'before opened complete spy' ) ;
638
+ let afterOpenedComplete = jasmine . createSpy ( 'after opened complete spy' ) ;
639
+ let beforeClosedComplete = jasmine . createSpy ( 'before closed complete spy' ) ;
640
+ let afterClosedComplete = jasmine . createSpy ( 'after closed complete spy' ) ;
641
+
642
+ viewContainerFixture . detectChanges ( ) ;
643
+ dialogRef . beforeOpened ( ) . subscribe ( { complete : beforeOpenedComplete } ) ;
644
+ dialogRef . afterOpened ( ) . subscribe ( { complete : afterOpenedComplete } ) ;
645
+ dialogRef . beforeClosed ( ) . subscribe ( { complete : beforeClosedComplete } ) ;
646
+ dialogRef . afterClosed ( ) . subscribe ( { complete : afterClosedComplete } ) ;
647
+
648
+ dialogRef . close ( 'Charmander' ) ;
649
+ viewContainerFixture . detectChanges ( ) ;
650
+ flush ( ) ;
651
+
652
+ expect ( beforeOpenedComplete ) . toHaveBeenCalled ( ) ;
653
+ expect ( afterOpenedComplete ) . toHaveBeenCalled ( ) ;
654
+ expect ( beforeClosedComplete ) . toHaveBeenCalled ( ) ;
655
+ expect ( afterClosedComplete ) . toHaveBeenCalled ( ) ;
656
+ } ) ) ;
657
+
635
658
describe ( 'passing in data' , ( ) => {
636
659
it ( 'should be able to pass in data' , ( ) => {
637
660
let config = {
0 commit comments