From 87eab46a589031d781299937f95f22bf61b5ef27 Mon Sep 17 00:00:00 2001 From: Kevin Cupp Date: Wed, 15 Jul 2015 21:10:19 -0400 Subject: Sortable: Setting table row placeholder height to be same as sorted row Fixes #13662 Closes gh-1578 --- tests/unit/sortable/options.js | 52 ++++++++++++++++++++++++++++++++++----- tests/unit/sortable/sortable.html | 21 +++++++++++++++- 2 files changed, 66 insertions(+), 7 deletions(-) (limited to 'tests/unit') diff --git a/tests/unit/sortable/options.js b/tests/unit/sortable/options.js index fa0c487b7..30929a501 100644 --- a/tests/unit/sortable/options.js +++ b/tests/unit/sortable/options.js @@ -255,15 +255,55 @@ test("{ dropOnEmpty: true }, default", function() { test("{ dropOnEmpty: false }", function() { ok(false, "missing test - untested code is broken code."); }); +*/ -test("{ forcePlaceholderSize: false }, default", function() { - ok(false, "missing test - untested code is broken code."); -}); +QUnit.test( "{ forcePlaceholderSize: false } table rows", function( assert ) { + assert.expect( 1 ); -test("{ forcePlaceholderSize: true }", function() { - ok(false, "missing test - untested code is broken code."); -}); + var element = $( "#sortable-table2 tbody" ); + + element.sortable( { + placeholder: "test", + forcePlaceholderSize: false, + start: function( event, ui ) { + assert.notEqual( ui.placeholder.height(), ui.item.height(), + "placeholder is same height as item" ); + } + } ); + + // This row has a non-standard height + $( "tr", element ).eq( 0 ).simulate( "drag", { + dy: 1 + } ); +} ); +QUnit.test( "{ forcePlaceholderSize: true } table rows", function( assert ) { + assert.expect( 2 ); + + // Table should have the placeholder's height set the same as the row we're dragging + var element = $( "#sortable-table2 tbody" ); + + element.sortable( { + placeholder: "test", + forcePlaceholderSize: true, + start: function( event, ui ) { + assert.equal( ui.placeholder.height(), ui.item.height(), + "placeholder is same height as item" ); + } + } ); + + // First row has a non-standard height + $( "tr", element ).eq( 0 ).simulate( "drag", { + dy: 1 + } ); + + // Second row's height is normal + $( "tr", element ).eq( 1 ).simulate( "drag", { + dy: 1 + } ); +} ); + +/* test("{ forceHelperSize: false }, default", function() { ok(false, "missing test - untested code is broken code."); }); diff --git a/tests/unit/sortable/sortable.html b/tests/unit/sortable/sortable.html index 8bfbd3370..4ea5b0fc6 100644 --- a/tests/unit/sortable/sortable.html +++ b/tests/unit/sortable/sortable.html @@ -22,7 +22,8 @@ border-width: 0; height:19px; } - #sortable-table { + #sortable-table, + #sortable-table2 { width: 100%; } @@ -105,6 +106,24 @@ + + + + + + + + + + + + + + + + +
1
1
1
22
33
+
-- cgit v1.2.3