@@ -299,9 +299,7 @@ describe('scatterternary plot and hover', function() {
299
299
describe ( 'scatterternary hover' , function ( ) {
300
300
'use strict' ;
301
301
302
- var hoverPoints = ScatterTernary . hoverPoints ;
303
-
304
- var gd , pointData ;
302
+ var gd ;
305
303
306
304
beforeAll ( function ( done ) {
307
305
gd = createGraphDiv ( ) ;
@@ -310,17 +308,20 @@ describe('scatterternary hover', function() {
310
308
type : 'scatterternary' ,
311
309
a : [ 0.1 , 0.2 , 0.3 ] ,
312
310
b : [ 0.3 , 0.2 , 0.1 ] ,
313
- c : [ 0.1 , 0.4 , 0.5 ]
311
+ c : [ 0.1 , 0.4 , 0.5 ] ,
312
+ text : [ 'A' , 'B' , 'C' ]
314
313
} ] ;
315
314
316
315
Plotly . plot ( gd , data ) . then ( done ) ;
317
316
} ) ;
318
317
319
- beforeEach ( function ( ) {
320
- var cd = gd . calcdata ,
321
- ternary = gd . _fullLayout . ternary . _subplot ;
318
+ afterAll ( destroyGraphDiv ) ;
319
+
320
+ function _hover ( gd , xval , yval , hovermode ) {
321
+ var cd = gd . calcdata ;
322
+ var ternary = gd . _fullLayout . ternary . _subplot ;
322
323
323
- pointData = {
324
+ var pointData = {
324
325
index : false ,
325
326
distance : 20 ,
326
327
cd : cd [ 0 ] ,
@@ -329,23 +330,41 @@ describe('scatterternary hover', function() {
329
330
ya : ternary . yaxis
330
331
} ;
331
332
332
- } ) ;
333
-
334
- afterAll ( destroyGraphDiv ) ;
333
+ return ScatterTernary . hoverPoints ( pointData , xval , yval , hovermode ) ;
334
+ }
335
335
336
- it ( 'should generate extra text field on hover' , function ( ) {
337
- var xval = 0.42 ,
338
- yval = 0.37 ,
339
- hovermode = 'closest' ;
336
+ it ( 'should generate extra text field on hover' , function ( done ) {
337
+ var xval = 0.42 ;
338
+ var yval = 0.37 ;
339
+ var hovermode = 'closest' ;
340
+ var scatterPointData ;
340
341
341
- var scatterPointData = hoverPoints ( pointData , xval , yval , hovermode ) ;
342
+ scatterPointData = _hover ( gd , xval , yval , hovermode ) ;
342
343
343
344
expect ( scatterPointData [ 0 ] . extraText ) . toEqual (
344
345
'Component A: 0.3333333<br>Component B: 0.1111111<br>Component C: 0.5555556'
345
346
) ;
346
347
347
348
expect ( scatterPointData [ 0 ] . xLabelVal ) . toBeUndefined ( ) ;
348
349
expect ( scatterPointData [ 0 ] . yLabelVal ) . toBeUndefined ( ) ;
350
+ expect ( scatterPointData [ 0 ] . text ) . toEqual ( 'C' ) ;
351
+
352
+ Plotly . restyle ( gd , {
353
+ text : null ,
354
+ hovertext : [ [ 'apple' , 'banana' , 'orange' ] ]
355
+ } )
356
+ . then ( function ( ) {
357
+ scatterPointData = _hover ( gd , xval , yval , hovermode ) ;
358
+
359
+ expect ( scatterPointData [ 0 ] . extraText ) . toEqual (
360
+ 'Component A: 0.3333333<br>Component B: 0.1111111<br>Component C: 0.5555556'
361
+ ) ;
362
+
363
+ expect ( scatterPointData [ 0 ] . xLabelVal ) . toBeUndefined ( ) ;
364
+ expect ( scatterPointData [ 0 ] . yLabelVal ) . toBeUndefined ( ) ;
365
+ expect ( scatterPointData [ 0 ] . text ) . toEqual ( 'orange' ) ;
366
+ } )
367
+ . then ( done ) ;
349
368
} ) ;
350
369
351
370
} ) ;
0 commit comments