@@ -132,42 +132,52 @@ test('stringify()', function (t) {
132
132
} ) ;
133
133
134
134
t . test ( 'stringifies a nested array value' , function ( st ) {
135
- st . equal ( qs . stringify ( { a : { b : [ 'c' , 'd' ] } } , { arrayFormat : 'indices' } ) , 'a%5Bb%5D%5B0%5D=c&a%5Bb%5D%5B1%5D=d' ) ;
136
- st . equal ( qs . stringify ( { a : { b : [ 'c' , 'd' ] } } , { arrayFormat : 'brackets' } ) , 'a%5Bb%5D%5B%5D=c&a%5Bb%5D%5B%5D=d' ) ;
137
- st . equal ( qs . stringify ( { a : { b : [ 'c' , 'd' ] } } , { arrayFormat : 'comma' } ) , 'a%5Bb%5D=c%2Cd' ) ; // a[b]=c,d
138
- st . equal ( qs . stringify ( { a : { b : [ 'c' , 'd' ] } } ) , 'a%5Bb%5D%5B0%5D=c&a%5Bb%5D%5B1%5D=d' ) ;
135
+ st . equal ( qs . stringify ( { a : { b : [ 'c' , 'd' ] } } , { encodeValuesOnly : true , arrayFormat : 'indices' } ) , 'a[b][0]=c&a[b][1]=d' ) ;
136
+ st . equal ( qs . stringify ( { a : { b : [ 'c' , 'd' ] } } , { encodeValuesOnly : true , arrayFormat : 'brackets' } ) , 'a[b][]=c&a[b][]=d' ) ;
137
+ st . equal ( qs . stringify ( { a : { b : [ 'c' , 'd' ] } } , { encodeValuesOnly : true , arrayFormat : 'comma' } ) , 'a[b]=c%2Cd' ) ;
138
+ st . equal ( qs . stringify ( { a : { b : [ 'c' , 'd' ] } } , { encodeValuesOnly : true , arrayFormat : 'comma' } ) , 'a[b]=c,d' , '(pending issue #378)' , { skip : true } ) ;
139
+ st . equal ( qs . stringify ( { a : { b : [ 'c' , 'd' ] } } , { encodeValuesOnly : true } ) , 'a[b][0]=c&a[b][1]=d' ) ;
139
140
st . end ( ) ;
140
141
} ) ;
141
142
142
143
t . test ( 'stringifies a nested array value with dots notation' , function ( st ) {
143
144
st . equal (
144
145
qs . stringify (
145
146
{ a : { b : [ 'c' , 'd' ] } } ,
146
- { allowDots : true , encode : false , arrayFormat : 'indices' }
147
+ { allowDots : true , encodeValuesOnly : true , arrayFormat : 'indices' }
147
148
) ,
148
149
'a.b[0]=c&a.b[1]=d' ,
149
150
'indices: stringifies with dots + indices'
150
151
) ;
151
152
st . equal (
152
153
qs . stringify (
153
154
{ a : { b : [ 'c' , 'd' ] } } ,
154
- { allowDots : true , encode : false , arrayFormat : 'brackets' }
155
+ { allowDots : true , encodeValuesOnly : true , arrayFormat : 'brackets' }
155
156
) ,
156
157
'a.b[]=c&a.b[]=d' ,
157
158
'brackets: stringifies with dots + brackets'
158
159
) ;
159
160
st . equal (
160
161
qs . stringify (
161
162
{ a : { b : [ 'c' , 'd' ] } } ,
162
- { allowDots : true , encode : false , arrayFormat : 'comma' }
163
+ { allowDots : true , encodeValuesOnly : true , arrayFormat : 'comma' }
163
164
) ,
164
- 'a.b=c,d ' ,
165
+ 'a.b=c%2Cd ' ,
165
166
'comma: stringifies with dots + comma'
166
167
) ;
167
168
st . equal (
168
169
qs . stringify (
169
170
{ a : { b : [ 'c' , 'd' ] } } ,
170
- { allowDots : true , encode : false }
171
+ { allowDots : true , encodeValuesOnly : true , arrayFormat : 'comma' }
172
+ ) ,
173
+ 'a.b=c,d' ,
174
+ 'comma: stringifies with dots + comma (pending issue #378)' ,
175
+ { skip : true }
176
+ ) ;
177
+ st . equal (
178
+ qs . stringify (
179
+ { a : { b : [ 'c' , 'd' ] } } ,
180
+ { allowDots : true , encodeValuesOnly : true }
171
181
) ,
172
182
'a.b[0]=c&a.b[1]=d' ,
173
183
'default: stringifies with dots + indices'
@@ -215,17 +225,23 @@ test('stringify()', function (t) {
215
225
216
226
t . test ( 'stringifies an array with mixed objects and primitives' , function ( st ) {
217
227
st . equal (
218
- qs . stringify ( { a : [ { b : 1 } , 2 , 3 ] } , { encode : false , arrayFormat : 'indices' } ) ,
228
+ qs . stringify ( { a : [ { b : 1 } , 2 , 3 ] } , { encodeValuesOnly : true , arrayFormat : 'indices' } ) ,
219
229
'a[0][b]=1&a[1]=2&a[2]=3' ,
220
230
'indices => indices'
221
231
) ;
222
232
st . equal (
223
- qs . stringify ( { a : [ { b : 1 } , 2 , 3 ] } , { encode : false , arrayFormat : 'brackets' } ) ,
233
+ qs . stringify ( { a : [ { b : 1 } , 2 , 3 ] } , { encodeValuesOnly : true , arrayFormat : 'brackets' } ) ,
224
234
'a[][b]=1&a[]=2&a[]=3' ,
225
235
'brackets => brackets'
226
236
) ;
227
237
st . equal (
228
- qs . stringify ( { a : [ { b : 1 } , 2 , 3 ] } , { encode : false } ) ,
238
+ qs . stringify ( { a : [ { b : 1 } , 2 , 3 ] } , { encodeValuesOnly : true , arrayFormat : 'comma' } ) ,
239
+ '???' ,
240
+ 'brackets => brackets (pending issue #378)' ,
241
+ { skip : true }
242
+ ) ;
243
+ st . equal (
244
+ qs . stringify ( { a : [ { b : 1 } , 2 , 3 ] } , { encodeValuesOnly : true } ) ,
229
245
'a[0][b]=1&a[1]=2&a[2]=3' ,
230
246
'default => indices'
231
247
) ;
@@ -784,7 +800,7 @@ test('stringify()', function (t) {
784
800
st . equal ( qs . stringify ( withArray , { encode : false } ) , 'a[b][0][c]=d&a[b][0][e]=f' , 'array, no arrayFormat' ) ;
785
801
st . equal ( qs . stringify ( withArray , { encode : false , arrayFormat : 'bracket' } ) , 'a[b][0][c]=d&a[b][0][e]=f' , 'array, bracket' ) ;
786
802
st . equal ( qs . stringify ( withArray , { encode : false , arrayFormat : 'indices' } ) , 'a[b][0][c]=d&a[b][0][e]=f' , 'array, indices' ) ;
787
- st . equal ( qs . stringify ( obj , { encode : false , arrayFormat : 'comma' } ) , '???' , 'array, comma (pending issue #378)' , { skip : true } ) ;
803
+ st . equal ( qs . stringify ( withArray , { encode : false , arrayFormat : 'comma' } ) , '???' , 'array, comma (pending issue #378)' , { skip : true } ) ;
788
804
789
805
st . end ( ) ;
790
806
} ) ;
0 commit comments