Sortable Tests: Add tests to support #9041 and #8792

This commit is contained in:
Mike Sherov 2013-03-08 16:38:41 -05:00
parent 07ce771a13
commit 8b1b34c5c3
2 changed files with 62 additions and 2 deletions

View 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.");
});

View 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.");
});