diff options
| -rw-r--r-- | src/ngCookies/cookies.js | 3 | ||||
| -rw-r--r-- | test/ngCookies/cookiesSpec.js | 11 | 
2 files changed, 13 insertions, 1 deletions
| diff --git a/src/ngCookies/cookies.js b/src/ngCookies/cookies.js index 8b46973f..68355707 100644 --- a/src/ngCookies/cookies.js +++ b/src/ngCookies/cookies.js @@ -139,7 +139,8 @@ angular.module('ngCookies', ['ng']).           * @returns {Object} Deserialized cookie value.           */          get: function(key) { -          return angular.fromJson($cookies[key]); +          var value = $cookies[key]; +          return value ? angular.fromJson(value) : value;          },          /** diff --git a/test/ngCookies/cookiesSpec.js b/test/ngCookies/cookiesSpec.js index 435f40b4..674c2774 100644 --- a/test/ngCookies/cookiesSpec.js +++ b/test/ngCookies/cookiesSpec.js @@ -125,4 +125,15 @@ describe('$cookieStore', function() {      $rootScope.$digest();      expect($browser.cookies()).toEqual({});    })); +  it('should handle empty string value cookies', inject(function ($cookieStore, $browser, $rootScope) { +    $cookieStore.put("emptyCookie",''); +    $rootScope.$digest(); +    expect($browser.cookies()). +        toEqual({ 'emptyCookie': '""' }); +    expect($cookieStore.get("emptyCookie")).toEqual(''); + +    $browser.cookieHash['blankCookie'] = ''; +    $browser.poll(); +    expect($cookieStore.get("blankCookie")).toEqual(''); +  }))  }); | 
