From 9462c78fbf0896f0939c1bf3eb44a3f4f503f0a6 Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Mon, 31 Jan 2011 23:22:12 -0800 Subject: $browser poller should notify $location only once per url change --- src/Browser.js | 1 + src/angular-mocks.js | 1 + test/BrowserSpecs.js | 5 +++++ 3 files changed, 7 insertions(+) diff --git a/src/Browser.js b/src/Browser.js index c67608cd..85bfb304 100644 --- a/src/Browser.js +++ b/src/Browser.js @@ -243,6 +243,7 @@ function Browser(window, document, body, XHR, $log) { self.addPollFn(function() { if (lastBrowserUrl != self.getUrl()) { listener(); + lastBrowserUrl = self.getUrl(); } }); } diff --git a/src/angular-mocks.js b/src/angular-mocks.js index fac411a9..fe0fb011 100644 --- a/src/angular-mocks.js +++ b/src/angular-mocks.js @@ -92,6 +92,7 @@ function MockBrowser() { function() { if (self.lastUrl != self.url) { listener(); + self.lastUrl == self.url } } ); diff --git a/test/BrowserSpecs.js b/test/BrowserSpecs.js index 1e5512b0..f0c026ba 100644 --- a/test/BrowserSpecs.js +++ b/test/BrowserSpecs.js @@ -358,6 +358,11 @@ describe('browser', function(){ expect(events).toEqual([]); browser.poll(); expect(events).toEqual(['x']); + + //don't do anything if url hasn't changed + events = []; + browser.poll(); + expect(events).toEqual([]); }); -- cgit v1.2.3