@@ -236,6 +236,13 @@ describe('Test gl plot interactions', function() {
236
236
237
237
it ( 'should respond to drag interactions' , function ( done ) {
238
238
239
+ function mouseTo ( p0 , p1 ) {
240
+ mouseEvent ( 'mousemove' , p0 [ 0 ] , p0 [ 1 ] ) ;
241
+ mouseEvent ( 'mousedown' , p0 [ 0 ] , p0 [ 1 ] , { buttons : 1 } ) ;
242
+ mouseEvent ( 'mousemove' , p1 [ 0 ] , p1 [ 1 ] , { buttons : 1 } ) ;
243
+ mouseEvent ( 'mouseup' , p1 [ 0 ] , p1 [ 1 ] ) ;
244
+ }
245
+
239
246
jasmine . addMatchers ( customMatchers ) ;
240
247
241
248
var precision = 5 ;
@@ -263,14 +270,10 @@ describe('Test gl plot interactions', function() {
263
270
expect ( gd . layout . yaxis . range ) . toBeCloseToArray ( originalY , precision ) ;
264
271
265
272
setTimeout ( function ( ) {
266
-
267
- mouseEvent ( 'mousemove' , 200 , 200 ) ;
268
-
269
273
relayoutCallback . calls . reset ( ) ;
270
274
271
275
// Drag scene along the X axis
272
-
273
- mouseEvent ( 'mousemove' , 220 , 200 , { buttons : 1 } ) ;
276
+ mouseTo ( [ 200 , 200 ] , [ 220 , 200 ] ) ;
274
277
275
278
expect ( gd . layout . xaxis . autorange ) . toBe ( false ) ;
276
279
expect ( gd . layout . yaxis . autorange ) . toBe ( false ) ;
@@ -279,36 +282,31 @@ describe('Test gl plot interactions', function() {
279
282
expect ( gd . layout . yaxis . range ) . toBeCloseToArray ( originalY , precision ) ;
280
283
281
284
// Drag scene back along the X axis
282
-
283
- mouseEvent ( 'mousemove' , 200 , 200 , { buttons : 1 } ) ;
285
+ mouseTo ( [ 220 , 200 ] , [ 200 , 200 ] ) ;
284
286
285
287
expect ( gd . layout . xaxis . range ) . toBeCloseToArray ( originalX , precision ) ;
286
288
expect ( gd . layout . yaxis . range ) . toBeCloseToArray ( originalY , precision ) ;
287
289
288
290
// Drag scene along the Y axis
289
-
290
- mouseEvent ( 'mousemove' , 200 , 150 , { buttons : 1 } ) ;
291
+ mouseTo ( [ 200 , 200 ] , [ 200 , 150 ] ) ;
291
292
292
293
expect ( gd . layout . xaxis . range ) . toBeCloseToArray ( originalX , precision ) ;
293
294
expect ( gd . layout . yaxis . range ) . toBeCloseToArray ( newY , precision ) ;
294
295
295
296
// Drag scene back along the Y axis
296
-
297
- mouseEvent ( 'mousemove' , 200 , 200 , { buttons : 1 } ) ;
297
+ mouseTo ( [ 200 , 150 ] , [ 200 , 200 ] ) ;
298
298
299
299
expect ( gd . layout . xaxis . range ) . toBeCloseToArray ( originalX , precision ) ;
300
300
expect ( gd . layout . yaxis . range ) . toBeCloseToArray ( originalY , precision ) ;
301
301
302
302
// Drag scene along both the X and Y axis
303
-
304
- mouseEvent ( 'mousemove' , 220 , 150 , { buttons : 1 } ) ;
303
+ mouseTo ( [ 200 , 200 ] , [ 220 , 150 ] ) ;
305
304
306
305
expect ( gd . layout . xaxis . range ) . toBeCloseToArray ( newX , precision ) ;
307
306
expect ( gd . layout . yaxis . range ) . toBeCloseToArray ( newY , precision ) ;
308
307
309
308
// Drag scene back along the X and Y axis
310
-
311
- mouseEvent ( 'mousemove' , 200 , 200 , { buttons : 1 } ) ;
309
+ mouseTo ( [ 220 , 150 ] , [ 200 , 200 ] ) ;
312
310
313
311
expect ( gd . layout . xaxis . range ) . toBeCloseToArray ( originalX , precision ) ;
314
312
expect ( gd . layout . yaxis . range ) . toBeCloseToArray ( originalY , precision ) ;
0 commit comments