Lines Matching refs:qs

28 const qs = require('querystring');
124 // [wonkyObj, qs, canonicalObj]
184 assert.strictEqual(qs.parse('id=918854443121279438895193').id,
211 // Test that the canonical qs is parsed properly.
213 check(qs.parse(testCase[0]), testCase[2], testCase[0]);
218 check(qs.parse(testCase[0], ';', ':'), testCase[2], testCase[0]);
223 check(qs.parse(testCase[1]), testCase[2], testCase[1]);
227 assert.deepStrictEqual(qs.stringify(testCase[1], '&', '='), testCase[0]);
230 // Test the nested qs-in-qs case
232 const f = qs.parse('a=b&q=x%3Dy%26y%3Dz');
238 f.q = qs.parse(f.q);
248 const f = qs.parse('a:b;q:x%3Ay%3By%3Az', ';', ':');
253 f.q = qs.parse(f.q, ';', ':');
265 assert.strictEqual(qs.stringify(testCase[2]), testCase[1]);
269 assert.strictEqual(qs.stringify(testCase[2], ';', ':'), testCase[1]);
273 assert.strictEqual(qs.stringify(testCase[0]), testCase[1]);
278 assert.strictEqual(qs.stringify({ foo: 2n ** 1023n }),
280 assert.strictEqual(qs.stringify([0n, 1n, 2n]),
283 assert.strictEqual(qs.stringify({ foo: 2n ** 1023n },
288 assert.strictEqual(qs.stringify([0n, 1n, 2n],
296 () => qs.stringify({ foo: '\udc00' }),
305 assert.strictEqual(qs.stringify({ foo: 0 }), 'foo=0');
306 assert.strictEqual(qs.stringify({ foo: -0 }), 'foo=0');
307 assert.strictEqual(qs.stringify({ foo: 3 }), 'foo=3');
308 assert.strictEqual(qs.stringify({ foo: -72.42 }), 'foo=-72.42');
309 assert.strictEqual(qs.stringify({ foo: NaN }), 'foo=');
310 assert.strictEqual(qs.stringify({ foo: 1e21 }), 'foo=1e%2B21');
311 assert.strictEqual(qs.stringify({ foo: Infinity }), 'foo=');
315 const f = qs.stringify({
317 q: qs.stringify({
325 qs.parse(undefined); // Should not throw.
329 const f = qs.stringify({
331 q: qs.stringify({
340 assert.strictEqual(qs.stringify(), '');
341 assert.strictEqual(qs.stringify(0), '');
342 assert.strictEqual(qs.stringify([]), '');
343 assert.strictEqual(qs.stringify(null), '');
344 assert.strictEqual(qs.stringify(true), '');
346 check(qs.parse(), {});
349 check(qs.parse('a', []), { a: '' });
352 check(qs.parse('a', null, []), { '': 'a' });
356 Object.keys(qs.parse('a=1&b=1&c=1', null, null, { maxKeys: 1 })).length,
361 Object.keys(qs.parse('&a', null, null, { maxKeys: 1 })).length,
371 const url = qs.stringify(query);
374 Object.keys(qs.parse(url, null, null, { maxKeys: 0 })).length,
382 const b = qs.unescapeBuffer('%d3%f2Ug%1f6v%24%5e%98%cb' +
407 assert.strictEqual(qs.unescapeBuffer('a+b', true).toString(), 'a b');
408 assert.strictEqual(qs.unescapeBuffer('a+b').toString(), 'a+b');
409 assert.strictEqual(qs.unescapeBuffer('a%').toString(), 'a%');
410 assert.strictEqual(qs.unescapeBuffer('a%2').toString(), 'a%2');
411 assert.strictEqual(qs.unescapeBuffer('a%20').toString(), 'a ');
412 assert.strictEqual(qs.unescapeBuffer('a%2g').toString(), 'a%2g');
413 assert.strictEqual(qs.unescapeBuffer('a%%').toString(), 'a%%');
416 check(qs.parse('%\u0100=%\u0101'), { '%Ā': '%ā' });
425 qs.parse('a=a&b=b&c=c', null, null, { decodeURIComponent: demoDecode }),
428 qs.parse('a=a&b=b&c=c', null, '==', { decodeURIComponent: (str) => str }),
438 check(qs.parse('a=a', null, null, { decodeURIComponent: errDecode }),
450 qs.stringify(obj, null, null, { encodeURIComponent: demoEncode }),
458 qs.stringify(obj, null, null, { encodeURIComponent: (v) => v }),
464 assert.strictEqual(qs.unescape(testCase[0]), testCase[1]);
465 assert.strictEqual(qs.unescapeBuffer(testCase[0]).toString(), testCase[1]);
470 const prevUnescape = qs.unescape;
471 qs.unescape = (str) => {
475 qs.parse('foo=bor'),
477 qs.unescape = prevUnescape;
480 check(qs.parse('foo&bar', '&', '&'), { foo: '', bar: '' });