diff options
| author | Vojta Jina | 2011-06-22 19:57:22 +0200 |
|---|---|---|
| committer | Vojta Jina | 2011-09-08 20:36:33 +0200 |
| commit | 988ed451b508b9d7ea4690b150993ec62d8a3743 (patch) | |
| tree | 70c8a2200ae4b80da04b6eba239a07962f209638 /src/angular-mocks.js | |
| parent | fc2f188d4d8f06aab31979b293d95580e19cbdf1 (diff) | |
| download | angular.js-988ed451b508b9d7ea4690b150993ec62d8a3743.tar.bz2 | |
feat($browser): jQuery style url method, onUrlChange event
This is just basic implementation of $browser.url, $browser.onUrlChange methods:
$browser.url() - returns current location.href
$browser.url('/new') - set url to /new
If supported, history.pushState is used, location.href property otherwise.
$browser.url('/new', true) - replace current url with /new
If supported, history.replaceState is used, location.replace otherwise.
$browser.onUrlChange is only fired when url is changed from the browser:
- user types into address bar
- user clicks on back/forward button
- user clicks on link
It's not fired when url is changed using $browser.url()
Breaks Removed $browser.setUrl(), $browser.getUrl(), use $browser.url()
Breaks Removed $browser.onHashChange(), use $browser.onUrlChange()
Diffstat (limited to 'src/angular-mocks.js')
| -rw-r--r-- | src/angular-mocks.js | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/src/angular-mocks.js b/src/angular-mocks.js index 066ccea5..8410dc8c 100644 --- a/src/angular-mocks.js +++ b/src/angular-mocks.js @@ -89,19 +89,19 @@ function MockBrowser() { requests = []; this.isMock = true; - self.url = "http://server"; - self.lastUrl = self.url; // used by url polling fn + self.$$url = "http://server"; + self.$$lastUrl = self.$$url; // used by url polling fn self.pollFns = []; // register url polling fn - self.onHashChange = function(listener) { + self.onUrlChange = function(listener) { self.pollFns.push( function() { - if (self.lastUrl != self.url) { - self.lastUrl = self.url; - listener(); + if (self.$$lastUrl != self.$$url) { + self.$$lastUrl = self.$$url; + listener(self.$$url); } } ); @@ -326,12 +326,13 @@ MockBrowser.prototype = { hover: function(onHover) { }, - getUrl: function(){ - return this.url; - }, + url: function(url, replace) { + if (url) { + this.$$url = url; + return this; + } - setUrl: function(url){ - this.url = url; + return this.$$url; }, cookies: function(name, value) { |
