mirror of
https://github.com/zhigang1992/angular.js.git
synced 2026-01-12 22:45:52 +08:00
committed by
Brian Ford
parent
c20d438ac9
commit
3f4ee15139
@@ -1099,7 +1099,7 @@ function parseKeyValue(/**string*/keyValue) {
|
||||
var obj = {}, key_value, key;
|
||||
forEach((keyValue || "").split('&'), function(keyValue) {
|
||||
if ( keyValue ) {
|
||||
key_value = keyValue.split('=');
|
||||
key_value = keyValue.replace(/\+/g,'%20').split('=');
|
||||
key = tryDecodeURIComponent(key_value[0]);
|
||||
if ( isDefined(key) ) {
|
||||
var val = isDefined(key_value[1]) ? tryDecodeURIComponent(key_value[1]) : true;
|
||||
|
||||
@@ -323,6 +323,18 @@ describe('$location', function() {
|
||||
expect(url.search()).toEqual({'i j': '<>#'});
|
||||
expect(url.hash()).toBe('x <>#');
|
||||
});
|
||||
|
||||
it('should decode pluses as spaces in urls', function() {
|
||||
url = new LocationHtml5Url('http://host.com/');
|
||||
url.$$parse('http://host.com/?a+b=c+d');
|
||||
expect(url.search()).toEqual({'a b':'c d'});
|
||||
});
|
||||
|
||||
it('should retain pluses when setting search queries', function() {
|
||||
url.search({'a+b':'c+d'});
|
||||
expect(url.search()).toEqual({'a+b':'c+d'});
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user