@@ -278,146 +278,38 @@ test("{ cursorAt: false}, default", function() {
278
278
});
279
279
*/
280
280
281
- test ( "{ cursorAt: { left: -5 , top: -5 } }" , function ( ) {
282
- expect ( 4 ) ;
281
+ test ( "{ cursorAt: left, top }" , function ( ) {
282
+ expect ( 16 ) ;
283
283
284
284
var deltaX = - 3 , deltaY = - 3 ,
285
- offsetX = 5 , offsetY = 5 ,
286
- cursorAtX = - 5 , cursorAtY = - 5 ;
287
-
288
- $ . each ( [ 'relative' , 'absolute' ] , function ( i , position ) {
289
- var before , pos , expected ,
290
- el = $ ( '#draggable' + ( i + 1 ) ) . draggable ( {
291
- cursorAt : { left : cursorAtX , top : cursorAtY } ,
292
- drag : function ( event , ui ) {
293
- equal ( ui . offset . left , expected . left , position + ' left' ) ;
294
- equal ( ui . offset . top , expected . top , position + ' top' ) ;
295
- }
296
- } ) ;
297
-
298
- before = el . offset ( ) ;
299
- pos = {
300
- clientX : before . left + offsetX ,
301
- clientY : before . top + offsetY
302
- } ;
303
- expected = {
304
- left : before . left + offsetX - cursorAtX + deltaX - TestHelpers . draggable . unreliableOffset ,
305
- top : before . top + offsetY - cursorAtY + deltaY - TestHelpers . draggable . unreliableOffset
306
- } ;
307
-
308
- // todo: replace this with simulated drag event
309
- el . simulate ( "mousedown" , pos ) ;
310
- pos . clientX += deltaX ;
311
- pos . clientY += deltaY ;
312
- $ ( document ) . simulate ( "mousemove" , pos ) ;
313
- el . simulate ( "mouseup" , pos ) ;
314
- } ) ;
315
- } ) ;
316
-
317
- test ( "{ cursorAt: { right: 10, bottom: 20 } }" , function ( ) {
318
- expect ( 4 ) ;
319
-
320
- var deltaX = - 3 , deltaY = - 3 ,
321
- offsetX = 5 , offsetY = 5 ,
322
- cursorAtX = 10 , cursorAtY = 20 ;
323
-
324
- $ . each ( [ 'relative' , 'absolute' ] , function ( i , position ) {
325
- var before , pos , expected ,
326
- el = $ ( '#draggable' + ( i + 1 ) ) . draggable ( {
327
- cursorAt : { right : cursorAtX , bottom : cursorAtY } ,
328
- drag : function ( event , ui ) {
329
- equal ( ui . offset . left , expected . left , position + ' left' ) ;
330
- equal ( ui . offset . top , expected . top , position + ' top' ) ;
331
- }
332
- } ) ;
333
- before = el . offset ( ) ;
334
- pos = {
335
- clientX : before . left + offsetX ,
336
- clientY : before . top + offsetY
285
+ tests = {
286
+ "{ left: -5, top: -5 }" : { x : - 5 , y : - 5 , cursorAt : { left : - 5 , top : - 5 } } ,
287
+ "[ 10, 20 ]" : { x : 10 , y : 20 , cursorAt : [ 10 , 20 ] } ,
288
+ "{ left: 20, top: 40 }" : { x : 20 , y : 40 , cursorAt : { left : 20 , top : 40 } } ,
289
+ "{ right: 10, bottom: 20 }" : { x : 10 , y : 20 , cursorAt : { right : 10 , bottom : 20 } }
337
290
} ;
338
- expected = {
339
- left : before . left + offsetX - el . width ( ) + cursorAtX + deltaX - TestHelpers . draggable . unreliableOffset ,
340
- top : before . top + offsetY - el . height ( ) + cursorAtY + deltaY - TestHelpers . draggable . unreliableOffset
341
- } ;
342
-
343
- // todo: replace this with simulated drag event
344
- el . simulate ( "mousedown" , pos ) ;
345
- pos . clientX += deltaX ;
346
- pos . clientY += deltaY ;
347
- $ ( document ) . simulate ( "mousemove" , pos ) ;
348
- el . simulate ( "mouseup" , pos ) ;
349
- } ) ;
350
- } ) ;
351
291
352
- test ( "{ cursorAt: [10, 20] }" , function ( ) {
353
- expect ( 4 ) ;
354
-
355
- var deltaX = - 3 , deltaY = - 3 ,
356
- offsetX = 5 , offsetY = 5 ,
357
- cursorAtX = 10 , cursorAtY = 20 ;
358
-
359
- $ . each ( [ 'relative' , 'absolute' ] , function ( i , position ) {
360
- var before , pos , expected ,
361
- el = $ ( '#draggable' + ( i + 1 ) ) . draggable ( {
362
- cursorAt : { left : cursorAtX , top : cursorAtY } ,
363
- drag : function ( event , ui ) {
364
- equal ( ui . offset . left , expected . left , position + ' left' ) ;
365
- equal ( ui . offset . top , expected . top , position + ' top' ) ;
366
- }
292
+ $ . each ( tests , function ( testName , testData ) {
293
+ $ . each ( [ "relative" , "absolute" ] , function ( i , position ) {
294
+ var el = $ ( "#draggable" + ( i + 1 ) ) . draggable ( {
295
+ cursorAt : testData . cursorAt ,
296
+ drag : function ( event , ui ) {
297
+ if ( testData . cursorAt . right ) {
298
+ equal ( ui . helper . width ( ) - ( event . clientX - ui . offset . left ) , testData . x , testName + " " + position + " left" ) ;
299
+ equal ( ui . helper . height ( ) - ( event . clientY - ui . offset . top ) , testData . y , testName + position + " top" ) ;
300
+ } else {
301
+ equal ( event . clientX - ui . offset . left , testData . x , testName + " " + position + " left" ) ;
302
+ equal ( event . clientY - ui . offset . top , testData . y , testName + " " + position + " top" ) ;
303
+ }
304
+ }
367
305
} ) ;
368
306
369
- before = el . offset ( ) ;
370
- pos = {
371
- clientX : before . left + offsetX ,
372
- clientY : before . top + offsetY
373
- } ;
374
- expected = {
375
- left : before . left + offsetX - cursorAtX + deltaX - TestHelpers . draggable . unreliableOffset ,
376
- top : before . top + offsetY - cursorAtY + deltaY - TestHelpers . draggable . unreliableOffset
377
- } ;
378
-
379
- // todo: replace this with simulated drag event
380
- el . simulate ( "mousedown" , pos ) ;
381
- pos . clientX += deltaX ;
382
- pos . clientY += deltaY ;
383
- $ ( document ) . simulate ( "mousemove" , pos ) ;
384
- el . simulate ( "mouseup" , pos ) ;
385
- } ) ;
386
- } ) ;
387
-
388
- test ( "{ cursorAt: '20, 40' }" , function ( ) {
389
- expect ( 4 ) ;
390
-
391
- var deltaX = - 3 , deltaY = - 3 ,
392
- offsetX = 5 , offsetY = 5 ,
393
- cursorAtX = 20 , cursorAtY = 40 ;
394
-
395
- $ . each ( [ 'relative' , 'absolute' ] , function ( i , position ) {
396
- var before , pos , expected ,
397
- el = $ ( '#draggable' + ( i + 1 ) ) . draggable ( {
398
- cursorAt : { left : cursorAtX , top : cursorAtY } ,
399
- drag : function ( event , ui ) {
400
- equal ( ui . offset . left , expected . left , position + ' left' ) ;
401
- equal ( ui . offset . top , expected . top , position + ' top' ) ;
402
- }
307
+ el . simulate ( "drag" , {
308
+ moves : 1 ,
309
+ dx : deltaX ,
310
+ dy : deltaY
403
311
} ) ;
404
-
405
- before = el . offset ( ) ;
406
- pos = {
407
- clientX : before . left + offsetX ,
408
- clientY : before . top + offsetY
409
- } ;
410
- expected = {
411
- left : before . left + offsetX - cursorAtX + deltaX - TestHelpers . draggable . unreliableOffset ,
412
- top : before . top + offsetY - cursorAtY + deltaY - TestHelpers . draggable . unreliableOffset
413
- } ;
414
-
415
- // todo: replace this with simulated drag event
416
- el . simulate ( "mousedown" , pos ) ;
417
- pos . clientX += deltaX ;
418
- pos . clientY += deltaY ;
419
- $ ( document ) . simulate ( "mousemove" , pos ) ;
420
- el . simulate ( "mouseup" , pos ) ;
312
+ } ) ;
421
313
} ) ;
422
314
} ) ;
423
315
0 commit comments