From 5cb319f61986f065cf740cbf48640acfa91a60d2 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Tue, 5 Apr 2016 15:24:57 -0400 Subject: [PATCH] test(karma): add karma tests for the present/zIndex of a portal references #5426 --- .../nav/test/nav-controller.spec.ts | 60 ++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/ionic/components/nav/test/nav-controller.spec.ts b/ionic/components/nav/test/nav-controller.spec.ts index 7c7bcbb0ce..d37c198c28 100644 --- a/ionic/components/nav/test/nav-controller.spec.ts +++ b/ionic/components/nav/test/nav-controller.spec.ts @@ -586,7 +586,7 @@ export function run() { describe('_setZIndex', () => { - it('should set zIndex off of the previous view to the entering view is loaded and the leavingView is not loaded', () => { + it('should set zIndex off of the previous view to the entering view is loaded and the leavingView is not loaded', () => { let leavingView = new ViewController(); leavingView.zIndex = 100; leavingView._loaded = true; @@ -638,6 +638,36 @@ export function run() { expect(enteringView.zIndex).toEqual(0); }); + it('should set zIndex 9999 on first entering portal view', () => { + let enteringView = new ViewController(); + enteringView.setPageRef({}); + nav._portal = null; + nav._setZIndex(enteringView, null, 'forward'); + expect(enteringView.zIndex).toEqual(9999); + }); + + it('should set zIndex 10000 on second entering portal view', () => { + let leavingView = new ViewController(); + leavingView.zIndex = 9999; + leavingView._loaded = true; + let enteringView = new ViewController(); + enteringView.setPageRef({}); + nav._portal = null; + nav._setZIndex(enteringView, leavingView, 'forward'); + expect(enteringView.zIndex).toEqual(10000); + }); + + it('should set zIndex 9999 on entering portal view going back', () => { + let leavingView = new ViewController(); + leavingView.zIndex = 10000; + leavingView._loaded = true; + let enteringView = new ViewController(); + enteringView.setPageRef({}); + nav._portal = null; + nav._setZIndex(enteringView, leavingView, 'back'); + expect(enteringView.zIndex).toEqual(9999); + }); + }); describe('_afterTrans', () => { @@ -1098,6 +1128,34 @@ export function run() { }); + describe('present', () => { + + it('should present in portal', () => { + let enteringView = new ViewController(); + enteringView.setPageRef({}); + enteringView.usePortal = true; + + expect(nav._portal.length()).toBe(0); + expect(nav.length()).toBe(0); + nav.present(enteringView); + expect(nav._portal.length()).toBe(1); + expect(nav.length()).toBe(0); + }); + + it('should present in main nav', () => { + let enteringView = new ViewController(); + enteringView.setPageRef({}); + enteringView.usePortal = false; + + expect(nav._portal.length()).toBe(0); + expect(nav.length()).toBe(0); + nav.present(enteringView); + expect(nav._portal.length()).toBe(0); + expect(nav.length()).toBe(1); + }); + + }); + it('should getActive()', () => { expect(nav.getActive()).toBe(null); let view1 = new ViewController(Page1);