diff options
| -rw-r--r-- | src/ng/browser.js | 2 | ||||
| -rw-r--r-- | test/ng/browserSpecs.js | 16 | 
2 files changed, 15 insertions, 3 deletions
| diff --git a/src/ng/browser.js b/src/ng/browser.js index 9682cd28..fa050d54 100644 --- a/src/ng/browser.js +++ b/src/ng/browser.js @@ -237,7 +237,7 @@ function Browser(window, document, $log, $sniffer) {     */    self.baseHref = function() {      var href = baseElement.attr('href'); -    return href ? href.replace(/^https?\:\/\/[^\/]*/, '') : href; +    return href ? href.replace(/^https?\:\/\/[^\/]*/, '') : '';    };    ////////////////////////////////////////////////////////////// diff --git a/test/ng/browserSpecs.js b/test/ng/browserSpecs.js index 53ca2642..e989330b 100644 --- a/test/ng/browserSpecs.js +++ b/test/ng/browserSpecs.js @@ -279,6 +279,18 @@ describe('browser', function() {        });      }); +    describe('put via cookies(cookieName, string), if no <base href> ', function () { +      beforeEach(function () { +        fakeDocument.basePath = undefined; +      }); + +      it('should default path in cookie to "" (empty string)', function () { +        browser.cookies('cookie', 'bender'); +        // This only fails in Safari and IE when cookiePath returns undefined +        // Where it now succeeds since baseHref return '' instead of undefined          +        expect(document.cookie).toEqual('cookie=bender'); +      }); +    });      describe('get via cookies()[cookieName]', function() { @@ -555,9 +567,9 @@ describe('browser', function() {        expect(browser.baseHref()).toEqual('/base/path/');      }); -    it('should return undefined if no <base href>', function() { +    it('should return \'\' (empty string) if no <base href>', function() {        fakeDocument.basePath = undefined; -      expect(browser.baseHref()).toBeUndefined(); +      expect(browser.baseHref()).toEqual('');      });      it('should remove domain from <base href>', function() { | 
