1module.exports = [ 2 ['', '', []], 3 [ 4 'foo=918854443121279438895193', 5 'foo=918854443121279438895193', 6 [['foo', '918854443121279438895193']] 7 ], 8 ['foo=bar', 'foo=bar', [['foo', 'bar']]], 9 ['foo=bar&foo=quux', 'foo=bar&foo=quux', [['foo', 'bar'], ['foo', 'quux']]], 10 ['foo=1&bar=2', 'foo=1&bar=2', [['foo', '1'], ['bar', '2']]], 11 [ 12 "my%20weird%20field=q1!2%22'w%245%267%2Fz8)%3F", 13 'my+weird+field=q1%212%22%27w%245%267%2Fz8%29%3F', 14 [['my weird field', 'q1!2"\'w$5&7/z8)?']] 15 ], 16 ['foo%3Dbaz=bar', 'foo%3Dbaz=bar', [['foo=baz', 'bar']]], 17 ['foo=baz=bar', 'foo=baz%3Dbar', [['foo', 'baz=bar']]], 18 [ 19 'str=foo&arr=1&somenull&arr=2&undef=&arr=3', 20 'str=foo&arr=1&somenull=&arr=2&undef=&arr=3', 21 [ 22 ['str', 'foo'], 23 ['arr', '1'], 24 ['somenull', ''], 25 ['arr', '2'], 26 ['undef', ''], 27 ['arr', '3'] 28 ] 29 ], 30 [' foo = bar ', '+foo+=+bar+', [[' foo ', ' bar ']]], 31 ['foo=%zx', 'foo=%25zx', [['foo', '%zx']]], 32 ['foo=%EF%BF%BD', 'foo=%EF%BF%BD', [['foo', '\ufffd']]], 33 // See: https://github.com/joyent/node/issues/3058 34 ['foo&bar=baz', 'foo=&bar=baz', [['foo', ''], ['bar', 'baz']]], 35 ['a=b&c&d=e', 'a=b&c=&d=e', [['a', 'b'], ['c', ''], ['d', 'e']]], 36 ['a=b&c=&d=e', 'a=b&c=&d=e', [['a', 'b'], ['c', ''], ['d', 'e']]], 37 ['a=b&=c&d=e', 'a=b&=c&d=e', [['a', 'b'], ['', 'c'], ['d', 'e']]], 38 ['a=b&=&d=e', 'a=b&=&d=e', [['a', 'b'], ['', ''], ['d', 'e']]], 39 ['&&foo=bar&&', 'foo=bar', [['foo', 'bar']]], 40 ['&', '', []], 41 ['&&&&', '', []], 42 ['&=&', '=', [['', '']]], 43 ['&=&=', '=&=', [['', ''], ['', '']]], 44 ['=', '=', [['', '']]], 45 ['+', '+=', [[' ', '']]], 46 ['+=', '+=', [[' ', '']]], 47 ['+&', '+=', [[' ', '']]], 48 ['=+', '=+', [['', ' ']]], 49 ['+=&', '+=', [[' ', '']]], 50 ['a&&b', 'a=&b=', [['a', ''], ['b', '']]], 51 ['a=a&&b=b', 'a=a&b=b', [['a', 'a'], ['b', 'b']]], 52 ['&a', 'a=', [['a', '']]], 53 ['&=', '=', [['', '']]], 54 ['a&a&', 'a=&a=', [['a', ''], ['a', '']]], 55 ['a&a&a&', 'a=&a=&a=', [['a', ''], ['a', ''], ['a', '']]], 56 ['a&a&a&a&', 'a=&a=&a=&a=', [['a', ''], ['a', ''], ['a', ''], ['a', '']]], 57 ['a=&a=value&a=', 'a=&a=value&a=', [['a', ''], ['a', 'value'], ['a', '']]], 58 ['foo%20bar=baz%20quux', 'foo+bar=baz+quux', [['foo bar', 'baz quux']]], 59 ['+foo=+bar', '+foo=+bar', [[' foo', ' bar']]], 60 ['a+', 'a+=', [['a ', '']]], 61 ['=a+', '=a+', [['', 'a ']]], 62 ['a+&', 'a+=', [['a ', '']]], 63 ['=a+&', '=a+', [['', 'a ']]], 64 ['%20+', '++=', [[' ', '']]], 65 ['=%20+', '=++', [['', ' ']]], 66 ['%20+&', '++=', [[' ', '']]], 67 ['=%20+&', '=++', [['', ' ']]], 68 [ 69 // fake percent encoding 70 'foo=%©ar&baz=%A©uux&xyzzy=%©ud', 71 'foo=%25%C2%A9ar&baz=%25A%C2%A9uux&xyzzy=%25%C2%A9ud', 72 [['foo', '%©ar'], ['baz', '%A©uux'], ['xyzzy', '%©ud']] 73 ], 74 // always preserve order of key-value pairs 75 ['a=1&b=2&a=3', 'a=1&b=2&a=3', [['a', '1'], ['b', '2'], ['a', '3']]], 76 ['?a', '%3Fa=', [['?a', '']]] 77]; 78