diff options
author | Paul Bakaus <paul.bakaus@googlemail.com> | 2010-01-28 16:35:59 +0000 |
---|---|---|
committer | Paul Bakaus <paul.bakaus@googlemail.com> | 2010-01-28 16:35:59 +0000 |
commit | 9617d150548df1dead1da9743d99abe378b41a3f (patch) | |
tree | 3b65e82c17e707743505a9d122b963e4bdbcd245 /tests/unit | |
parent | b72caa0f3d093dfa45cc022f11a4af13225d4ee6 (diff) | |
download | jquery-ui-9617d150548df1dead1da9743d99abe378b41a3f.tar.gz jquery-ui-9617d150548df1dead1da9743d99abe378b41a3f.zip |
draggable: implemented #4145 - start,drag and stop events should be preventable
Diffstat (limited to 'tests/unit')
-rw-r--r-- | tests/unit/draggable/draggable_events.js | 54 | ||||
-rw-r--r-- | tests/unit/draggable/draggable_options.js | 25 |
2 files changed, 76 insertions, 3 deletions
diff --git a/tests/unit/draggable/draggable_events.js b/tests/unit/draggable/draggable_events.js index 79b406e8c..d92d8ee12 100644 --- a/tests/unit/draggable/draggable_events.js +++ b/tests/unit/draggable/draggable_events.js @@ -24,4 +24,58 @@ test("callbacks occurance count", function() { }); +test("stopping the start callback", function() { + + expect(3); + + var start = 0, stop = 0, dragc = 0; + el = $("#draggable2").draggable({ + start: function() { start++; return false; }, + drag: function() { dragc++; }, + stop: function() { stop++; } + }); + + drag(el, 10, 10); + + equals(start, 1, "start callback should happen exactly once"); + equals(dragc, 0, "drag callback should not happen at all"); + equals(stop, 0, "stop callback should not happen if there wasnt even a start"); + +}); + +test("stopping the drag callback", function() { + + expect(3); + + var start = 0, stop = 0, dragc = 0; + el = $("#draggable2").draggable({ + start: function() { start++;}, + drag: function() { dragc++; return false; }, + stop: function() { stop++; } + }); + + drag(el, 10, 10); + + equals(start, 1, "start callback should happen exactly once"); + equals(dragc, 1, "drag callback should happen exactly once"); + equals(stop, 1, "stop callback should happen, as we need to actively stop the drag"); + +}); + +test("stopping the stop callback", function() { + + expect(1); + + el = $("#draggable2").draggable({ + helper: 'clone', + stop: function() { return false; } + }); + + drag(el, 10, 10); + + ok($("#draggable2").data('draggable').helper, "the clone should not be deleted if the stop callback is stopped"); + + +}); + })(jQuery); diff --git a/tests/unit/draggable/draggable_options.js b/tests/unit/draggable/draggable_options.js index 72fa28639..78f6c563e 100644 --- a/tests/unit/draggable/draggable_options.js +++ b/tests/unit/draggable/draggable_options.js @@ -42,15 +42,34 @@ test("{ addClasses: false }", function() { test("{ appendTo: 'parent' }, default", function() { equals(draggable_defaults.appendTo, "parent"); - ok(false, 'missing test - untested code is broken code'); + el = $("#draggable2").draggable({ appendTo: 'parent' }); + drag(el, 50, 50); + moved(50, 50); + + el = $("#draggable1").draggable({ appendTo: 'parent' }); + drag(el, 50, 50); + moved(50, 50); + }); test("{ appendTo: Element }", function() { - ok(false, 'missing test - untested code is broken code'); + el = $("#draggable2").draggable({ appendTo: $("#draggable2").parent()[0] }); + drag(el, 50, 50); + moved(50, 50); + + el = $("#draggable1").draggable({ appendTo: $("#draggable2").parent()[0] }); + drag(el, 50, 50); + moved(50, 50); }); test("{ appendTo: Selector }", function() { - ok(false, 'missing test - untested code is broken code'); + el = $("#draggable2").draggable({ appendTo: "#main" }); + drag(el, 50, 50); + moved(50, 50); + + el = $("#draggable1").draggable({ appendTo: "#main" }); + drag(el, 50, 50); + moved(50, 50); }); test("{ axis: false }, default", function() { |