mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
fix($ionicHistory): pop duplicate view registers
This commit is contained in:
@@ -1033,11 +1033,33 @@ describe('Ionic History', function() {
|
||||
expect( ionicHistory.nextViewOptions({}) ).toEqual({});
|
||||
}));
|
||||
|
||||
it('should be an abstract view', inject(function($document) {
|
||||
var reg = ionicHistory.register({}, false);
|
||||
expect(reg.action).not.toEqual('abstractView');
|
||||
it('should should find ion-tabs as an abstract element', inject(function($ionicHistory, $document) {
|
||||
var ele = angular.element('<ion-tabs>');
|
||||
expect($ionicHistory.isAbstractEle(ele)).toBe(true);
|
||||
|
||||
reg = ionicHistory.register({}, true);
|
||||
ele = angular.element('<ion-tab>');
|
||||
expect($ionicHistory.isAbstractEle(ele)).toBe(false);
|
||||
}));
|
||||
|
||||
it('should should find ion-side-menus as an abstract element', inject(function($ionicHistory, $document) {
|
||||
var ele = angular.element('<ion-side-menus>');
|
||||
expect($ionicHistory.isAbstractEle(ele)).toBe(true);
|
||||
|
||||
ele = angular.element('<ion-side-menu>');
|
||||
expect($ionicHistory.isAbstractEle(ele)).toBe(false);
|
||||
}));
|
||||
|
||||
it('should should find first child thats an ion-tabs as an abstract element', inject(function($ionicHistory, $document) {
|
||||
var div = angular.element('<div>');
|
||||
var ionTabs = angular.element('<ion-tabs>');
|
||||
div.append(ionTabs);
|
||||
expect($ionicHistory.isAbstractEle(div)).toBe(true);
|
||||
}));
|
||||
|
||||
it('should be an abstract view', inject(function($document) {
|
||||
var reg = ionicHistory.register({}, {
|
||||
$template: '<ion-tabs></ion-tabs>'
|
||||
});
|
||||
expect(reg.action).toEqual('abstractView');
|
||||
}));
|
||||
|
||||
|
||||
@@ -93,14 +93,14 @@ describe('Ionic View Switcher', function() {
|
||||
it('should get an empty entering element with an empty navViewElement', inject(function($ionicViewSwitcher) {
|
||||
var navViewElement = angular.element('<div class="view-container">');
|
||||
var switcher = $ionicViewSwitcher.create(null, navViewElement, {}, {});
|
||||
switcher.loadViewElements();
|
||||
switcher.loadViewElements({});
|
||||
expect(switcher.enteringEle().length).toBe(1);
|
||||
}));
|
||||
|
||||
it('should not get a leaving element with an empty navViewElement', inject(function($ionicViewSwitcher) {
|
||||
var navViewElement = angular.element('<div class="view-container">');
|
||||
var switcher = $ionicViewSwitcher.create(null, navViewElement, {}, {});
|
||||
switcher.loadViewElements();
|
||||
switcher.loadViewElements({});
|
||||
expect(switcher.leavingEle()).toBeUndefined();
|
||||
}));
|
||||
|
||||
@@ -113,7 +113,7 @@ describe('Ionic View Switcher', function() {
|
||||
stateId: 'STATE_ID'
|
||||
};
|
||||
var switcher = $ionicViewSwitcher.create(null, navViewElement, viewLocals, enteringView);
|
||||
switcher.loadViewElements();
|
||||
switcher.loadViewElements({});
|
||||
expect(switcher.enteringEle().hasClass('locals-template')).toBe(true);
|
||||
expect(switcher.enteringEle().data('$eleId')).toBe('STATE_ID');
|
||||
}));
|
||||
@@ -132,7 +132,7 @@ describe('Ionic View Switcher', function() {
|
||||
stateId: 'STATE_ID'
|
||||
};
|
||||
var switcher = $ionicViewSwitcher.create($rootScope, navViewElement, viewLocals, enteringView);
|
||||
switcher.loadViewElements();
|
||||
switcher.loadViewElements({});
|
||||
switcher.render({});
|
||||
expect(switcher.enteringEle().data('$noCache')).toBe(true);
|
||||
}));
|
||||
@@ -146,7 +146,7 @@ describe('Ionic View Switcher', function() {
|
||||
stateId: 'STATE_ID'
|
||||
};
|
||||
var switcher = $ionicViewSwitcher.create($rootScope, navViewElement, viewLocals, enteringView);
|
||||
switcher.loadViewElements();
|
||||
switcher.loadViewElements({});
|
||||
switcher.render({});
|
||||
expect(switcher.enteringEle().data('$noCache')).toBe(true);
|
||||
}));
|
||||
@@ -162,7 +162,7 @@ describe('Ionic View Switcher', function() {
|
||||
viewId: 'VIEW_ID'
|
||||
};
|
||||
var switcher = $ionicViewSwitcher.create(null, navViewElement, {}, enteringView);
|
||||
switcher.loadViewElements();
|
||||
switcher.loadViewElements({});
|
||||
expect(switcher.enteringEle().hasClass('existing')).toBe(true);
|
||||
expect(switcher.enteringEle().data('$eleId')).toBe('STATE_ID');
|
||||
}));
|
||||
@@ -177,7 +177,7 @@ describe('Ionic View Switcher', function() {
|
||||
viewId: 'VIEW_ID'
|
||||
};
|
||||
var switcher = $ionicViewSwitcher.create(null, navViewElement, {}, enteringView);
|
||||
switcher.loadViewElements();
|
||||
switcher.loadViewElements({});
|
||||
expect(switcher.enteringEle().hasClass('existing')).toBe(true);
|
||||
expect(switcher.enteringEle().data('$eleId')).toBe('VIEW_ID');
|
||||
}));
|
||||
@@ -201,7 +201,7 @@ describe('Ionic View Switcher', function() {
|
||||
viewId: 'VIEW_ID'
|
||||
};
|
||||
var switcher = $ionicViewSwitcher.create(null, navViewElement, viewLocals, enteringView);
|
||||
switcher.loadViewElements();
|
||||
switcher.loadViewElements({});
|
||||
expect(switcher.enteringEle().hasClass('existing')).toBe(true);
|
||||
expect(switcher.enteringEle().data('$eleId')).toBe('ABSTRACT_STATE');
|
||||
}));
|
||||
@@ -210,7 +210,7 @@ describe('Ionic View Switcher', function() {
|
||||
var navViewElement = angular.element('<div class="view-container">');
|
||||
|
||||
var switcher = $ionicViewSwitcher.create($rootScope, navViewElement, {});
|
||||
switcher.loadViewElements();
|
||||
switcher.loadViewElements({});
|
||||
switcher.render(function(){});
|
||||
expect(switcher.enteringEle().length).toBe(1);
|
||||
expect(switcher.enteringEle().attr('nav-view')).toBe('stage');
|
||||
|
||||
Reference in New Issue
Block a user