Skip to content

Commit

Permalink
test: complete coverage of querystring
Browse files Browse the repository at this point in the history
PR-URL: #38520
Refs: https://coverage.nodejs.org/coverage-68e6673224365120/lib/querystring.js.html#L179
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
  • Loading branch information
pd4d10 authored and targos committed Jun 11, 2021
1 parent 4f1ba79 commit 726cb48
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions test/parallel/test-querystring.js
Expand Up @@ -307,6 +307,7 @@ assert.strictEqual(qs.stringify({ foo: -0 }), 'foo=0');
assert.strictEqual(qs.stringify({ foo: 3 }), 'foo=3');
assert.strictEqual(qs.stringify({ foo: -72.42 }), 'foo=-72.42');
assert.strictEqual(qs.stringify({ foo: NaN }), 'foo=');
assert.strictEqual(qs.stringify({ foo: 1e21 }), 'foo=1e%2B21');
assert.strictEqual(qs.stringify({ foo: Infinity }), 'foo=');

// nested
Expand Down Expand Up @@ -450,6 +451,14 @@ check(qs.parse('%\u0100=%\u0101'), { '%Ā': '%ā' });
'a=a&b=b&c=c');
}

// Test custom encode for different types
{
const obj = { number: 1, bigint: 2n, true: true, false: false, object: {} };
assert.strictEqual(
qs.stringify(obj, null, null, { encodeURIComponent: (v) => v }),
'number=1&bigint=2&true=true&false=false&object=');
}

// Test QueryString.unescapeBuffer
qsUnescapeTestCases.forEach((testCase) => {
assert.strictEqual(qs.unescape(testCase[0]), testCase[1]);
Expand Down

0 comments on commit 726cb48

Please sign in to comment.