@@ -34,17 +34,31 @@ test('parse()', function (t) {
3434
3535 t . test ( 'arrayFormat: brackets allows only explicit arrays' , function ( st ) {
3636 st . deepEqual ( qs . parse ( 'a[]=b&a[]=c' , { arrayFormat : 'brackets' } ) , { a : [ 'b' , 'c' ] } ) ;
37+ st . deepEqual ( qs . parse ( 'a[0]=b&a[1]=c' , { arrayFormat : 'brackets' } ) , { 'a[0]' : 'b' , 'a[1]' : 'c' } ) ;
3738 st . deepEqual ( qs . parse ( 'a=b,c' , { arrayFormat : 'brackets' } ) , { a : 'b,c' } ) ;
39+ st . deepEqual ( qs . parse ( 'a=b&a=c' , { arrayFormat : 'brackets' } ) , { a : 'c' } ) ;
3840 st . end ( ) ;
3941 } ) ;
4042
4143 t . test ( 'arrayFormat: indices allows only indexed arrays' , function ( st ) {
44+ st . deepEqual ( qs . parse ( 'a[]=b&a[]=c' , { arrayFormat : 'indices' } ) , { 'a[]' : 'c' } ) ;
4245 st . deepEqual ( qs . parse ( 'a[0]=b&a[1]=c' , { arrayFormat : 'indices' } ) , { a : [ 'b' , 'c' ] } ) ;
4346 st . deepEqual ( qs . parse ( 'a=b,c' , { arrayFormat : 'indices' } ) , { a : 'b,c' } ) ;
47+ st . deepEqual ( qs . parse ( 'a=b&a=c' , { arrayFormat : 'indices' } ) , { a : 'c' } ) ;
48+ st . end ( ) ;
49+ } ) ;
50+
51+ t . test ( 'arrayFormat: comma allows only comma-separated arrays' , function ( st ) {
52+ st . deepEqual ( qs . parse ( 'a[]=b&a[]=c' , { arrayFormat : 'comma' } ) , { 'a[]' : 'c' } ) ;
53+ st . deepEqual ( qs . parse ( 'a[0]=b&a[1]=c' , { arrayFormat : 'comma' } ) , { 'a[0]' : 'b' , 'a[1]' : 'c' } ) ;
54+ st . deepEqual ( qs . parse ( 'a=b,c' , { arrayFormat : 'comma' } ) , { a : [ 'b' , 'c' ] } ) ;
55+ st . deepEqual ( qs . parse ( 'a=b&a=c' , { arrayFormat : 'comma' } ) , { a : 'c' } ) ;
4456 st . end ( ) ;
4557 } ) ;
4658
4759 t . test ( 'arrayFormat: repeat allows only repeated values' , function ( st ) {
60+ st . deepEqual ( qs . parse ( 'a[]=b&a[]=c' , { arrayFormat : 'repeat' } ) , { 'a[]' : 'c' } ) ;
61+ st . deepEqual ( qs . parse ( 'a[0]=b&a[1]=c' , { arrayFormat : 'repeat' } ) , { 'a[0]' : 'b' , 'a[1]' : 'c' } ) ;
4862 st . deepEqual ( qs . parse ( 'a=b,c' , { arrayFormat : 'repeat' } ) , { a : 'b,c' } ) ;
4963 st . deepEqual ( qs . parse ( 'a=b&a=c' , { arrayFormat : 'repeat' } ) , { a : [ 'b' , 'c' ] } ) ;
5064 st . end ( ) ;
0 commit comments