]> source.dussan.org Git - jquery-ui.git/commitdiff
Sortable Tests: Add tests to support #9041 and #8792
authorMike Sherov <mike.sherov@gmail.com>
Fri, 8 Mar 2013 21:38:41 +0000 (16:38 -0500)
committerMike Sherov <mike.sherov@gmail.com>
Fri, 8 Mar 2013 21:52:49 +0000 (16:52 -0500)
tests/unit/sortable/sortable_events.js
tests/unit/sortable/sortable_options.js

index 1b8165acba382865bbe1bb87804a427d40c634b9..46a493b3e7d2156d51cc1f8aec6a82b5960d3745 100644 (file)
@@ -231,11 +231,34 @@ test("receive", function() {
 test("remove", function() {
        ok(false, "missing test - untested code is broken code.");
 });
+*/
 
-test("over", function() {
-       ok(false, "missing test - untested code is broken code.");
+test( "over", function() {
+       expect( 8 );
+
+       var hash,
+               overCount = 0;
+
+       $( "#sortable" ).sortable({
+               over: function( e, ui ) {
+                       hash = ui;
+                       overCount++;
+               }
+       }).find( "li:eq(0)" ).simulate( "drag", {
+               dy: 20
+       });
+
+       ok( hash, "stop event triggered" );
+       ok( hash.helper, "UI should not include: helper" );
+       ok( hash.placeholder, "UI hash includes: placeholder" );
+       ok( hash.position && ( "top" in hash.position && "left" in hash.position ), "UI hash includes: position" );
+       ok( hash.offset && ( hash.offset.top && hash.offset.left ), "UI hash includes: offset" );
+       ok( hash.item, "UI hash includes: item" );
+       ok( hash.sender, "UI hash does not include: sender" );
+       equal( overCount, 1, "over fires only once" );
 });
 
+/*
 test("out", function() {
        ok(false, "missing test - untested code is broken code.");
 });
index caba0a7770d1dec657a447891164e34657eb5df9..63857316236d2498e5f02cf63ea1d5f0ea3c1c4b 100644 (file)
@@ -37,7 +37,44 @@ test("{ cancel: 'input,textarea,button,select,option' }, default", function() {
 test("{ cancel: Selector }", function() {
        ok(false, "missing test - untested code is broken code.");
 });
+*/
+
+test( "#8792: issues with floated items in connected lists", function() {
+       expect( 2 );
+
+       var element,
+               changeCount = 0;
+
+       $( "#qunit-fixture" )
+               .html( "<ul class='c'><li>a</li><li>a</li></ul><ul class='c'><li>a</li><li>a</li></ul>" )
+               .find( "ul" ).css({ "float": "left", width: "100px" }).end()
+               .find( "li" ).css({ "float": "left", width: "50px", height: "50px" });
+
+       $( "#qunit-fixture .c" ).sortable({
+               connectWith: "#qunit-fixture .c",
+               change: function() {
+                       changeCount++;
+               }
+       });
+
+       element = $( "#qunit-fixture li:eq(0)" );
 
+       element.simulate( "drag", {
+               dx: 51,
+               moves: 15
+       });
+
+       equal( changeCount, 1, "change fired only once (no jitters) when dragging a floated sortable in it's own container" );
+
+       element.simulate( "drag", {
+               dx: 50,
+               moves: 15
+       });
+
+       equal( changeCount, 3, "change fired once for each expected change when dragging a floated sortable to a connected container" );
+});
+
+/*
 test("{ connectWith: false }, default", function() {
        ok(false, "missing test - untested code is broken code.");
 });