mirror of
https://github.com/zhigang1992/angular.js.git
synced 2026-06-01 02:59:49 +08:00
$location.updateHash should not preserve hashSearch when hashSearch is undefined
This commit is contained in:
@@ -172,8 +172,7 @@ angularServiceInject("$location", function($browser) {
|
||||
|
||||
if (isString(path)) {
|
||||
hash.hashPath = path;
|
||||
if (isDefined(search))
|
||||
hash.hashSearch = search;
|
||||
hash.hashSearch = search || {};
|
||||
} else
|
||||
hash.hashSearch = path;
|
||||
|
||||
|
||||
@@ -314,6 +314,14 @@ describe("service", function(){
|
||||
expect($location.hashPath).toEqual('path');
|
||||
});
|
||||
|
||||
it('should reset hashSearch when updating with a single string', function() {
|
||||
$location.updateHash({foo:'bar'}); //set some initial state for hashSearch
|
||||
|
||||
$location.updateHash('path');
|
||||
expect($location.hashPath).toEqual('path');
|
||||
expect($location.hashSearch).toEqual({});
|
||||
});
|
||||
|
||||
it('should accept single object argument to update search', function() {
|
||||
$location.updateHash({a: 'b'});
|
||||
expect($location.hash).toEqual('?a=b');
|
||||
|
||||
Reference in New Issue
Block a user