@@ -392,6 +392,7 @@ impl parser for parser {
392
392
393
393
if self . ch == ']' {
394
394
self . bump ( ) ;
395
+ self . parse_whitespace ( ) ;
395
396
ret ok( list ( values) ) ;
396
397
}
397
398
@@ -406,7 +407,11 @@ impl parser for parser {
406
407
407
408
alt self. ch {
408
409
',' { self . bump ( ) ; }
409
- ']' { self . bump ( ) ; ret ok( list ( values) ) ; }
410
+ ']' {
411
+ self . bump ( ) ;
412
+ self . parse_whitespace ( ) ;
413
+ ret ok( list ( values) ) ;
414
+ }
410
415
_ { ret self. error ( "expecting ',' or ']'" ) ; }
411
416
}
412
417
}
@@ -422,6 +427,7 @@ impl parser for parser {
422
427
423
428
if self . ch == '}' {
424
429
self . bump ( ) ;
430
+ self . parse_whitespace ( ) ;
425
431
ret ok( dict ( values) ) ;
426
432
}
427
433
@@ -453,7 +459,11 @@ impl parser for parser {
453
459
454
460
alt self. ch {
455
461
',' { self . bump ( ) ; }
456
- '}' { self . bump ( ) ; ret ok( dict ( values) ) ; }
462
+ '}' {
463
+ self . bump ( ) ;
464
+ self . parse_whitespace ( ) ;
465
+ ret ok( dict ( values) ) ;
466
+ }
457
467
_ {
458
468
if self. eof ( ) { break ; }
459
469
ret self. error ( "expecting ',' or '}'" ) ;
@@ -691,6 +701,7 @@ mod tests {
691
701
assert from_str ( "[ false ]" ) == ok ( list ( [ boolean ( false ) ] ) ) ;
692
702
assert from_str ( "[null]" ) == ok ( list ( [ null] ) ) ;
693
703
assert from_str ( "[3, 1]" ) == ok ( list ( [ num ( 3 f) , num ( 1 f) ] ) ) ;
704
+ assert from_str ( "\n [3, 2]\n " ) == ok ( list ( [ num ( 3 f) , num ( 2 f) ] ) ) ;
694
705
assert from_str ( "[2, [4, 1]]" ) ==
695
706
ok ( list ( [ num ( 2 f) , list ( [ num ( 4 f) , num ( 1 f) ] ) ] ) ) ;
696
707
}
@@ -727,6 +738,8 @@ mod tests {
727
738
728
739
assert eq ( result:: get ( from_str ( "{ \" a\" : null, \" b\" : true }" ) ) ,
729
740
mk_dict ( [ ( "a" , null) , ( "b" , boolean ( true ) ) ] ) ) ;
741
+ assert eq ( result:: get ( from_str ( "\n { \" a\" : null, \" b\" : true }\n " ) ) ,
742
+ mk_dict ( [ ( "a" , null) , ( "b" , boolean ( true ) ) ] ) ) ;
730
743
assert eq ( result:: get ( from_str ( "{\" a\" : 1.0 ,\" b\" : [ true ]}" ) ) ,
731
744
mk_dict ( [
732
745
( "a" , num ( 1.0 ) ) ,
0 commit comments