Skip to content
Permalink
Browse files

test: add two test cases for querystring

+ Cover untested branch in the state machine with the string
  that its first letter is `+` in the key/value.
+ `qs.unescapeBuffer` shouldn't decode `+` to space.

PR-URL: #11551
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
  • Loading branch information...
watilde authored and addaleax committed Feb 25, 2017
1 parent e047c99 commit acc3a80546239b3d14d01b75a9169e81f556ddca
Showing with 2 additions and 0 deletions.
  1. +2 −0 test/parallel/test-querystring.js
@@ -69,6 +69,7 @@ const qsTestCases = [
['a&a&a&a&', 'a=&a=&a=&a=', { a: [ '', '', '', '' ] }],
['a=&a=value&a=', 'a=&a=value&a=', { a: [ '', 'value', '' ] }],
['foo+bar=baz+quux', 'foo%20bar=baz%20quux', { 'foo bar': 'baz quux' }],
['+foo=+bar', '%20foo=%20bar', { ' foo': ' bar' }],
[null, '', {}],
[undefined, '', {}]
];
@@ -333,6 +334,7 @@ assert.strictEqual(0xa2, b[18]);
assert.strictEqual(0xe6, b[19]);

assert.strictEqual(qs.unescapeBuffer('a+b', true).toString(), 'a b');
assert.strictEqual(qs.unescapeBuffer('a+b').toString(), 'a+b');
assert.strictEqual(qs.unescapeBuffer('a%').toString(), 'a%');
assert.strictEqual(qs.unescapeBuffer('a%2').toString(), 'a%2');
assert.strictEqual(qs.unescapeBuffer('a%20').toString(), 'a ');

0 comments on commit acc3a80

Please sign in to comment.
You can’t perform that action at this time.