aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit/draggable/draggable_options.js
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/draggable/draggable_options.js')
-rw-r--r--tests/unit/draggable/draggable_options.js66
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/unit/draggable/draggable_options.js b/tests/unit/draggable/draggable_options.js
index abce62a46..f724decbc 100644
--- a/tests/unit/draggable/draggable_options.js
+++ b/tests/unit/draggable/draggable_options.js
@@ -252,6 +252,72 @@ test( "{ connectToSortable: selector }, default", function() {
});
*/
+test( "connectToSortable, dragging out of a sortable", function() {
+ expect( 3 );
+
+ var sortItem, dragHelper,
+ element = $( "#draggableSortable" ).draggable({
+ scroll: false,
+ connectToSortable: "#sortable"
+ }),
+ sortable = $( "#sortable" ).sortable(),
+ dx = 50,
+ dy = 50,
+ offsetBefore = element.offset(),
+ offsetExpected = {
+ left: offsetBefore.left + dx,
+ top: offsetBefore.top + dy
+ };
+
+ $( sortable ).one( "sortstart", function( event, ui ) {
+ sortItem = ui.item;
+ });
+
+ $( element ).one( "drag", function( event, ui ) {
+ dragHelper = ui.helper;
+ });
+
+ $( element ).one( "dragstop", function( event, ui ) {
+ // http://bugs.jqueryui.com/ticket/8809
+ // Position issue when connected to sortable
+ deepEqual( ui.helper.offset(), offsetExpected, "draggable offset is correct" );
+
+ // http://bugs.jqueryui.com/ticket/7734
+ // HTML IDs are removed when dragging to a Sortable
+ equal( sortItem[ 0 ], dragHelper[ 0 ], "both have the same helper" );
+ equal( sortItem.attr( "id" ), dragHelper.attr( "id" ), "both have the same id" );
+ });
+
+ element.simulate( "drag", {
+ dx: dx,
+ dy: dy
+ });
+});
+
+test( "connectToSortable, dragging clone into sortable", function() {
+ expect( 1 );
+
+ var element = $( "#draggableSortableClone" ).draggable({
+ scroll: false,
+ connectToSortable: "#sortable",
+ helper: "clone"
+ }),
+ sortable = $( "#sortable" ).sortable(),
+ offsetSortable = sortable.offset();
+
+ $( sortable ).one( "sortbeforestop", function( event, ui ) {
+ // http://bugs.jqueryui.com/ticket/8809
+ // Position issue when connected to sortable
+ deepEqual( ui.helper.offset(), offsetSortable, "sortable offset is correct" );
+ });
+
+ element.simulate( "drag", {
+ x: offsetSortable.left + 1,
+ y: offsetSortable.top + 1,
+ moves: 1
+ });
+});
+
test( "{ containment: Element }", function() {
expect( 1 );