@@ -546,69 +546,20 @@ describe('legend orientation change:', function() {
546
546
547
547
afterEach ( destroyGraphDiv ) ;
548
548
549
- it ( 'should update legend orientation ' , function ( done ) {
549
+ it ( 'should update plot background ' , function ( done ) {
550
550
var mock = require ( '@mocks/legend_horizontal_autowrap.json' ) ,
551
551
gd = createGraphDiv ( ) ,
552
- initialLegendY = mock . layout . legend . y ;
552
+ initialLegendBGColor ;
553
553
554
554
Plotly . plot ( gd , mock . data , mock . layout ) . then ( function ( ) {
555
- var node = d3 . select ( 'g.legend' ) . select ( 'rect' ) ,
556
- nw = node . property ( 'width' ) . baseVal . value ,
557
- gw = mock . layout . width ,
558
- maxTraceHeight = 0 ,
559
- maxTraceWidth = 0 ,
560
- maxOffsetX = 0 ,
561
- maxOffsetY = 0 ,
562
- traceGap = gd . _fullLayout . legend . tracegroupgap || 5 ;
563
-
564
- d3 . selectAll ( 'g.legend g.traces' ) . each ( function ( ) {
565
- var b = d3 . select ( this ) . select ( 'text' ) . node ( ) . getBBox ( ) ,
566
- w = b . width + traceGap + 40 ,
567
- h = d3 . select ( this ) . node ( ) . getBBox ( ) . height ,
568
- t = d3 . transform ( d3 . select ( this ) . attr ( 'transform' ) ) ;
569
- //console.log(t.translate[0], t.translate[1], w, h);
570
- maxOffsetX = Math . max ( maxOffsetX , t . translate [ 0 ] ) ;
571
- maxOffsetY = Math . max ( maxOffsetY , t . translate [ 1 ] ) ;
572
- maxTraceWidth = Math . max ( maxTraceWidth , w ) ;
573
- maxTraceHeight = Math . max ( maxTraceHeight , h ) ;
574
- } ) ;
575
-
576
- //legend rect less than width of plot
577
- expect ( nw ) . toBeLessThan ( gw ) ;
578
- expect ( maxTraceHeight ) . toBeGreaterThan ( 0 ) ;
579
- expect ( maxTraceWidth ) . toBeGreaterThan ( 0 ) ;
580
- expect ( maxOffsetX ) . toBeGreaterThan ( 0 ) ;
581
- expect ( maxOffsetY ) . toBeGreaterThan ( 0 ) ;
582
-
583
- //none of the traces are pushed off the graph
584
- expect ( maxOffsetX ) . toBeLessThan ( mock . layout . width ) ;
585
- expect ( maxOffsetY ) . toBeLessThan ( mock . layout . height ) ;
586
-
587
- //update mock
588
- mock . layout . legend . orientation = 'v' ;
589
- mock . layout . legend . y = 1 ;
590
- //re-graph
591
- destroyGraphDiv ( gd ) ;
592
- gd = createGraphDiv ( ) ;
593
- return Plotly . plot ( gd , mock . data , mock . layout ) ;
555
+ initialLegendBGColor = gd . _fullLayout . legend . bgcolor ;
556
+ return Plotly . relayout ( gd , 'legend.bgcolor' , '#000000' ) ;
594
557
} ) . then ( function ( ) {
595
- expect ( gd . _fullLayout . legend . orientation ) . toBe ( 'v' ) ;
596
- //scrollbar has width and height now
597
- var bbox = d3 . select ( 'rect.scrollbar' ) . node ( ) . getBBox ( ) ;
598
- expect ( bbox . width ) . toBeGreaterThan ( 0 ) ;
599
- expect ( bbox . height ) . toBeGreaterThan ( 0 ) ;
600
- //update mock and re-graph
601
- mock . layout . legend . orientation = 'h' ;
602
- mock . layout . legend . y = initialLegendY ;
603
- destroyGraphDiv ( gd ) ;
604
- gd = createGraphDiv ( ) ;
605
- return Plotly . plot ( gd , mock . data , mock . layout ) ;
558
+ expect ( gd . _fullLayout . legend . bgcolor ) . toBe ( '#000000' ) ;
559
+ return Plotly . relayout ( gd , 'legend.bgcolor' , initialLegendBGColor ) ;
606
560
} ) . then ( function ( ) {
607
- //back to base case
608
- expect ( gd . _fullLayout . legend . orientation ) . toBe ( 'h' ) ;
609
- expect ( gd . _fullLayout . legend . y ) . toBe ( initialLegendY ) ;
561
+ expect ( gd . _fullLayout . legend . bgcolor ) . toBe ( initialLegendBGColor ) ;
610
562
done ( ) ;
611
563
} ) ;
612
564
} ) ;
613
-
614
565
} ) ;
0 commit comments