aboutsummaryrefslogtreecommitdiffstats
path: root/test/ng/locationSpec.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/ng/locationSpec.js')
-rw-r--r--test/ng/locationSpec.js31
1 files changed, 31 insertions, 0 deletions
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('<a href="#/view1">v1</a><a href="#/view2">v2</a>')($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();
+ });
+ });
});