From 9145d5ec3e17ee1e23eda3fb1875c928c1d8f069 Mon Sep 17 00:00:00 2001 From: Chirayu Krishnappa Date: Fri, 10 May 2013 19:17:56 -0700 Subject: fix($browser): should use first value for a cookie. With this change, $browser.cookies()["foo"] will behave like docCookies.getItem("foo") where docCookies is defined at https://developer.mozilla.org/en-US/docs/DOM/document.cookie This fixes the issue where, if there's a value for the XSRF-TOKEN cookie value with the path /, then that value is used for all applications in the domain even if they set path specific values for XSRF-TOKEN. Closes #2635 --- test/ng/browserSpecs.js | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'test') diff --git a/test/ng/browserSpecs.js b/test/ng/browserSpecs.js index eba9bd02..3ec78e61 100755 --- a/test/ng/browserSpecs.js +++ b/test/ng/browserSpecs.js @@ -304,6 +304,13 @@ describe('browser', function() { expect(browser.cookies().foo).toEqual('bar=baz'); }); + it('should return the the first value provided for a cookie', function() { + // For a cookie that has different values that differ by path, the + // value for the most specific path appears first. browser.cookies() + // should provide that value for the cookie. + document.cookie = 'foo="first"; foo="second"'; + expect(browser.cookies()['foo']).toBe('"first"'); + }); it ('should unescape cookie values that were escaped by puts', function() { document.cookie = "cookie2%3Dbar%3Bbaz=val%3Due;path=/"; -- cgit v1.2.3