@@ -212,12 +212,18 @@ describe('Test gl plot interactions', function() {
212
212
} ) ;
213
213
214
214
describe ( 'gl2d plots' , function ( ) {
215
- var mock = require ( '@mocks/gl2d_10.json' ) ;
215
+ var mock = require ( '@mocks/gl2d_10.json' ) ,
216
+ relayoutCallback ;
216
217
217
218
beforeEach ( function ( done ) {
218
219
gd = createGraphDiv ( ) ;
219
220
220
221
Plotly . plot ( gd , mock . data , mock . layout ) . then ( function ( ) {
222
+
223
+ relayoutCallback = jasmine . createSpy ( 'relayoutCallback' ) ;
224
+
225
+ gd . on ( 'plotly_relayout' , relayoutCallback ) ;
226
+
221
227
delay ( done ) ;
222
228
} ) ;
223
229
} ) ;
@@ -226,6 +232,24 @@ describe('Test gl plot interactions', function() {
226
232
var nodes = d3 . selectAll ( 'canvas' ) ;
227
233
expect ( nodes [ 0 ] . length ) . toEqual ( 1 ) ;
228
234
} ) ;
235
+
236
+ it ( 'should respond to drag interactions' , function ( done ) {
237
+
238
+ var sceneTarget = gd . querySelector ( '.plot-container .gl-container canvas' ) ;
239
+
240
+ // Drag scene
241
+ sceneTarget . dispatchEvent ( new MouseEvent ( 'mousedown' , { x : 0 , y : 0 } ) ) ;
242
+ sceneTarget . dispatchEvent ( new MouseEvent ( 'mousemove' , { x : 100 , y : 100 } ) ) ;
243
+ sceneTarget . dispatchEvent ( new MouseEvent ( 'mouseup' , { x : 100 , y : 100 } ) ) ;
244
+
245
+ setTimeout ( function ( ) {
246
+
247
+ expect ( relayoutCallback ) . toHaveBeenCalledTimes ( 1 ) ;
248
+
249
+ done ( ) ;
250
+
251
+ } , MODEBAR_DELAY ) ;
252
+ } ) ;
229
253
} ) ;
230
254
231
255
describe ( 'gl3d event handlers' , function ( ) {
0 commit comments