Skip to content

Commit e26c425

Browse files
mattbryan9brandyscarney
authored andcommitted
fix(navigation): move onWillDismiss and onDidDismiss, add unit tests
1 parent 963e835 commit e26c425

File tree

2 files changed

+35
-3
lines changed

2 files changed

+35
-3
lines changed

src/navigation/test/view-controller.spec.ts

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { mockView } from '../../util/mock-providers';
1+
import { mockNavController, mockView, mockViews } from '../../util/mock-providers';
22

33

44
describe('ViewController', () => {
@@ -87,6 +87,38 @@ describe('ViewController', () => {
8787
}, 10000);
8888
});
8989

90+
describe('willDismiss', () => {
91+
it('should have data in the willDismiss', (done) => {
92+
// arrange
93+
let viewController = mockView();
94+
let navControllerBase = mockNavController();
95+
mockViews(navControllerBase, [viewController]);
96+
97+
viewController.onWillDismiss((data: any) => {
98+
expect(data).toEqual('willDismiss data');
99+
done();
100+
});
101+
102+
viewController.dismiss('willDismiss data');
103+
}, 10000);
104+
});
105+
106+
describe('didDismiss', () => {
107+
it('should have data in the didDismiss', (done) => {
108+
// arrange
109+
let viewController = mockView();
110+
let navControllerBase = mockNavController();
111+
mockViews(navControllerBase, [viewController]);
112+
113+
viewController.onDidDismiss((data: any) => {
114+
expect(data).toEqual('didDismiss data');
115+
done();
116+
});
117+
118+
viewController.dismiss('didDismiss data');
119+
}, 10000);
120+
});
121+
90122
afterEach(() => {
91123
if (subscription) {
92124
subscription.unsubscribe();

src/navigation/view-controller.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ export class ViewController {
179179
this._onWillDismiss && this._onWillDismiss(data, role);
180180
return this._nav.remove(this._nav.indexOf(this), 1, options).then(() => {
181181
this._onDidDismiss && this._onDidDismiss(data, role);
182-
this._onWillDismiss = null;
182+
this._onDidDismiss = null;
183183
return data;
184184
});
185185
}
@@ -515,7 +515,7 @@ export class ViewController {
515515
}
516516
}
517517

518-
this._nav = this._cmp = this.instance = this._cntDir = this._cntRef = this._hdrDir = this._ftrDir = this._nb = this._onDidDismiss = null;
518+
this._nav = this._cmp = this.instance = this._cntDir = this._cntRef = this._hdrDir = this._ftrDir = this._nb = this._onWillDismiss = null;
519519
}
520520

521521
/**

0 commit comments

Comments
 (0)