@@ -618,14 +618,51 @@ describe('stringify', function() {
618618 assert . equal ( result . json , '{\n "foo": "bar"\n}' ) ;
619619 } ) ;
620620
621+ describe ( 'option es6' , function ( ) {
622+ it ( 'should strigify Maps' , function ( ) {
623+ var data = new Map ;
624+ testStringify ( data , { } , false , { es6 : true } ) ;
625+
626+ data . set ( 'foo' , 1 ) ;
627+ data . set ( 'bar' , 2 ) ;
628+ testStringify ( data , { foo : 1 , bar : 2 } , false , { es6 : true } ) ;
629+ testStringify ( data , { foo : 1 , bar : 2 } , false , { es6 : true , space : 2 } ) ;
630+ } ) ;
631+
632+ it ( 'should strigify Sets' , function ( ) {
633+ var data = new Set ;
634+ testStringify ( data , { } , false , { es6 : true } ) ;
635+
636+ data . add ( 'foo' ) ;
637+ data . add ( 'bar' ) ;
638+ testStringify ( data , { foo : true , bar : true } , false , { es6 : true } ) ;
639+ testStringify ( data , { foo : true , bar : true } , false , { es6 : true , space : 2 } ) ;
640+ } ) ;
641+
642+ it ( 'should strigify Typed arrays' , function ( ) {
643+ var data = new Int8Array ( 2 ) ;
644+ testStringify ( data , [ 0 , 0 ] , false , { es6 : true } ) ;
645+
646+ data [ 0 ] = 1 ;
647+ data [ 1 ] = 2 ;
648+ testStringify ( data , [ 1 , 2 ] , false , { es6 : true } ) ;
649+ testStringify ( data , [ 1 , 2 ] , false , { es6 : true , space : 2 } ) ;
650+ } ) ;
651+
652+ it ( 'should still strigify Objects' , function ( ) {
653+ testStringify ( { } , { } , false , { es6 : true } ) ;
654+ testStringify ( { foo : 1 , bar : 2 } , { foo : 1 , bar : 2 } , false , { es6 : true } ) ;
655+ } ) ;
656+ } ) ;
657+
621658 function equal ( objects ) {
622659 for ( var i = 1 ; i < objects . length ; i ++ )
623660 assert . deepStrictEqual ( objects [ 0 ] , objects [ i ] ) ;
624661 }
625662
626- function testStringify ( data , reverseData , skipReverseCheck , whitespace ) {
663+ function testStringify ( data , reverseData , skipReverseCheck , options ) {
627664 if ( reverseData === undefined ) reverseData = data ;
628- var result = jsonMap . stringify ( data , null , whitespace ) ;
665+ var result = jsonMap . stringify ( data , null , options ) ;
629666 var json = result . json ;
630667 var pointers = result . pointers ;
631668
0 commit comments