From acc3a80546239b3d14d01b75a9169e81f556ddca Mon Sep 17 00:00:00 2001 From: Daijiro Wachi Date: Sat, 25 Feb 2017 16:27:04 +0100 Subject: [PATCH] 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: https://github.com/nodejs/node/pull/11551 Reviewed-By: Anna Henningsen Reviewed-By: James M Snell Reviewed-By: Colin Ihrig Reviewed-By: Yuta Hiroto Reviewed-By: Joyee Cheung --- test/parallel/test-querystring.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/parallel/test-querystring.js b/test/parallel/test-querystring.js index 51332d59a77277..1c31908b01901b 100644 --- a/test/parallel/test-querystring.js +++ b/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 ');