aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit/draggable
diff options
context:
space:
mode:
authorMike Sherov <mike.sherov@gmail.com>2013-03-27 16:47:57 -0400
committerMike Sherov <mike.sherov@gmail.com>2013-04-12 14:45:48 -0400
commitd345a0d7db841a143dcfdd3fb6fa6141cda435e9 (patch)
tree8acb573c1635ce16e7439404e0295b209a508ad1 /tests/unit/draggable
parentdd58f9832ba34cf99bc3245d0c4c6ccc486a2ddc (diff)
downloadjquery-ui-d345a0d7db841a143dcfdd3fb6fa6141cda435e9.tar.gz
jquery-ui-d345a0d7db841a143dcfdd3fb6fa6141cda435e9.zip
Draggable: allow draggable to defer destroying itself upon DOM removal until after stop is fired. Fixes #6889 - Draggable: Cursor doesn't revert to pre-dragging state after revert action when original element is removed.
Diffstat (limited to 'tests/unit/draggable')
-rw-r--r--tests/unit/draggable/draggable_core.js8
-rw-r--r--tests/unit/draggable/draggable_options.js27
2 files changed, 33 insertions, 2 deletions
diff --git a/tests/unit/draggable/draggable_core.js b/tests/unit/draggable/draggable_core.js
index 53703843d..dd71bd48b 100644
--- a/tests/unit/draggable/draggable_core.js
+++ b/tests/unit/draggable/draggable_core.js
@@ -75,9 +75,13 @@ test( "resizable handle with complex markup (#8756 / #8757)", function() {
});
test( "#8269: Removing draggable element on drop", function() {
- expect( 1 );
+ expect( 2 );
- var element = $( "#draggable1" ).wrap( "<div id='wrapper' />" ).draggable(),
+ var element = $( "#draggable1" ).wrap( "<div id='wrapper' />" ).draggable({
+ stop: function() {
+ ok( true, "stop still called despite element being removed from DOM on drop" );
+ }
+ }),
dropOffset = $( "#droppable" ).offset();
$( "#droppable" ).droppable({
diff --git a/tests/unit/draggable/draggable_options.js b/tests/unit/draggable/draggable_options.js
index 635d318e7..c361318b1 100644
--- a/tests/unit/draggable/draggable_options.js
+++ b/tests/unit/draggable/draggable_options.js
@@ -451,6 +451,33 @@ test( "{ cursor: 'move' }", function() {
equal( after, before, "after drag: cursor restored" );
});
+test( "#6889: Cursor doesn't revert to pre-dragging state after revert action when original element is removed", function() {
+ function getCursor() {
+ return $( "body" ).css( "cursor" );
+ }
+
+ expect( 2 );
+
+ var element = $( "#draggable1" ).wrap( "<div id='wrapper' />" ).draggable({
+ cursor: "move",
+ revert: true,
+ revertDuration: 0,
+ start: function() {
+ notEqual( getCursor(), expected, "start callback: cursor '" + expected + "'" );
+ $( "#wrapper" ).remove();
+ },
+ stop: function() {
+ equal( getCursor(), expected, "after drag: cursor restored" );
+ }
+ }),
+ expected = getCursor();
+
+ element.simulate( "drag", {
+ dx: -1,
+ dy: -1
+ });
+});
+
test( "cursor, default, switching after initialization", function() {
expect( 3 );