@@ -322,23 +322,45 @@ describe('Map diff', function(){
322322 assert . ok ( Immutable . is ( result , expected ) ) ;
323323 } ) ;
324324
325- it ( 'replaces null for immutable value' , function ( ) {
326- var map1 = null ;
327- var map2 = Immutable . fromJS ( { a : 1 } ) ;
325+ describe ( 'handling nulls' , function ( ) {
326+ it ( 'replaces null for immutable value' , function ( ) {
327+ var map1 = null ;
328+ var map2 = Immutable . fromJS ( { a : 1 } ) ;
328329
329- var result = diff ( map1 , map2 ) ;
330- var expected = Immutable . fromJS ( [ { op : 'replace' , path : '/' , value : map2 } ] ) ;
330+ var result = diff ( map1 , map2 ) ;
331+ var expected = Immutable . fromJS ( [ { op : 'replace' , path : '/' , value : map2 } ] ) ;
331332
332- assert . ok ( Immutable . is ( result , expected ) ) ;
333- } ) ;
333+ assert . ok ( Immutable . is ( result , expected ) ) ;
334+ } ) ;
334335
335- it ( 'replaces value for null' , function ( ) {
336- var map1 = Immutable . fromJS ( { a : 1 } ) ;
337- var map2 = null ;
336+ it ( 'replaces value for null' , function ( ) {
337+ var map1 = Immutable . fromJS ( { a : 1 } ) ;
338+ var map2 = null ;
338339
339- var result = diff ( map1 , map2 ) ;
340- var expected = Immutable . fromJS ( [ { op : 'replace' , path : '/' , value : map2 } ] ) ;
340+ var result = diff ( map1 , map2 ) ;
341+ var expected = Immutable . fromJS ( [ { op : 'replace' , path : '/' , value : map2 } ] ) ;
341342
342- assert . ok ( Immutable . is ( result , expected ) ) ;
343+ assert . ok ( Immutable . is ( result , expected ) ) ;
344+ } ) ;
345+
346+ it ( 'replaces null value in map' , function ( ) {
347+ var map1 = Immutable . fromJS ( { a : null } ) ;
348+ var map2 = Immutable . fromJS ( { a : 1 } ) ;
349+
350+ var result = diff ( map1 , map2 ) ;
351+ var expected = Immutable . fromJS ( [ { op : 'replace' , path : '/a' , value : 1 } ] ) ;
352+
353+ assert . ok ( Immutable . is ( result , expected ) ) ;
354+ } ) ;
355+
356+ it ( 'replaces null value in map for empty map' , function ( ) {
357+ var map1 = Immutable . fromJS ( { a : null } ) ;
358+ var map2 = Immutable . fromJS ( { } ) ;
359+
360+ var result = diff ( map1 , map2 ) ;
361+ var expected = Immutable . fromJS ( [ { op : 'remove' , path : '/a' } ] ) ;
362+
363+ assert . ok ( Immutable . is ( result , expected ) ) ;
364+ } ) ;
343365 } ) ;
344366} ) ;
0 commit comments