diff options
author | Mike Sherov <mike.sherov@gmail.com> | 2012-11-01 20:54:52 -0400 |
---|---|---|
committer | Mike Sherov <mike.sherov@gmail.com> | 2012-11-01 20:54:52 -0400 |
commit | 68ad80c2922daccba773a9adafe9fb5efcb129a2 (patch) | |
tree | 215b622d391a3a54c4a1eed92237dd6daf85f1de /tests | |
parent | d771048a566abb218d3f4968132376b5f33a8aef (diff) | |
download | jquery-ui-68ad80c2922daccba773a9adafe9fb5efcb129a2.tar.gz jquery-ui-68ad80c2922daccba773a9adafe9fb5efcb129a2.zip |
Dev: Standardize sortable test suite. Fixed #8755 - Dev: Get sortable test suite to pass
Diffstat (limited to 'tests')
-rw-r--r-- | tests/unit/all-active.html | 2 | ||||
-rw-r--r-- | tests/unit/all.html | 2 | ||||
-rw-r--r-- | tests/unit/sortable/sortable.html | 16 | ||||
-rw-r--r-- | tests/unit/sortable/sortable_common.js | 1 | ||||
-rw-r--r-- | tests/unit/sortable/sortable_core.js | 14 | ||||
-rw-r--r-- | tests/unit/sortable/sortable_events.js | 28 | ||||
-rw-r--r-- | tests/unit/sortable/sortable_methods.js | 38 | ||||
-rw-r--r-- | tests/unit/sortable/sortable_options.js | 3 | ||||
-rw-r--r-- | tests/unit/sortable/sortable_tickets.js | 28 |
9 files changed, 65 insertions, 67 deletions
diff --git a/tests/unit/all-active.html b/tests/unit/all-active.html index 8dc945de4..3d83286e8 100644 --- a/tests/unit/all-active.html +++ b/tests/unit/all-active.html @@ -31,7 +31,7 @@ "resizable/resizable.html", "selectable/selectable.html", //"slider/slider.html", - //"sortable/sortable.html", + "sortable/sortable.html", "spinner/spinner.html", "tabs/tabs.html", "tooltip/tooltip.html", diff --git a/tests/unit/all.html b/tests/unit/all.html index 70a841376..d4d7a0376 100644 --- a/tests/unit/all.html +++ b/tests/unit/all.html @@ -31,7 +31,7 @@ "resizable/resizable.html", "selectable/selectable.html", "slider/slider.html", - //"sortable/sortable.html", + "sortable/sortable.html", "spinner/spinner.html", "tabs/tabs.html", "tooltip/tooltip.html", diff --git a/tests/unit/sortable/sortable.html b/tests/unit/sortable/sortable.html index 2c20da677..644b931ee 100644 --- a/tests/unit/sortable/sortable.html +++ b/tests/unit/sortable/sortable.html @@ -29,6 +29,22 @@ <script src="sortable_tickets.js"></script> <script src="../swarminject.js"></script> + <style> + #sortable, #sortable2 { + position:relative; + top:0; + left:0; + padding: 0; + margin: 1px; + border-width: 0; + } + #sortable li{ + padding: 0; + margin: 0; + border-width: 0; + height:19px; + } + </style> </head> <body> diff --git a/tests/unit/sortable/sortable_common.js b/tests/unit/sortable/sortable_common.js index ae21f7dd2..0a8e9f2b9 100644 --- a/tests/unit/sortable/sortable_common.js +++ b/tests/unit/sortable/sortable_common.js @@ -5,6 +5,7 @@ TestHelpers.commonWidgetTests( "sortable", { cancel: "input,textarea,button,select,option", connectWith: false, containment: false, + create: null, cursor: "auto", cursorAt: false, delay: 0, diff --git a/tests/unit/sortable/sortable_core.js b/tests/unit/sortable/sortable_core.js index 540e06f0f..f036121b8 100644 --- a/tests/unit/sortable/sortable_core.js +++ b/tests/unit/sortable/sortable_core.js @@ -4,10 +4,16 @@ (function($) { -module("sortable: core"); +TestHelpers.sortable = { + sort: function(handle, dx, dy, index, msg) { + $(handle).simulate("drag", { + dx: dx || 0, + dy: dy || 0 + }); + equal($(handle).parent().children().index(handle), index, msg); + } +}; -// this is here to make JSHint pass "unused", and we don't want to -// remove the parameter for when we finally implement -$.noop(); +module("sortable: core"); })(jQuery); diff --git a/tests/unit/sortable/sortable_events.js b/tests/unit/sortable/sortable_events.js index 6ed54e1b6..556f539e1 100644 --- a/tests/unit/sortable/sortable_events.js +++ b/tests/unit/sortable/sortable_events.js @@ -6,6 +6,7 @@ module("sortable: events"); test("start", function() { + expect( 7 ); var hash; $("#sortable") @@ -15,15 +16,18 @@ test("start", function() { ok(hash, 'start event triggered'); ok(hash.helper, 'UI hash includes: helper'); ok(hash.placeholder, 'UI hash includes: placeholder'); - ok(hash.position && (hash.position.top && hash.position.left), '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'); + // todo: see if these events should actually have sane values in them + ok('position' in hash, 'UI hash includes: position'); + ok('offset' in hash, 'UI hash includes: offset'); + }); test("sort", function() { + expect( 7 ); var hash; $("#sortable") @@ -33,7 +37,7 @@ test("sort", function() { ok(hash, 'sort event triggered'); ok(hash.helper, 'UI hash includes: helper'); ok(hash.placeholder, 'UI hash includes: placeholder'); - ok(hash.position && (hash.position.top && hash.position.left), 'UI hash includes: position'); + 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'); @@ -41,6 +45,7 @@ test("sort", function() { }); test("change", function() { + expect( 8 ); var hash; $("#sortable") @@ -51,12 +56,12 @@ test("change", function() { $("#sortable") .sortable({ change: function(e, ui) { hash = ui; } }) - .find('li:eq(0)').simulate("drag", { dx: 0, dy: 20 }); + .find('li:eq(0)').simulate("drag", { dx: 0, dy: 22 }); ok(hash, 'change event triggered'); ok(hash.helper, 'UI hash includes: helper'); ok(hash.placeholder, 'UI hash includes: placeholder'); - ok(hash.position && (hash.position.top && hash.position.left), 'UI hash includes: position'); + 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'); @@ -64,6 +69,7 @@ test("change", function() { }); test("beforeStop", function() { + expect( 7 ); var hash; $("#sortable") @@ -73,7 +79,7 @@ test("beforeStop", function() { ok(hash, 'beforeStop event triggered'); ok(hash.helper, 'UI hash includes: helper'); ok(hash.placeholder, 'UI hash includes: placeholder'); - ok(hash.position && (hash.position.top && hash.position.left), 'UI hash includes: position'); + 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'); @@ -81,6 +87,7 @@ test("beforeStop", function() { }); test("stop", function() { + expect( 7 ); var hash; $("#sortable") @@ -90,7 +97,7 @@ test("stop", function() { ok(hash, 'stop event triggered'); ok(!hash.helper, 'UI should not include: helper'); ok(hash.placeholder, 'UI hash includes: placeholder'); - ok(hash.position && (hash.position.top && hash.position.left), 'UI hash includes: position'); + 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'); @@ -98,6 +105,7 @@ test("stop", function() { }); test("update", function() { + expect( 8 ); var hash; $("#sortable") @@ -108,18 +116,19 @@ test("update", function() { $("#sortable") .sortable({ update: function(e, ui) { hash = ui; } }) - .find('li:eq(0)').simulate("drag", { dx: 0, dy: 20 }); + .find('li:eq(0)').simulate("drag", { dx: 0, dy: 22 }); ok(hash, 'update event triggered'); ok(!hash.helper, 'UI hash should not include: helper'); ok(hash.placeholder, 'UI hash includes: placeholder'); - ok(hash.position && (hash.position.top && hash.position.left), 'UI hash includes: position'); + 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'); }); +/* test("receive", function() { ok(false, "missing test - untested code is broken code."); }); @@ -143,5 +152,6 @@ test("activate", function() { test("deactivate", function() { ok(false, "missing test - untested code is broken code."); }); +*/ })(jQuery); diff --git a/tests/unit/sortable/sortable_methods.js b/tests/unit/sortable/sortable_methods.js index c2a0b9548..85b418ac8 100644 --- a/tests/unit/sortable/sortable_methods.js +++ b/tests/unit/sortable/sortable_methods.js @@ -3,27 +3,10 @@ */ (function($) { -var el, offsetBefore, offsetAfter, dragged; - -function drag(handle, dx, dy) { - offsetBefore = $(handle).offset(); - $(handle).simulate("drag", { - dx: dx || 0, - dy: dy || 0 - }); - dragged = { dx: dx, dy: dy }; - offsetAfter = $(handle).offset(); -} - -function sort(handle, dx, dy, index, msg) { - drag(handle, dx, dy); - equal($(handle).parent().children().index(handle), index, msg); -} - module("sortable: methods"); test("init", function() { - expect(6); + expect(5); $("<div></div>").appendTo('body').sortable().remove(); ok(true, '.sortable() called on element'); @@ -34,9 +17,6 @@ test("init", function() { $("<div></div>").sortable(); ok(true, '.sortable() called on disconnected DOMElement'); - $("<div></div>").sortable().sortable("foo"); - ok(true, 'arbitrary method called after init'); - $("<div></div>").sortable().sortable("option", "foo"); ok(true, 'arbitrary option getter after init'); @@ -45,6 +25,7 @@ test("init", function() { }); test("destroy", function() { + expect(4); $("<div></div>").appendTo('body').sortable().sortable("destroy").remove(); ok(true, '.sortable("destroy") called on element'); @@ -54,9 +35,6 @@ test("destroy", function() { $("<div></div>").sortable().sortable("destroy"); ok(true, '.sortable("destroy") called on disconnected DOMElement'); - $("<div></div>").sortable().sortable("destroy").sortable("foo"); - ok(true, 'arbitrary method called after destroy'); - var expected = $('<div></div>').sortable(), actual = expected.sortable('destroy'); equal(actual, expected, 'destroy is chainable'); @@ -66,7 +44,7 @@ test("enable", function() { expect(5); el = $("#sortable").sortable({ disabled: true }); - sort($("li", el)[0], 0, 40, 0, '.sortable({ disabled: true })'); + TestHelpers.sortable.sort($("li", el)[0], 0, 44, 0, '.sortable({ disabled: true })'); el.sortable("enable"); equal(el.sortable("option", "disabled"), false, "disabled option getter"); @@ -76,7 +54,7 @@ test("enable", function() { el.sortable("option", "disabled", false); equal(el.sortable("option", "disabled"), false, "disabled option setter"); - sort($("li", el)[0], 0, 40, 2, '.sortable("option", "disabled", false)'); + TestHelpers.sortable.sort($("li", el)[0], 0, 44, 2, '.sortable("option", "disabled", false)'); var expected = $('<div></div>').sortable(), actual = expected.sortable('enable'); @@ -86,19 +64,19 @@ test("enable", function() { test("disable", function() { expect(7); el = $("#sortable").sortable({ disabled: false }); - sort($("li", el)[0], 0, 40, 2, '.sortable({ disabled: false })'); + TestHelpers.sortable.sort($("li", el)[0], 0, 44, 2, '.sortable({ disabled: false })'); el.sortable("disable"); - sort($("li", el)[0], 0, 40, 0, 'disabled.sortable getter'); + TestHelpers.sortable.sort($("li", el)[0], 0, 44, 0, 'disabled.sortable getter'); el.sortable("destroy"); el.sortable({ disabled: false }); - sort($("li", el)[0], 0, 40, 2, '.sortable({ disabled: false })'); + TestHelpers.sortable.sort($("li", el)[0], 0, 44, 2, '.sortable({ disabled: false })'); el.sortable("option", "disabled", true); equal(el.sortable("option", "disabled"), true, "disabled option setter"); ok(el.sortable("widget").is(":not(.ui-state-disabled)"), "sortable element does not get ui-state-disabled since it's an interaction"); - sort($("li", el)[0], 0, 40, 0, '.sortable("option", "disabled", true)'); + TestHelpers.sortable.sort($("li", el)[0], 0, 44, 0, '.sortable("option", "disabled", true)'); var expected = $('<div></div>').sortable(), actual = expected.sortable('disable'); diff --git a/tests/unit/sortable/sortable_options.js b/tests/unit/sortable/sortable_options.js index d5d7b3de1..cf35aedb1 100644 --- a/tests/unit/sortable/sortable_options.js +++ b/tests/unit/sortable/sortable_options.js @@ -9,6 +9,7 @@ module("sortable: options"); // remove the parameter for when we finally implement $.noop(); +/* test("{ appendTo: 'parent' }, default", function() { ok(false, "missing test - untested code is broken code."); }); @@ -256,5 +257,5 @@ test("{ zIndex: 1 }", function() { test("{ zIndex: false }", function() { ok(false, "missing test - untested code is broken code."); }); - +*/ })(jQuery); diff --git a/tests/unit/sortable/sortable_tickets.js b/tests/unit/sortable/sortable_tickets.js index 14bb705ea..c8ec08502 100644 --- a/tests/unit/sortable/sortable_tickets.js +++ b/tests/unit/sortable/sortable_tickets.js @@ -3,26 +3,10 @@ */ (function($) { -var el, offsetBefore, offsetAfter, dragged; - -function drag(handle, dx, dy) { - offsetBefore = $(handle).offset(); - $(handle).simulate("drag", { - dx: dx || 0, - dy: dy || 0 - }); - dragged = { dx: dx, dy: dy }; - offsetAfter = $(handle).offset(); -} - -function sort(handle, dx, dy, index, msg) { - drag(handle, dx, dy); - equal($(handle).parent().children().index(handle), index, msg); -} - module("sortable: tickets"); test("#3019: Stop fires too early", function() { + expect(2); var helper = null; el = $("#sortable").sortable({ @@ -31,19 +15,21 @@ test("#3019: Stop fires too early", function() { } }); - sort($("li", el)[0], 0, 40, 2, 'Dragging the sortable'); + TestHelpers.sortable.sort($("li", el)[0], 0, 44, 2, 'Dragging the sortable'); equal(helper, null, "helper should be false"); }); test('#4752: link event firing on sortable with connect list', function () { + expect( 10 ); + var fired = {}, hasFired = function (type) { return (type in fired) && (true === fired[type]); }; $('#sortable').clone().attr('id', 'sortable2').insertAfter('#sortable'); - $('#main ul').sortable({ - connectWith: '#main ul', + $('#qunit-fixture ul').sortable({ + connectWith: '#qunit-fixture ul', change: function () { fired.change = true; }, @@ -55,7 +41,7 @@ test('#4752: link event firing on sortable with connect list', function () { } }); - $('#main ul li').live('click.ui-sortable-test', function () { + $('#qunit-fixture ul').bind('click.ui-sortable-test', function () { fired.click = true; }); |