@@ -90,6 +90,28 @@ describe('Test hover and click interactions', function() {
90
90
'autosize' : true
91
91
}
92
92
} ;
93
+ var mock4 = {
94
+ data : [
95
+ {
96
+ x : [ 1 , 2 , 3 , 4 ] ,
97
+ y : [ 12 , 3 , 14 , 4 ] ,
98
+ type : 'scattergl' ,
99
+ mode : 'markers'
100
+ } ,
101
+ {
102
+ x : [ 4 , 5 , 6 , 7 ] ,
103
+ y : [ 1 , 31 , 24 , 14 ] ,
104
+ type : 'scattergl' ,
105
+ mode : 'markers'
106
+ } ,
107
+ {
108
+ x : [ 8 , 9 , 10 , 11 ] ,
109
+ y : [ 18 , 13 , 10 , 3 ] ,
110
+ type : 'scattergl' ,
111
+ mode : 'markers'
112
+ } ] ,
113
+ layout : { }
114
+ } ;
93
115
94
116
var mockCopy , gd ;
95
117
@@ -340,6 +362,85 @@ describe('Test hover and click interactions', function() {
340
362
341
363
} ) ;
342
364
365
+ it ( 'scattergl' , function ( done ) {
366
+
367
+ var modifiedMockCopy = Lib . extendDeep ( { } , mock4 ) ;
368
+
369
+ Plotly . plot ( gd , modifiedMockCopy . data , modifiedMockCopy . layout )
370
+
371
+ . then ( new Promise ( function ( ) {
372
+
373
+ gd . on ( 'plotly_hover' , function ( data ) {
374
+ futureData = data ;
375
+ } ) ;
376
+
377
+ hover ( 435 , 216 ) ;
378
+
379
+ window . setTimeout ( function ( ) {
380
+
381
+ expect ( futureData . points . length ) . toEqual ( 1 ) ;
382
+
383
+ var pt = futureData . points [ 0 ] ;
384
+
385
+ expect ( Object . keys ( pt ) ) . toEqual ( [
386
+ 'x' , 'y' , 'curveNumber' , 'pointNumber' , 'data' , 'fullData' , 'xaxis' , 'yaxis'
387
+ ] ) ;
388
+
389
+ expect ( pt . x ) . toEqual ( 8 ) ;
390
+ expect ( pt . y ) . toEqual ( 18 ) ;
391
+ expect ( pt . curveNumber ) . toEqual ( 2 ) ;
392
+ expect ( pt . pointNumber ) . toEqual ( 0 ) ;
393
+ expect ( pt . fullData . length ) . toEqual ( 3 ) ;
394
+ expect ( typeof pt . data . uid ) . toEqual ( 'string' ) ;
395
+ expect ( pt . xaxis . domain . length ) . toEqual ( 2 ) ;
396
+ expect ( pt . yaxis . domain . length ) . toEqual ( 2 ) ;
397
+
398
+ done ( ) ;
399
+ } , 350 ) ;
400
+ } ) ) ;
401
+ } ) ;
402
+
403
+ it ( 'scattergl-fancy' , function ( done ) {
404
+
405
+ var modifiedMockCopy = Lib . extendDeep ( { } , mock4 ) ;
406
+ modifiedMockCopy . data [ 0 ] . mode = 'markers+lines' ;
407
+ modifiedMockCopy . data [ 1 ] . mode = 'markers+lines' ;
408
+ modifiedMockCopy . data [ 2 ] . mode = 'markers+lines' ;
409
+
410
+ Plotly . plot ( gd , modifiedMockCopy . data , modifiedMockCopy . layout )
411
+
412
+ . then ( new Promise ( function ( ) {
413
+
414
+ gd . on ( 'plotly_hover' , function ( data ) {
415
+ futureData = data ;
416
+ } ) ;
417
+
418
+ hover ( 435 , 216 ) ;
419
+
420
+ window . setTimeout ( function ( ) {
421
+
422
+ expect ( futureData . points . length ) . toEqual ( 1 ) ;
423
+
424
+ var pt = futureData . points [ 0 ] ;
425
+
426
+ expect ( Object . keys ( pt ) ) . toEqual ( [
427
+ 'x' , 'y' , 'curveNumber' , 'pointNumber' , 'data' , 'fullData' , 'xaxis' , 'yaxis'
428
+ ] ) ;
429
+
430
+ expect ( pt . x ) . toEqual ( 8 ) ;
431
+ expect ( pt . y ) . toEqual ( 18 ) ;
432
+ expect ( pt . curveNumber ) . toEqual ( 2 ) ;
433
+ expect ( pt . pointNumber ) . toEqual ( 0 ) ;
434
+ expect ( pt . fullData . length ) . toEqual ( 3 ) ;
435
+ expect ( typeof pt . data . uid ) . toEqual ( 'string' ) ;
436
+ expect ( pt . xaxis . domain . length ) . toEqual ( 2 ) ;
437
+ expect ( pt . yaxis . domain . length ) . toEqual ( 2 ) ;
438
+
439
+ done ( ) ;
440
+ } , 350 ) ;
441
+ } ) ) ;
442
+ } ) ;
443
+
343
444
it ( 'contourgl' , function ( done ) {
344
445
345
446
var modifiedMockCopy = Lib . extendDeep ( { } , mock3 ) ;
0 commit comments