@@ -5,6 +5,11 @@ var supplyAllDefaults = require('../assets/supply_defaults');
5
5
var createGraphDiv = require ( '../assets/create_graph_div' ) ;
6
6
var destroyGraphDiv = require ( '../assets/destroy_graph_div' ) ;
7
7
var failTest = require ( '../assets/fail_test' ) ;
8
+ var delay = require ( '../assets/delay' ) ;
9
+ var mouseEvent = require ( '../assets/mouse_event' ) ;
10
+
11
+ var customAssertions = require ( '../assets/custom_assertions' ) ;
12
+ var assertHoverLabelContent = customAssertions . assertHoverLabelContent ;
8
13
9
14
describe ( 'Test cone defaults' , function ( ) {
10
15
var gd ;
@@ -90,4 +95,40 @@ describe('@gl Test cone interactions', function() {
90
95
. catch ( failTest )
91
96
. then ( done ) ;
92
97
} ) ;
98
+
99
+ it ( 'should display hover labels' , function ( done ) {
100
+ var fig = Lib . extendDeep ( { } , require ( '@mocks/gl3d_cone-simple.json' ) ) ;
101
+ // only one trace on one scene
102
+ fig . data = [ fig . data [ 0 ] ] ;
103
+ fig . data [ 0 ] . showscale = false ;
104
+ delete fig . layout . scene . domain ;
105
+ fig . layout . margin = { l : 0 , t : 0 , r : 0 , b : 0 } ;
106
+ fig . layout . width = 400 ;
107
+ fig . layout . height = 400 ;
108
+
109
+ function _hover ( ) {
110
+ mouseEvent ( 'mouseover' , 200 , 200 ) ;
111
+ return delay ( 20 ) ( ) ;
112
+ }
113
+
114
+ Plotly . plot ( gd , fig )
115
+ . then ( delay ( 20 ) )
116
+ . then ( _hover )
117
+ . then ( function ( ) {
118
+ assertHoverLabelContent ( {
119
+ nums : [ 'x: 3' , 'y: 3' , 'z: 3' , 'norm: 2.00' ] . join ( '\n' )
120
+ } ) ;
121
+
122
+ return Plotly . restyle ( gd , 'hoverinfo' , 'u+v+w' ) ;
123
+ } )
124
+ . then ( delay ( 20 ) )
125
+ . then ( _hover )
126
+ . then ( function ( ) {
127
+ assertHoverLabelContent ( {
128
+ nums : [ 'u: 0' , 'v: 0' , 'w: 2' ] . join ( '\n' )
129
+ } ) ;
130
+ } )
131
+ . catch ( failTest )
132
+ . then ( done ) ;
133
+ } ) ;
93
134
} ) ;
0 commit comments