angular.js/test/ng
joshkurz 807394095b fix(Angular.js): handle duplicate params in parseKeyValue/toKeyValue
parseKeyValue and toKeyValue can now handle duplicate values in the query.
```
?x=1&x=2 <-> {x:[1,2]}
```

The algorithm looks like:
    1)parseKeyValue looks for presence of obj[key]
    2)detects and replaces obj[key] with [obj[key],val]
    3)then pushes more duplicates if necessary
    4)toKeyValue decodes array correctly
    5)(not changed)$location.search({param: 'key'}) still replaces if necessary
    6)(not changed)$location.search({param: ['key1', 'key2']}) sets the url with duplicates

BREAKING CHANGE: Before this change:
- `parseKeyValue` only took the last key overwriting all the previous keys;
- `toKeyValue` joined the keys together in a comma delimited string.
This was deemed buggy behavior. If your server relied on this behavior
then either the server should be fixed or a simple serialization of
the array should be done on the client before passing it to $location.
2013-07-01 19:32:12 +01:00
..
directive style(ngRepeatSpec): fix up colons and iit 2013-06-28 08:28:06 +01:00
filter fix(date): correctly format dates with more than 3 sub-second digits 2013-05-07 22:59:46 +01:00
anchorScrollSpec.js fix($sniffer): report history false on Android < 4 2012-05-14 15:12:51 -07:00
animationSpec.js feat(ngAnimate): add support for animation 2013-04-02 14:05:06 -07:00
animatorSpec.js chore(minErr): replace ngError with minErr 2013-06-17 13:29:30 -07:00
browserSpecs.js fix($browser): should use first value for a cookie. 2013-05-11 09:28:14 -07:00
cacheFactorySpec.js chore(minErr): replace ngError with minErr 2013-06-17 13:29:30 -07:00
compileSpec.js test($compile): use FQDN for img[src] 2013-06-28 17:38:11 -07:00
controllerSpec.js chore(minErr): replace ngError with minErr 2013-06-17 13:29:30 -07:00
documentSpec.js chore(module): move files around in preparation for more modules 2012-03-28 11:16:35 -07:00
exceptionHandlerSpec.js chore(module): move files around in preparation for more modules 2012-03-28 11:16:35 -07:00
httpBackendSpec.js feat($http): add support for aborting via timeout promises 2013-05-20 14:15:04 -07:00
httpSpec.js fix($http): ensure case-insens. header overriding 2013-06-19 21:30:59 +01:00
interpolateSpec.js fix($compile): reject multi-expression interpolations for src attribute 2013-06-24 14:17:18 -07:00
localeSpec.js chore(module): move files around in preparation for more modules 2012-03-28 11:16:35 -07:00
locationSpec.js fix(Angular.js): handle duplicate params in parseKeyValue/toKeyValue 2013-07-01 19:32:12 +01:00
logSpec.js feat($log): add $log.debug() 2013-01-17 16:47:39 -08:00
parseSpec.js chore(minErr): replace ngError with minErr 2013-06-17 13:29:30 -07:00
qSpec.js feat($q): add $q.always() method 2013-04-24 20:56:18 +01:00
rootElementSpec.js feat($rootElement): added application root element 2012-06-02 14:50:58 -07:00
rootScopeSpec.js chore(minErr): replace ngError with minErr 2013-06-17 13:29:30 -07:00
snifferSpec.js feat($sniffer): Add support for supportsAnimations flag for detecting CSS Animations browser support 2013-05-08 15:40:37 -07:00
timeoutSpec.js fix($timeout): allow calling $timeout.cancel() with undefined 2012-06-04 17:43:14 -07:00
windowSpec.js chore(module): move files around in preparation for more modules 2012-03-28 11:16:35 -07:00