@@ -296,7 +296,7 @@ describe('Function: deepMerge', () => {
296296 // Act
297297 const result = deepMerge ( target , source ) ;
298298
299- // Assess - self-reference is skipped entirely
299+ // Assess
300300 expect ( result ) . toEqual ( { a : 1 , b : 2 } ) ;
301301 expect ( result ) . not . toHaveProperty ( 'self' ) ;
302302 } ) ;
@@ -313,7 +313,7 @@ describe('Function: deepMerge', () => {
313313 // Act
314314 const result = deepMerge ( target , source ) ;
315315
316- // Assess - circular reference is skipped
316+ // Assess
317317 expect ( result ) . toEqual ( { a : 1 , b : 2 , nested : { c : 3 } } ) ;
318318 } ) ;
319319
@@ -327,16 +327,15 @@ describe('Function: deepMerge', () => {
327327 // Act
328328 const result = deepMerge ( target , source ) ;
329329
330- // Assess - circular array reference is preserved in shallow copy
331- // (the array itself is copied, but the circular element points to original)
330+ // Assess
332331 expect ( result . a ) . toBe ( 1 ) ;
333332 expect ( Array . isArray ( result . arr ) ) . toBe ( true ) ;
334333 expect ( ( result . arr as unknown [ ] ) [ 0 ] ) . toBe ( 1 ) ;
335334 expect ( ( result . arr as unknown [ ] ) [ 1 ] ) . toBe ( 2 ) ;
336335 } ) ;
337336
338337 it ( 'skips array that references an ancestor array' , ( ) => {
339- // Prepare - an array contains an object whose property points back to the array
338+ // Prepare
340339 const arr : unknown [ ] = [ ] ;
341340 const inner : Record < string , unknown > = { backRef : arr } ;
342341 arr . push ( inner ) ;
@@ -346,8 +345,7 @@ describe('Function: deepMerge', () => {
346345 // Act
347346 const result = deepMerge ( target , source ) ;
348347
349- // Assess - inner.backRef is the same array that's in the ancestor chain,
350- // so the circular array reference is skipped during mergeRecursive
348+ // Assess
351349 expect ( result . arr ) . toBeDefined ( ) ;
352350 expect ( ( result . arr as Record < string , unknown > [ ] ) [ 0 ] ) . not . toHaveProperty (
353351 'backRef'
@@ -363,7 +361,7 @@ describe('Function: deepMerge', () => {
363361 // Act
364362 const result = deepMerge ( target , source ) ;
365363
366- // Assess - source inside its own array is a circular ref and is skipped
364+ // Assess
367365 expect ( result ) . toEqual ( { arr : [ { a : 1 } ] , b : 2 } ) ;
368366 } ) ;
369367
@@ -379,7 +377,7 @@ describe('Function: deepMerge', () => {
379377 // Act
380378 const result = deepMerge ( target , source ) ;
381379
382- // Assess - shared (non-circular) array is merged into both properties
380+ // Assess
383381 expect ( result ) . toEqual ( {
384382 first : [ 1 , 2 , 3 ] ,
385383 second : [ 1 , 2 , 3 ] ,
@@ -400,7 +398,7 @@ describe('Function: deepMerge', () => {
400398 // Act
401399 const result = deepMerge ( target , source ) ;
402400
403- // Assess - sharedObj is merged into both prop and arr[0]
401+ // Assess
404402 expect ( result . prop ) . toEqual ( { shared : true } ) ;
405403 expect ( ( result . arr as Record < string , unknown > [ ] ) [ 0 ] ) . toEqual ( {
406404 a : 1 ,
@@ -424,7 +422,7 @@ describe('Function: deepMerge', () => {
424422 // Act
425423 const result = deepMerge ( target , source ) ;
426424
427- // Assess - shared (non-circular) object appears in both locations
425+ // Assess
428426 expect ( result ) . toEqual ( {
429427 first : { value : 42 } ,
430428 second : { nested : { value : 42 } } ,
@@ -433,7 +431,7 @@ describe('Function: deepMerge', () => {
433431 } ) ;
434432
435433 describe ( 'Shared (non-circular) references' , ( ) => {
436- it ( 'correctly merges shared array references into both properties' , ( ) => {
434+ it ( 'merges shared array references into both properties' , ( ) => {
437435 // Prepare
438436 const target = { } ;
439437 const sharedArray = [ 1 , 2 , 3 ] ;
@@ -445,14 +443,14 @@ describe('Function: deepMerge', () => {
445443 // Act
446444 const result = deepMerge ( target , source ) ;
447445
448- // Assess - shared array should be merged into both properties
446+ // Assess
449447 expect ( result ) . toEqual ( {
450448 first : [ 1 , 2 , 3 ] ,
451449 second : [ 1 , 2 , 3 ] ,
452450 } ) ;
453451 } ) ;
454452
455- it ( 'correctly merges shared objects referenced in arrays' , ( ) => {
453+ it ( 'merges shared objects referenced in arrays' , ( ) => {
456454 // Prepare
457455 const sharedObj = { shared : true } ;
458456 const target = {
@@ -466,7 +464,7 @@ describe('Function: deepMerge', () => {
466464 // Act
467465 const result = deepMerge ( target , source ) ;
468466
469- // Assess - sharedObj should be merged into both prop and arr[0]
467+ // Assess
470468 expect ( result . prop ) . toEqual ( { shared : true } ) ;
471469 expect ( ( result . arr as Record < string , unknown > [ ] ) [ 0 ] ) . toEqual ( {
472470 a : 1 ,
@@ -478,7 +476,7 @@ describe('Function: deepMerge', () => {
478476 } ) ;
479477 } ) ;
480478
481- it ( 'correctly merges shared objects into all referencing properties' , ( ) => {
479+ it ( 'merges shared objects into all referencing properties' , ( ) => {
482480 // Prepare
483481 const target = { } ;
484482 const shared = { value : 42 } ;
@@ -490,14 +488,14 @@ describe('Function: deepMerge', () => {
490488 // Act
491489 const result = deepMerge ( target , source ) ;
492490
493- // Assess - shared object should appear in both locations
491+ // Assess
494492 expect ( result ) . toEqual ( {
495493 first : { value : 42 } ,
496494 second : { nested : { value : 42 } } ,
497495 } ) ;
498496 } ) ;
499497
500- it ( 'correctly merges shared objects across multiple sources' , ( ) => {
498+ it ( 'merges shared objects across multiple sources' , ( ) => {
501499 // Prepare
502500 const shared = { x : 1 } ;
503501 const target = { } ;
@@ -511,7 +509,7 @@ describe('Function: deepMerge', () => {
511509 expect ( result ) . toEqual ( { a : { x : 1 } , b : { x : 1 } } ) ;
512510 } ) ;
513511
514- it ( 'correctly merges diamond-shaped shared references' , ( ) => {
512+ it ( 'merges diamond-shaped shared references' , ( ) => {
515513 // Prepare
516514 const shared = { value : 'shared' } ;
517515 const target = { } ;
@@ -523,7 +521,7 @@ describe('Function: deepMerge', () => {
523521 // Act
524522 const result = deepMerge ( target , source ) ;
525523
526- // Assess - same object at different depths in two branches
524+ // Assess
527525 expect ( result ) . toEqual ( {
528526 branch1 : { leaf : { value : 'shared' } } ,
529527 branch2 : { leaf : { value : 'shared' } } ,
@@ -543,8 +541,7 @@ describe('Function: deepMerge', () => {
543541 // Act
544542 const result = deepMerge ( target , source ) ;
545543
546- // Assess - shared object is merged in both locations,
547- // but the circular self-reference within it is skipped
544+ // Assess
548545 expect ( result ) . toEqual ( {
549546 first : { value : 1 } ,
550547 second : { nested : { value : 1 } } ,
@@ -560,8 +557,7 @@ describe('Function: deepMerge', () => {
560557 // Act
561558 const result = deepMerge ( target , source ) ;
562559
563- // Assess - inner is not in the ancestor chain when processing source,
564- // so it should be merged into both properties
560+ // Assess
565561 expect ( result ) . toEqual ( {
566562 a : { x : 1 } ,
567563 b : { x : 1 } ,
@@ -734,7 +730,7 @@ describe('Function: deepMerge', () => {
734730 // Act
735731 const result = deepMerge ( { } , source1 , source2 ) ;
736732
737- // Assess - object source overwrites function, not merged into it
733+ // Assess
738734 expect ( result ) . toEqual ( { a : { b : 2 } } ) ;
739735 expect ( 'b' in ( source1 . a as object ) ) . toBe ( false ) ;
740736 } ) ;
@@ -746,7 +742,7 @@ describe('Function: deepMerge', () => {
746742 // Act
747743 const result = deepMerge ( object , object ) ;
748744
749- // Assess - should be a no-op
745+ // Assess
750746 expect ( result ) . toBe ( object ) ;
751747 expect ( result ) . toEqual ( { a : 1 , b : { c : 2 } } ) ;
752748 } ) ;
0 commit comments