From 74fa65ecb7c4e2df966a179952b35700912e065f Mon Sep 17 00:00:00 2001
From: Misko Hevery
Date: Mon, 11 Jun 2012 21:24:23 -0700
Subject: fix($location): correctly parse link urls in hashbang mode
This is a fix for a regression that was introduced by 92a2e180
Closes #1037
---
test/ng/locationSpec.js | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
(limited to 'test/ng/locationSpec.js')
diff --git a/test/ng/locationSpec.js b/test/ng/locationSpec.js
index e6ee6604..543232c3 100644
--- a/test/ng/locationSpec.js
+++ b/test/ng/locationSpec.js
@@ -968,6 +968,37 @@ describe('$location', function() {
);
});
}
+
+
+ it('should not mess up hash urls when clicking on links in hashbang mode', function() {
+ var base;
+ module(function() {
+ return function($browser) {
+ window.location.hash = 'someHash';
+ base = window.location.href
+ $browser.url(base);
+ base = base.split('#')[0];
+ }
+ });
+ inject(function($rootScope, $compile, $browser, $rootElement, $document, $location) {
+ // we need to do this otherwise we can't simulate events
+ $document.find('body').append($rootElement);
+
+ var element = $compile('v1v2')($rootScope);
+ $rootElement.append(element);
+ var av1 = $rootElement.find('a').eq(0);
+ var av2 = $rootElement.find('a').eq(1);
+
+
+ browserTrigger(av1, 'click');
+ expect($browser.url()).toEqual(base + '#/view1');
+
+ browserTrigger(av2, 'click');
+ expect($browser.url()).toEqual(base + '#/view2');
+
+ $rootElement.remove();
+ });
+ });
});
--
cgit v1.2.3