@@ -427,4 +427,71 @@ describe('Test Plots', function() {
427427 expect ( gd . _transitioning ) . toBeUndefined ( ) ;
428428 } ) ;
429429 } ) ;
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+ } ) ;
430497} ) ;
0 commit comments