diff options
author | Mike Sherov <mike.sherov@gmail.com> | 2013-03-16 14:36:06 -0400 |
---|---|---|
committer | Scott González <scott.gonzalez@gmail.com> | 2013-04-17 11:47:56 -0400 |
commit | ecabe4754412b61059d429040e266ca921a754b2 (patch) | |
tree | 4afd5e982209ae15d41638ecea66a7cde395257b /tests | |
parent | f74a9080562b9cedcae7030f3e4681b3ee0bfb14 (diff) | |
download | jquery-ui-ecabe4754412b61059d429040e266ca921a754b2.tar.gz jquery-ui-ecabe4754412b61059d429040e266ca921a754b2.zip |
Draggable: make sure snap elements are in the document before snapping. Fixes #8459 - Draggable: element can snap to an element that was removed during drag.(cherry picked from commit 9d8af804ad4cebe434d420b29467c596809a7cca)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/unit/draggable/draggable_options.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/unit/draggable/draggable_options.js b/tests/unit/draggable/draggable_options.js index 2cb7ec22b..f4fca0b2e 100644 --- a/tests/unit/draggable/draggable_options.js +++ b/tests/unit/draggable/draggable_options.js @@ -1257,6 +1257,39 @@ test( "snap, snapMode, and snapTolerance", function() { deepEqual( element.offset(), { top: newY, left: newX }, "doesn't snap on the inner snapTolerance area when snapMode is outer" ); }); +test( "#8459: element can snap to an element that was removed during drag", function() { + expect( 1 ); + + var newX, newY, + snapTolerance = 15, + element = $( "#draggable1" ).draggable({ + snap: true, + snapMode: "both", + snapTolerance: snapTolerance, + start: function() { + element2.remove(); + } + }), + element2 = $( "#draggable2" ).draggable(); + + element.offset({ + top: 1, + left: 1 + }); + + newX = element2.offset().left - element.outerWidth() - snapTolerance + 1; + newY = element2.offset().top; + + element.simulate( "drag", { + handle: "corner", + x: newX, + y: newY, + moves: 1 + }); + + deepEqual( element.offset(), { top: newY, left: newX }, "doesn't snap to a removed element" ); +}); + test( "#8165: Snapping large rectangles to small rectangles doesn't snap properly", function() { expect( 1 ); |