From ab15392f2bf924f2d50df986e1a60a1839be0433 Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Wed, 3 Dec 2014 08:29:26 -0600 Subject: [PATCH] test(viewTitle): ionView title attr test --- test/unit/angular/directive/view.unit.js | 25 +++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/test/unit/angular/directive/view.unit.js b/test/unit/angular/directive/view.unit.js index 110f5e12c4..7423aa5423 100644 --- a/test/unit/angular/directive/view.unit.js +++ b/test/unit/angular/directive/view.unit.js @@ -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', {});