test(viewTitle): ionView title attr test

This commit is contained in:
Adam Bradley
2014-12-03 08:29:26 -06:00
parent 096784984f
commit ab15392f2b

View File

@@ -107,7 +107,7 @@ describe('ionView directive', function() {
expect( beforeEnterData.navBarDelegate ).toBe('myViewNavBar');
}));
it('should only observe title attr after afterEnter and before beforeLeave', inject(function($rootScope) {
it('should only observe view-title attr after afterEnter and before beforeLeave', inject(function($rootScope) {
var el = setup('view-title="{{ myTitle }}"', {myTitle: 'My Title'});
$rootScope.$broadcast('$ionicView.beforeEnter', {});
var spy = el.data('$ionNavViewController').title;
@@ -130,6 +130,29 @@ describe('ionView directive', function() {
spy.reset();
}));
it('should only observe title attr after afterEnter and before beforeLeave', inject(function($rootScope) {
var el = setup('title="{{ myTitle }}"', {myTitle: 'My Title'});
$rootScope.$broadcast('$ionicView.beforeEnter', {});
var spy = el.data('$ionNavViewController').title;
expect(spy).not.toHaveBeenCalled();
spy.reset();
$rootScope.$broadcast('$ionicView.afterEnter', {});
expect(spy).not.toHaveBeenCalled();
spy.reset();
el.scope().myTitle = 'My New Title';
$rootScope.$digest();
expect(spy).toHaveBeenCalledWith('My New Title');
spy.reset();
$rootScope.$broadcast('$ionicView.beforeLeave', {});
el.scope().myTitle = 'My Other New Title';
$rootScope.$digest();
expect(spy).not.toHaveBeenCalled();
spy.reset();
}));
it('should only observe hideNavBar attr after afterEnter and before beforeLeave', inject(function($rootScope) {
var el = setup('hide-nav-bar="hide"', {hide: false});
$rootScope.$broadcast('$ionicView.beforeEnter', {});