@@ -37,6 +37,14 @@ describe('Test plot structure', function() {
37
37
return d3 . selectAll ( 'rect.cbbg' ) . size ( ) ;
38
38
}
39
39
40
+ function countClipPaths ( ) {
41
+ return d3 . selectAll ( 'defs' ) . selectAll ( '.axesclip,.plotclip' ) . size ( ) ;
42
+ }
43
+
44
+ function countDraggers ( ) {
45
+ return d3 . selectAll ( 'g.draglayer' ) . selectAll ( 'g' ) . size ( ) ;
46
+ }
47
+
40
48
describe ( 'scatter traces' , function ( ) {
41
49
var mock = require ( '@mocks/14.json' ) ;
42
50
var gd ;
@@ -54,6 +62,14 @@ describe('Test plot structure', function() {
54
62
expect ( countSubplots ( ) ) . toEqual ( 1 ) ;
55
63
} ) ;
56
64
65
+ it ( 'has four clip paths' , function ( ) {
66
+ expect ( countClipPaths ( ) ) . toEqual ( 4 ) ;
67
+ } ) ;
68
+
69
+ it ( 'has one dragger group' , function ( ) {
70
+ expect ( countDraggers ( ) ) . toEqual ( 1 ) ;
71
+ } ) ;
72
+
57
73
it ( 'has one *scatterlayer* node' , function ( ) {
58
74
var nodes = d3 . selectAll ( 'g.scatterlayer' ) ;
59
75
expect ( nodes . size ( ) ) . toEqual ( 1 ) ;
@@ -90,11 +106,15 @@ describe('Test plot structure', function() {
90
106
Plotly . deleteTraces ( gd , [ 0 ] ) . then ( function ( ) {
91
107
expect ( countScatterTraces ( ) ) . toEqual ( 0 ) ;
92
108
expect ( countSubplots ( ) ) . toEqual ( 1 ) ;
109
+ expect ( countClipPaths ( ) ) . toEqual ( 4 ) ;
110
+ expect ( countDraggers ( ) ) . toEqual ( 1 ) ;
93
111
94
112
return Plotly . relayout ( gd , { xaxis : null , yaxis : null } ) ;
95
113
} ) . then ( function ( ) {
96
114
expect ( countScatterTraces ( ) ) . toEqual ( 0 ) ;
97
115
expect ( countSubplots ( ) ) . toEqual ( 0 ) ;
116
+ expect ( countClipPaths ( ) ) . toEqual ( 0 ) ;
117
+ expect ( countDraggers ( ) ) . toEqual ( 0 ) ;
98
118
99
119
done ( ) ;
100
120
} ) ;
@@ -302,6 +322,8 @@ describe('Test plot structure', function() {
302
322
303
323
it ( 'has four *subplot* nodes' , function ( ) {
304
324
expect ( countSubplots ( ) ) . toEqual ( 4 ) ;
325
+ expect ( countClipPaths ( ) ) . toEqual ( 12 ) ;
326
+ expect ( countDraggers ( ) ) . toEqual ( 4 ) ;
305
327
} ) ;
306
328
307
329
it ( 'has four heatmap image nodes' , function ( ) {
@@ -340,6 +362,8 @@ describe('Test plot structure', function() {
340
362
341
363
it ( 'has four *subplot* nodes' , function ( ) {
342
364
expect ( countSubplots ( ) ) . toEqual ( 4 ) ;
365
+ expect ( countClipPaths ( ) ) . toEqual ( 12 ) ;
366
+ expect ( countDraggers ( ) ) . toEqual ( 4 ) ;
343
367
} ) ;
344
368
345
369
it ( 'has two heatmap image nodes' , function ( ) {
@@ -376,27 +400,51 @@ describe('Test plot structure', function() {
376
400
377
401
Plotly . deleteTraces ( gd , [ 0 ] ) . then ( function ( ) {
378
402
expect ( countSubplots ( ) ) . toEqual ( 4 ) ;
403
+ expect ( countClipPaths ( ) ) . toEqual ( 12 ) ;
404
+ expect ( countDraggers ( ) ) . toEqual ( 4 ) ;
379
405
assertHeatmapNodes ( 3 ) ;
380
406
assertContourNodes ( 2 ) ;
381
407
expect ( countColorBars ( ) ) . toEqual ( 0 ) ;
382
408
383
409
return Plotly . deleteTraces ( gd , [ 0 ] ) ;
384
410
} ) . then ( function ( ) {
385
411
expect ( countSubplots ( ) ) . toEqual ( 4 ) ;
412
+ expect ( countClipPaths ( ) ) . toEqual ( 12 ) ;
413
+ expect ( countDraggers ( ) ) . toEqual ( 4 ) ;
386
414
assertHeatmapNodes ( 2 ) ;
387
415
assertContourNodes ( 2 ) ;
388
416
expect ( countColorBars ( ) ) . toEqual ( 0 ) ;
389
417
390
418
return Plotly . deleteTraces ( gd , [ 0 ] ) ;
391
419
} ) . then ( function ( ) {
392
420
expect ( countSubplots ( ) ) . toEqual ( 4 ) ;
421
+ expect ( countClipPaths ( ) ) . toEqual ( 12 ) ;
422
+ expect ( countDraggers ( ) ) . toEqual ( 4 ) ;
393
423
assertHeatmapNodes ( 1 ) ;
394
424
assertContourNodes ( 1 ) ;
395
425
expect ( countColorBars ( ) ) . toEqual ( 0 ) ;
396
426
397
427
return Plotly . deleteTraces ( gd , [ 0 ] ) ;
398
428
} ) . then ( function ( ) {
399
429
expect ( countSubplots ( ) ) . toEqual ( 3 ) ;
430
+ expect ( countClipPaths ( ) ) . toEqual ( 11 ) ;
431
+ expect ( countDraggers ( ) ) . toEqual ( 3 ) ;
432
+ assertHeatmapNodes ( 0 ) ;
433
+ assertContourNodes ( 0 ) ;
434
+ expect ( countColorBars ( ) ) . toEqual ( 0 ) ;
435
+
436
+ var update = {
437
+ xaxis : null ,
438
+ yaxis : null ,
439
+ xaxis2 : null ,
440
+ yaxis2 : null
441
+ } ;
442
+
443
+ return Plotly . relayout ( gd , update ) ;
444
+ } ) . then ( function ( ) {
445
+ expect ( countSubplots ( ) ) . toEqual ( 0 ) ;
446
+ expect ( countClipPaths ( ) ) . toEqual ( 0 ) ;
447
+ expect ( countDraggers ( ) ) . toEqual ( 0 ) ;
400
448
assertHeatmapNodes ( 0 ) ;
401
449
assertContourNodes ( 0 ) ;
402
450
expect ( countColorBars ( ) ) . toEqual ( 0 ) ;
0 commit comments