angular.js/test
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
..
auto chore(minErr): replace ngError with minErr 2013-06-17 13:29:30 -07:00
ng fix(Angular.js): handle duplicate params in parseKeyValue/toKeyValue 2013-07-01 19:32:12 +01:00
ngCookies feat($cookieStore): $cookieStore.get now parses blank string as blank string 2013-05-08 10:04:07 +01:00
ngMobile feat($swipe): Refactor swipe logic from ngSwipe to $swipe service. 2013-05-23 16:07:44 -07:00
ngMock feat(jqLite): switch bind/unbind to more recent jQuery on/off 2013-06-19 20:53:24 +01:00
ngResource feat($resource): expose promise instead of only $then 2013-05-23 14:18:29 -07:00
ngRoute refactor($route): pull $route and friends into angular-route.js 2013-06-06 17:07:12 -07:00
ngSanitize test(ngBindHtml): prevent variable name leak 2013-01-29 13:26:06 -08:00
ngScenario chore: remove jstd leftovers 2013-06-28 11:43:38 -07:00
AngularSpec.js fix(Angular.js): handle duplicate params in parseKeyValue/toKeyValue 2013-07-01 19:32:12 +01:00
ApiSpecs.js feat(ngRepeat): add support for custom tracking of items 2013-03-29 23:01:52 -07:00
BinderSpec.js chore(minErr): replace ngError with minErr 2013-06-17 13:29:30 -07:00
jqLiteSpec.js feat(jqLite): switch bind/unbind to more recent jQuery on/off 2013-06-19 20:53:24 +01:00
jquery_alias.js fix(specs): fix jQuery to jqLite binding on IE8 2011-09-16 02:44:33 +02:00
jquery_remove.js fix(specs): fix jQuery to jqLite binding on IE8 2011-09-16 02:44:33 +02:00
jQueryPatchSpec.js feat(jqLite): switch bind/unbind to more recent jQuery on/off 2013-06-19 20:53:24 +01:00
loaderSpec.js chore(minErr): replace ngError with minErr 2013-06-17 13:29:30 -07:00
matchers.js chore(minErr): replace ngError with minErr 2013-06-17 13:29:30 -07:00
minErrSpec.js chore(minErr): replace ngError with minErr 2013-06-17 13:29:30 -07:00
testabilityPatch.js feat(jqLite): switch bind/unbind to more recent jQuery on/off 2013-06-19 20:53:24 +01:00