qs 1.2.1 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +1 -0
- package/lib/parse.js +0 -2
- package/lib/utils.js +1 -1
- package/package.json +1 -1
- package/test/parse.js +42 -2
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Please view our [hapijs contributing guide](https://github.com/hapijs/hapi/blob/master/CONTRIBUTING.md).
|
package/lib/parse.js
CHANGED
package/lib/utils.js
CHANGED
package/package.json
CHANGED
package/test/parse.js
CHANGED
|
@@ -192,7 +192,7 @@ describe('#parse', function () {
|
|
|
192
192
|
done();
|
|
193
193
|
});
|
|
194
194
|
|
|
195
|
-
it('
|
|
195
|
+
it('compacts sparse arrays', function (done) {
|
|
196
196
|
|
|
197
197
|
expect(Qs.parse('a[10]=1&a[2]=2')).to.deep.equal({ a: ['2', '1'] });
|
|
198
198
|
done();
|
|
@@ -253,9 +253,49 @@ describe('#parse', function () {
|
|
|
253
253
|
done();
|
|
254
254
|
});
|
|
255
255
|
|
|
256
|
-
it('
|
|
256
|
+
it('does not use non-string objects as delimiters', function (done) {
|
|
257
257
|
|
|
258
258
|
expect(Qs.parse('a=b&c=d', {})).to.deep.equal({ a: 'b', c: 'd' });
|
|
259
259
|
done();
|
|
260
260
|
});
|
|
261
|
+
|
|
262
|
+
it('parses an object', function (done) {
|
|
263
|
+
|
|
264
|
+
var input = {
|
|
265
|
+
"user[name]": {"pop[bob]": 3},
|
|
266
|
+
"user[email]": null
|
|
267
|
+
};
|
|
268
|
+
|
|
269
|
+
var expected = {
|
|
270
|
+
"user": {
|
|
271
|
+
"name": {"pop[bob]": 3},
|
|
272
|
+
"email": null
|
|
273
|
+
}
|
|
274
|
+
};
|
|
275
|
+
|
|
276
|
+
var result = Qs.parse(input);
|
|
277
|
+
|
|
278
|
+
expect(result).to.deep.equal(expected);
|
|
279
|
+
done();
|
|
280
|
+
});
|
|
281
|
+
|
|
282
|
+
it('parses an object and not child values', function (done) {
|
|
283
|
+
|
|
284
|
+
var input = {
|
|
285
|
+
"user[name]": {"pop[bob]": { "test": 3 }},
|
|
286
|
+
"user[email]": null
|
|
287
|
+
};
|
|
288
|
+
|
|
289
|
+
var expected = {
|
|
290
|
+
"user": {
|
|
291
|
+
"name": {"pop[bob]": { "test": 3 }},
|
|
292
|
+
"email": null
|
|
293
|
+
}
|
|
294
|
+
};
|
|
295
|
+
|
|
296
|
+
var result = Qs.parse(input);
|
|
297
|
+
|
|
298
|
+
expect(result).to.deep.equal(expected);
|
|
299
|
+
done();
|
|
300
|
+
});
|
|
261
301
|
});
|