define( [ "jquery", "lib/helper", "ui/widgets/selectable" ], function( $, testHelpers ) { module( "selectable: events" ); test( "start", function() { expect( 2 ); var el = $( "#selectable1" ); el.selectable( { start: function() { ok( true, "drag fired start callback" ); equal( this, el[ 0 ], "context of callback" ); } } ); el.simulate( "drag", { dx: 20, dy: 20 } ); } ); test( "stop", function() { expect( 2 ); var el = $( "#selectable1" ); el.selectable( { start: function() { ok( true, "drag fired stop callback" ); equal( this, el[ 0 ], "context of callback" ); } } ); el.simulate( "drag", { dx: 20, dy: 20 } ); } ); test( "mousedown: initial position of helper", function() { expect( 2 ); var helperOffset, element = $( "#selectable1" ).selectable(), contentToForceScroll = testHelpers.forceScrollableWindow( "body" ); $( window ).scrollTop( 100 ).scrollLeft( 100 ); element.simulate( "mousedown", { clientX: 10, clientY: 10 } ); helperOffset = $( ".ui-selectable-helper" ).offset(); ok( helperOffset.top, 110, "Scroll top should be accounted for." ); ok( helperOffset.left, 110, "Scroll left should be accounted for." ); // Cleanup element.simulate( "mouseup" ); contentToForceScroll.remove(); $( window ).scrollTop( 0 ).scrollLeft( 0 ); } ); } );