From 0324daf466fc93e5d23f9e2212e5794bf57ec87e Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Thu, 9 Jan 2014 23:16:06 -0800 Subject: [PATCH] revert: fix($location): return '/' for root path in hashbang mode This reverts commit 63cd873fef3207deef30c7a7ed66f4b8f647dc12. The change breaks existing tests of Google apps. The problem is that while we tried to avoid adding #/ to window.location.href unnecessarily we failed doing so. Likely because by setting $path, at some point (during a digest) we try to check if $location changed and we mistake the default '/' with an explicit settign of the path via the `path()` method. This results in us writing the url with '#/' into $browser.url() which updates the window.location by adding "#/" to the url - something we tried to avoid in the first place. I'll reopen PR #5712. --- src/ng/location.js | 4 ---- test/ng/locationSpec.js | 10 ---------- 2 files changed, 14 deletions(-) diff --git a/src/ng/location.js b/src/ng/location.js index d193b1ca667e..0a47445f6f87 100644 --- a/src/ng/location.js +++ b/src/ng/location.js @@ -184,10 +184,6 @@ function LocationHashbangUrl(appBase, hashPrefix) { this.$$compose(); - if (!this.$$path) { - this.$$path = '/'; - } - /* * In Windows, on an anchor node on documents loaded from * the filesystem, the browser will return a pathname diff --git a/test/ng/locationSpec.js b/test/ng/locationSpec.js index b66f689b725a..ff823d306efd 100644 --- a/test/ng/locationSpec.js +++ b/test/ng/locationSpec.js @@ -1487,16 +1487,6 @@ describe('$location', function() { expect(location.url()).toBe('/not-starting-with-slash'); expect(location.absUrl()).toBe('http://server/pre/index.html#/not-starting-with-slash'); }); - - - it("should return / for path for the application root path", function() { - location = new LocationHashbangUrl('http://server/pre/index.html', '#'); - location.$$parse('http://server/pre/index.html'); - expect(location.path()).toBe('/'); - - location.$$parse('http://server/pre/'); - expect(location.path()).toBe('/'); - }); });