@@ -569,15 +569,15 @@ it('parse(text, reviver)', () => {
569569 ) ;
570570
571571 expect (
572- JSONZ . parse ( '{a:1,b:2}' , ( k , v ) => ( k === 'a ') ? JSONZ . DELETE : v ) ) . to . deep . equal (
572+ JSONZ . parse ( '{a:1,b:2,c:undefined }' , ( k , v ) => ( k && k !== 'b ') ? JSONZ . DELETE : v ) ) . to . deep . equal (
573573 { b : 2 } ,
574574 'JSONZ.DELETE deletes property values'
575575 ) ;
576576
577577 expect (
578- JSONZ . parse ( '{a:1,b:2}' , ( k , v ) => ( k === 'a ') ? undefined : v ) ) . to . deep . equal (
579- { b : 2 } ,
580- '`undefined` deletes property values'
578+ JSONZ . parse ( '{a:1,b:2,c:undefined }' , ( k , v ) => ( k && k !== 'b ') ? undefined : v ) ) . to . deep . equal (
579+ { b : 2 , c : undefined } ,
580+ '`undefined` deletes property values (but not already undefined values) '
581581 ) ;
582582
583583 expect (
@@ -669,6 +669,12 @@ it('parse(text, reviver) special cases', () => {
669669 'should not modify BigDecimal values'
670670 ) ;
671671
672+ expect (
673+ JSONZ . stringify ( JSONZ . parse ( '[ 4,5 , 6 , 7]' , ( k , v , context ) => context . source || v ) ) ) . to . equal (
674+ "['4','5','6','7']" ,
675+ 'no white space included in source'
676+ ) ;
677+
672678 expect (
673679 JSONZ . stringify ( JSONZ . parse ( '[11,+11.,13,"q",`q`]' ,
674680 ( k , v , context , noContext ) => {
0 commit comments