Changeset 9061
- Timestamp:
- 03/19/08 13:01:47 (4 months ago)
- Files:
-
- spinoffs/prototype/trunk/CHANGELOG (modified) (1 diff)
- spinoffs/prototype/trunk/src/hash.js (modified) (1 diff)
- spinoffs/prototype/trunk/test/unit/hash.html (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
spinoffs/prototype/trunk/CHANGELOG
r9060 r9061 1 * Prevent Hash#toQueryString from serializing objets. [kangax, Tobie Langel] 2 1 3 * Fix Event#pointer in IE standard mode. Closes #9920. [kangax, Tobie Langel] 2 4 spinoffs/prototype/trunk/src/hash.js
r8139 r9061 69 69 70 70 toQueryString: function() { 71 return this. map(function(pair) {71 return this.inject([], function(results, pair) { 72 72 var key = encodeURIComponent(pair.key), values = pair.value; 73 73 74 74 if (values && typeof values == 'object') { 75 75 if (Object.isArray(values)) 76 return values.map(toQueryPair.curry(key)).join('&');77 } 78 return toQueryPair(key, values);76 return results.concat(values.map(toQueryPair.curry(key))); 77 } else results.push(toQueryPair(key, values)); 78 return results; 79 79 }).join('&'); 80 80 }, spinoffs/prototype/trunk/test/unit/hash.html
r9038 r9061 173 173 this.assertEqual("color=&color", $H(Fixtures.multiple_all_nil).toQueryString()); 174 174 this.assertEqual("", $H(Fixtures.multiple_empty).toQueryString()); 175 this.assertEqual("", $H({foo: {}, bar: {}}).toQueryString()); 175 176 this.assertEqual("stuff%5B%5D=%24&stuff%5B%5D=a&stuff%5B%5D=%3B", $H(Fixtures.multiple_special).toQueryString()); 176 177 this.assertHashEqual(Fixtures.multiple_special, $H(Fixtures.multiple_special).toQueryString().toQueryParams());