@@ -10,35 +10,17 @@ var qs = require("querystring");
10
10
var qsTestCases = [
11
11
[ "foo=918854443121279438895193" , "foo=918854443121279438895193" , { "foo" : "918854443121279438895193" } ] ,
12
12
[ "foo=bar" , "foo=bar" , { "foo" : "bar" } ] ,
13
- [ "foo=bar&foo=quux" , "foo%5B%5D =bar&foo%5B%5D =quux" , { "foo" : [ "bar" , "quux" ] } ] ,
13
+ [ "foo=bar&foo=quux" , "foo=bar&foo=quux" , { "foo" : [ "bar" , "quux" ] } ] ,
14
14
[ "foo=1&bar=2" , "foo=1&bar=2" , { "foo" : "1" , "bar" : "2" } ] ,
15
15
[ "my+weird+field=q1%212%22%27w%245%267%2Fz8%29%3F" , "my%20weird%20field=q1!2%22'w%245%267%2Fz8)%3F" , { "my weird field" : "q1!2\"'w$5&7/z8)?" } ] ,
16
16
[ "foo%3Dbaz=bar" , "foo%3Dbaz=bar" , { "foo=baz" : "bar" } ] ,
17
17
[ "foo=baz=bar" , "foo=baz%3Dbar" , { "foo" : "baz=bar" } ] ,
18
- [ "str=foo&arr[] =1&arr[] =2&arr[] =3&obj[a]=bar&obj[b][]=4&obj[b][]=5&obj[b][]=6&obj[b][]=&obj[c][]=4&obj[c][]=5&obj[c][][somestr]=baz&obj[objobj][objobjstr]=blerg& somenull=&undef=" , "str=foo&arr%5B%5D =1&arr%5B%5D =2&arr%5B%5D=3&obj%5Ba%5D=bar&obj%5Bb%5D%5B%5D=4&obj%5Bb%5D%5B%5D=5&obj%5Bb%5D%5B%5D=6&obj%5Bb%5D%5B%5D=&obj%5Bc%5D%5B%5D=4&obj%5Bc%5D%5B%5D=5&obj%5Bc%5D%5B%5D%5Bsomestr%5D=baz&obj%5Bobjobj%5D%5Bobjobjstr%5D=blerg &somenull=&undef=" , {
18
+ [ "str=foo&arr=1&arr=2&arr=3&somenull=&undef=" , "str=foo&arr=1&arr=2&arr=3 &somenull=&undef=" , {
19
19
"str" :"foo" ,
20
20
"arr" :[ "1" , "2" , "3" ] ,
21
- "obj" :{
22
- "a" :"bar" ,
23
- "b" :[ "4" , "5" , "6" , "" ] ,
24
- "c" :[ "4" , "5" , { "somestr" :"baz" } ] ,
25
- "objobj" :{ "objobjstr" :"blerg" }
26
- } ,
27
21
"somenull" :"" ,
28
22
"undef" :""
29
23
} ] ,
30
- [ "foo[bar][bla]=baz&foo[bar][bla]=blo" , "foo%5Bbar%5D%5Bbla%5D%5B%5D=baz&foo%5Bbar%5D%5Bbla%5D%5B%5D=blo" , { "foo" :{ "bar" :{ "bla" :[ "baz" , "blo" ] } } } ] ,
31
- [ "foo[bar][][bla]=baz&foo[bar][][bla]=blo" , "foo%5Bbar%5D%5B%5D%5Bbla%5D=baz&foo%5Bbar%5D%5B%5D%5Bbla%5D=blo" , { "foo" :{ "bar" :[ { "bla" :"baz" } , { "bla" :"blo" } ] } } ] ,
32
- [ "foo[bar][bla][]=baz&foo[bar][bla][]=blo" , "foo%5Bbar%5D%5Bbla%5D%5B%5D=baz&foo%5Bbar%5D%5Bbla%5D%5B%5D=blo" , { "foo" :{ "bar" :{ "bla" :[ "baz" , "blo" ] } } } ] ,
33
-
34
- [ "foo.bar.bla=baz&foo.bar.bla=blo" , "foo%5Bbar%5D%5Bbla%5D%5B%5D=baz&foo%5Bbar%5D%5Bbla%5D%5B%5D=blo" , { "foo" :{ "bar" :{ "bla" :[ "baz" , "blo" ] } } } ] ,
35
- [ "foo.bar[].bla=baz&foo[bar][][bla]=blo" , "foo%5Bbar%5D%5B%5D%5Bbla%5D=baz&foo%5Bbar%5D%5B%5D%5Bbla%5D=blo" , { "foo" :{ "bar" :[ { "bla" :"baz" } , { "bla" :"blo" } ] } } ] ,
36
- [ "foo[bar].bla[]=baz&foo.bar[bla][]=blo" , "foo%5Bbar%5D%5Bbla%5D%5B%5D=baz&foo%5Bbar%5D%5Bbla%5D%5B%5D=blo" , { "foo" :{ "bar" :{ "bla" :[ "baz" , "blo" ] } } } ] ,
37
-
38
- [ "foo['bar']['bla']=baz&foo[\"bar\"][\"bla\"]=blo" , "foo%5Bbar%5D%5Bbla%5D%5B%5D=baz&foo%5Bbar%5D%5Bbla%5D%5B%5D=blo" , { "foo" :{ "bar" :{ "bla" :[ "baz" , "blo" ] } } } ] ,
39
- [ "foo['bar'][]['bla']=baz&foo['bar'][][\"bla\"]=blo" , "foo%5Bbar%5D%5B%5D%5Bbla%5D=baz&foo%5Bbar%5D%5B%5D%5Bbla%5D=blo" , { "foo" :{ "bar" :[ { "bla" :"baz" } , { "bla" :"blo" } ] } } ] ,
40
- [ "foo[bar][\"bla\"][]=baz&foo[\"bar\"][bla][]=blo" , "foo%5Bbar%5D%5Bbla%5D%5B%5D=baz&foo%5Bbar%5D%5Bbla%5D%5B%5D=blo" , { "foo" :{ "bar" :{ "bla" :[ "baz" , "blo" ] } } } ] ,
41
-
42
24
[ " foo = bar " , "%20foo%20=%20bar%20" , { " foo " :" bar " } ] ,
43
25
[ "foo=%zx" , "foo=%25zx" , { "foo" :"%zx" } ] ,
44
26
[ "foo=%EF%BF%BD" , "foo=%EF%BF%BD" , { "foo" : "\ufffd" } ]
@@ -47,7 +29,7 @@ var qsTestCases = [
47
29
// [ wonkyQS, canonicalQS, obj ]
48
30
var qsColonTestCases = [
49
31
[ "foo:bar" , "foo:bar" , { "foo" :"bar" } ] ,
50
- [ "foo:bar;foo:quux" , "foo%5B%5D :bar;foo%5B%5D :quux" , { "foo" : [ "bar" , "quux" ] } ] ,
32
+ [ "foo:bar;foo:quux" , "foo:bar;foo:quux" , { "foo" : [ "bar" , "quux" ] } ] ,
51
33
[ "foo:1&bar:2;baz:quux" , "foo:1%26bar%3A2;baz:quux" , { "foo" :"1&bar:2" , "baz" :"quux" } ] ,
52
34
[ "foo%3Abaz:bar" , "foo%3Abaz:bar" , { "foo:baz" :"bar" } ] ,
53
35
[ "foo:baz:bar" , "foo:baz%3Abar" , { "foo" :"baz:bar" } ]
@@ -65,8 +47,8 @@ var qsWeirdObjects = [
65
47
[ { e :extendedFunction } , "e=" , { "e" :"" } ] ,
66
48
[ { d :new Date ( ) } , "d=" , { "d" :"" } ] ,
67
49
[ { d :Date } , "d=" , { "d" :"" } ] ,
68
- [ { f :new Boolean ( false ) , t :new Boolean ( true ) } , "f=0 &t=1 " , { "f" :"0 " , "t" :"1 " } ] ,
69
- [ { f :false , t :true } , "f=0 &t=1 " , { "f" :"0 " , "t" :"1 " } ] ,
50
+ [ { f :new Boolean ( false ) , t :new Boolean ( true ) } , "f=&t=" , { "f" :"" , "t" :"" } ] ,
51
+ [ { f :false , t :true } , "f=false &t=true " , { "f" :"false " , "t" :"true " } ] ,
70
52
[ { n :null } , "n=" , { "n" :"" } ] ,
71
53
[ { nan :NaN } , "nan=" , { "nan" :"" } ] ,
72
54
[ { inf :Infinity } , "inf=" , { "inf" :"" } ]
@@ -84,7 +66,7 @@ var qsNoMungeTestCases = [
84
66
[ "gragh=1&gragh=3&goo=2" , { "gragh" : [ "1" , "3" ] , "goo" : "2" } ] ,
85
67
[ "frappucino=muffin&goat%5B%5D=scone&pond=moose" ,
86
68
{ "frappucino" : "muffin" , "goat[]" : "scone" , "pond" : "moose" } ] ,
87
- [ "obj%5Btrololol%5D =yes&obj%5Blololo%5D =no" , { "obj" : { " trololol" : "yes" , "lololo" : "no" } } ]
69
+ [ "trololol =yes&lololo =no" , { "trololol" : "yes" , "lololo" : "no" } ]
88
70
] ;
89
71
90
72
assert . strictEqual ( "918854443121279438895193" , qs . parse ( "id=918854443121279438895193" ) . id ) ;
@@ -123,11 +105,6 @@ qsNoMungeTestCases.forEach(function (testCase) {
123
105
} ) ( ) ;
124
106
125
107
// now test stringifying
126
- assert . throws ( function ( ) {
127
- var f = { } ;
128
- f . f = f ;
129
- qs . stringify ( f ) ;
130
- } ) ;
131
108
132
109
// basic
133
110
qsTestCases . forEach ( function ( testCase ) {
0 commit comments