diff options
Diffstat (limited to 'test/service/cookiesSpec.js')
| -rw-r--r-- | test/service/cookiesSpec.js | 97 | 
1 files changed, 47 insertions, 50 deletions
diff --git a/test/service/cookiesSpec.js b/test/service/cookiesSpec.js index f078c20c..2569645b 100644 --- a/test/service/cookiesSpec.js +++ b/test/service/cookiesSpec.js @@ -1,82 +1,79 @@  'use strict';  describe('$cookies', function() { -  var scope, $browser; - -  beforeEach(function() { -    $browser = new MockBrowser(); -    $browser.cookieHash['preexisting'] = 'oldCookie'; -    scope = angular.scope(angular.service, {$browser: $browser}); -    scope.$cookies = scope.$service('$cookies'); -  }); - -  afterEach(function() { -    dealoc(scope); -  }); - +  beforeEach(inject(function(service) { +    service('$browser', function(){  +      return angular.extend(new MockBrowser(), {cookieHash: {preexisting:'oldCookie'}});  +    }); +  })); +      it('should provide access to existing cookies via object properties and keep them in sync', -      function() { -    expect(scope.$cookies).toEqual({'preexisting': 'oldCookie'}); +      inject(function($cookies, $browser, $rootScope) { +    expect($cookies).toEqual({'preexisting': 'oldCookie'});      // access internal cookie storage of the browser mock directly to simulate behavior of      // document.cookie      $browser.cookieHash['brandNew'] = 'cookie';      $browser.poll(); -    expect(scope.$cookies).toEqual({'preexisting': 'oldCookie', 'brandNew':'cookie'}); +    expect($cookies).toEqual({'preexisting': 'oldCookie', 'brandNew':'cookie'});      $browser.cookieHash['brandNew'] = 'cookie2';      $browser.poll(); -    expect(scope.$cookies).toEqual({'preexisting': 'oldCookie', 'brandNew':'cookie2'}); +    expect($cookies).toEqual({'preexisting': 'oldCookie', 'brandNew':'cookie2'});      delete $browser.cookieHash['brandNew'];      $browser.poll(); -    expect(scope.$cookies).toEqual({'preexisting': 'oldCookie'}); -  }); +    expect($cookies).toEqual({'preexisting': 'oldCookie'}); +  })); -  it('should create or update a cookie when a value is assigned to a property', function() { -    scope.$cookies.oatmealCookie = 'nom nom'; -    scope.$digest(); +  it('should create or update a cookie when a value is assigned to a property', +      inject(function($cookies, $browser, $rootScope) { +    $cookies.oatmealCookie = 'nom nom'; +    $rootScope.$digest();      expect($browser.cookies()).        toEqual({'preexisting': 'oldCookie', 'oatmealCookie':'nom nom'}); -    scope.$cookies.oatmealCookie = 'gone'; -    scope.$digest(); +    $cookies.oatmealCookie = 'gone'; +    $rootScope.$digest();      expect($browser.cookies()).        toEqual({'preexisting': 'oldCookie', 'oatmealCookie': 'gone'}); -  }); +  })); -  it('should drop or reset any cookie that was set to a non-string value', function() { -    scope.$cookies.nonString = [1, 2, 3]; -    scope.$cookies.nullVal = null; -    scope.$cookies.undefVal = undefined; -    scope.$cookies.preexisting = function() {}; -    scope.$digest(); +  it('should drop or reset any cookie that was set to a non-string value', +      inject(function($cookies, $browser, $rootScope) { +    $cookies.nonString = [1, 2, 3]; +    $cookies.nullVal = null; +    $cookies.undefVal = undefined; +    $cookies.preexisting = function() {}; +    $rootScope.$digest();      expect($browser.cookies()).toEqual({'preexisting': 'oldCookie'}); -    expect(scope.$cookies).toEqual({'preexisting': 'oldCookie'}); -  }); +    expect($cookies).toEqual({'preexisting': 'oldCookie'}); +  })); -  it('should remove a cookie when a $cookies property is deleted', function() { -    scope.$cookies.oatmealCookie = 'nom nom'; -    scope.$digest(); +  it('should remove a cookie when a $cookies property is deleted', +      inject(function($cookies, $browser, $rootScope) { +    $cookies.oatmealCookie = 'nom nom'; +    $rootScope.$digest();      $browser.poll();      expect($browser.cookies()).        toEqual({'preexisting': 'oldCookie', 'oatmealCookie':'nom nom'}); -    delete scope.$cookies.oatmealCookie; -    scope.$digest(); +    delete $cookies.oatmealCookie; +    $rootScope.$digest();      expect($browser.cookies()).toEqual({'preexisting': 'oldCookie'}); -  }); +  })); -  it('should drop or reset cookies that browser refused to store', function() { +  it('should drop or reset cookies that browser refused to store', +      inject(function($cookies, $browser, $rootScope) {      var i, longVal;      for (i=0; i<5000; i++) { @@ -84,17 +81,17 @@ describe('$cookies', function() {      }      //drop if no previous value -    scope.$cookies.longCookie = longVal; -    scope.$digest(); -    expect(scope.$cookies).toEqual({'preexisting': 'oldCookie'}); +    $cookies.longCookie = longVal; +    $rootScope.$digest(); +    expect($cookies).toEqual({'preexisting': 'oldCookie'});      //reset if previous value existed -    scope.$cookies.longCookie = 'shortVal'; -    scope.$digest(); -    expect(scope.$cookies).toEqual({'preexisting': 'oldCookie', 'longCookie': 'shortVal'}); -    scope.$cookies.longCookie = longVal; -    scope.$digest(); -    expect(scope.$cookies).toEqual({'preexisting': 'oldCookie', 'longCookie': 'shortVal'}); -  }); +    $cookies.longCookie = 'shortVal'; +    $rootScope.$digest(); +    expect($cookies).toEqual({'preexisting': 'oldCookie', 'longCookie': 'shortVal'}); +    $cookies.longCookie = longVal; +    $rootScope.$digest(); +    expect($cookies).toEqual({'preexisting': 'oldCookie', 'longCookie': 'shortVal'}); +  }));  });  | 
