@@ -5,6 +5,11 @@ var supplyAllDefaults = require('../assets/supply_defaults');
55var createGraphDiv = require ( '../assets/create_graph_div' ) ;
66var destroyGraphDiv = require ( '../assets/destroy_graph_div' ) ;
77var 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 ;
813
914describe ( 'Test cone defaults' , function ( ) {
1015 var gd ;
@@ -90,4 +95,40 @@ describe('@gl Test cone interactions', function() {
9095 . catch ( failTest )
9196 . then ( done ) ;
9297 } ) ;
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+ } ) ;
93134} ) ;
0 commit comments