aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMike Sherov <mike.sherov@gmail.com>2013-03-16 14:36:06 -0400
committerScott González <scott.gonzalez@gmail.com>2013-04-17 11:47:56 -0400
commitecabe4754412b61059d429040e266ca921a754b2 (patch)
tree4afd5e982209ae15d41638ecea66a7cde395257b /tests
parentf74a9080562b9cedcae7030f3e4681b3ee0bfb14 (diff)
downloadjquery-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.js33
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 );