@@ -427,4 +427,71 @@ describe('Test Plots', function() {
427
427
expect ( gd . _transitioning ) . toBeUndefined ( ) ;
428
428
} ) ;
429
429
} ) ;
430
+
431
+ describe ( 'extendObjectWithContainers' , function ( ) {
432
+
433
+ function assert ( dest , src , expected ) {
434
+ Plots . extendObjectWithContainers ( dest , src , [ 'container' ] ) ;
435
+ expect ( dest ) . toEqual ( expected ) ;
436
+ }
437
+
438
+ it ( 'extend each container items' , function ( ) {
439
+ var dest = {
440
+ container : [
441
+ { text : '1' , x : 1 , y : 1 } ,
442
+ { text : '2' , x : 2 , y : 2 }
443
+ ]
444
+ } ;
445
+
446
+ var src = {
447
+ container : [
448
+ { text : '1-new' } ,
449
+ { text : '2-new' }
450
+ ]
451
+ } ;
452
+
453
+ var expected = {
454
+ container : [
455
+ { text : '1-new' , x : 1 , y : 1 } ,
456
+ { text : '2-new' , x : 2 , y : 2 }
457
+ ]
458
+ } ;
459
+
460
+ assert ( dest , src , expected ) ;
461
+ } ) ;
462
+
463
+ it ( 'clears container items when applying null src items' , function ( ) {
464
+ var dest = {
465
+ container : [
466
+ { text : '1' , x : 1 , y : 1 } ,
467
+ { text : '2' , x : 2 , y : 2 }
468
+ ]
469
+ } ;
470
+
471
+ var src = {
472
+ container : [ null , null ]
473
+ } ;
474
+
475
+ var expected = {
476
+ container : [ null , null ]
477
+ } ;
478
+
479
+ assert ( dest , src , expected ) ;
480
+ } ) ;
481
+
482
+ it ( 'clears container applying null src' , function ( ) {
483
+ var dest = {
484
+ container : [
485
+ { text : '1' , x : 1 , y : 1 } ,
486
+ { text : '2' , x : 2 , y : 2 }
487
+ ]
488
+ } ;
489
+
490
+ var src = { container : null } ;
491
+
492
+ var expected = { container : null } ;
493
+
494
+ assert ( dest , src , expected ) ;
495
+ } ) ;
496
+ } ) ;
430
497
} ) ;
0 commit comments