aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ngCookies/cookies.js3
-rw-r--r--test/ngCookies/cookiesSpec.js11
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('');
+ }))
});