r1969 - trunk/tests/unit/sortable
Author: rdworth
Date: Mon Feb 2 16:33:00 2009
New Revision: 1969
Removed:
trunk/tests/unit/sortable/sortable.js
Modified:
trunk/tests/unit/sortable/sortable.html
trunk/tests/unit/sortable/sortable_core.js
trunk/tests/unit/sortable/sortable_defaults.js
trunk/tests/unit/sortable/sortable_events.js
trunk/tests/unit/sortable/sortable_methods.js
trunk/tests/unit/sortable/sortable_options.js
trunk/tests/unit/sortable/sortable_tickets.js
Log:
sortable unit tests: split tests into individual files
Modified: trunk/tests/unit/sortable/sortable.html
==============================================================================
--- trunk/tests/unit/sortable/sortable.html (original)
+++ trunk/tests/unit/sortable/sortable.html Mon Feb 2 16:33:00 2009
@@ -12,7 +12,12 @@
<script type="text/javascript"
src="../../../external/qunit/testrunner.js"></script>
<script type="text/javascript"
src="../../../external/simulate/jquery.simulate.js"></script>
- <script type="text/javascript" src="sortable.js"></script>
+ <script type="text/javascript" src="sortable_core.js"></script>
+ <script type="text/javascript" src="sortable_defaults.js"></script>
+ <script type="text/javascript" src="sortable_events.js"></script>
+ <script type="text/javascript" src="sortable_methods.js"></script>
+ <script type="text/javascript" src="sortable_options.js"></script>
+ <script type="text/javascript" src="sortable_tickets.js"></script>
</head>
<body>
Modified: trunk/tests/unit/sortable/sortable_core.js
==============================================================================
--- trunk/tests/unit/sortable/sortable_core.js (original)
+++ trunk/tests/unit/sortable/sortable_core.js Mon Feb 2 16:33:00 2009
@@ -1,6 +1,27 @@
/*
* sortable_core.js
*/
+
+var el, offsetBefore, offsetAfter, dragged;
+
+var drag = function(handle, dx, dy) {
+ offsetBefore = $(handle).offset();
+ $(handle).simulate("drag", {
+ dx: dx || 0,
+ dy: dy || 0
+ });
+ dragged = { dx: dx, dy: dy };
+ offsetAfter = $(handle).offset();
+}
+
+var sort = function(handle, dx, dy, index, msg) {
+ drag(handle, dx, dy);
+ equals($(handle).parent().children().index(handle), index, msg);
+}
+
+var border = function(el, side) { return parseInt(el.css('border-' + side
+ '-width')); }
+var margin = function(el, side) { return parseInt(el.css('margin-' +
side)); }
+
(function($) {
module("sortable: core");
Modified: trunk/tests/unit/sortable/sortable_defaults.js
==============================================================================
--- trunk/tests/unit/sortable/sortable_defaults.js (original)
+++ trunk/tests/unit/sortable/sortable_defaults.js Mon Feb 2 16:33:00 2009
@@ -3,7 +3,30 @@
*/
var sortable_defaults = {
- disabled: false
+ appendTo: "parent",
+ cancel: ":input,option",
+ connectWith: false,
+ cssNamespace: "ui",
+ cursor: 'default',
+ cursorAt: false,
+ delay: 0,
+ disabled: false,
+ distance: 1,
+ dropOnEmpty: true,
+ forcePlaceholderSize: false,
+ forceHelperSize: false,
+ handle: false,
+ helper: "original",
+ items: "> *",
+ opacity: false,
+ placeholder: false,
+ scope: "default",
+ scroll: true,
+ scrollSensitivity: 20,
+ scrollSpeed: 20,
+ sortIndicator: "???",
+ tolerance: "intersect",
+ zIndex: 1000
};
commonWidgetTests('sortable', { defaults: sortable_defaults });
Modified: trunk/tests/unit/sortable/sortable_events.js
==============================================================================
--- trunk/tests/unit/sortable/sortable_events.js (original)
+++ trunk/tests/unit/sortable/sortable_events.js Mon Feb 2 16:33:00 2009
@@ -5,7 +5,51 @@
module("sortable: events");
-test("testname", function() {
+test("start", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("sort", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("change", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("beforeStop", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("stop", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("update", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("receive", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+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("out", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("activate", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("deactivate", function() {
ok(false, "missing test - untested code is broken code.");
});
Modified: trunk/tests/unit/sortable/sortable_methods.js
==============================================================================
--- trunk/tests/unit/sortable/sortable_methods.js (original)
+++ trunk/tests/unit/sortable/sortable_methods.js Mon Feb 2 16:33:00 2009
@@ -5,8 +5,82 @@
module("sortable: methods");
-test("testname", function() {
- ok(false, "missing test - untested code is broken code.");
+test("init", function() {
+ expect(6);
+
+ $("<div></div>").appendTo('body').sortable().remove();
+ ok(true, '.sortable() called on element');
+
+ $([]).sortable();
+ ok(true, '.sortable() called on empty collection');
+
+ $("<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().data("foo.sortable");
+ ok(true, 'arbitrary option getter after init');
+
+ $("<div></div>").sortable().data("foo.sortable", "bar");
+ ok(true, 'arbitrary option setter after init');
+});
+
+test("destroy", function() {
+ expect(6);
+
+ $("<div></div>").appendTo('body').sortable().sortable("destroy").remove();
+ ok(true, '.sortable("destroy") called on element');
+
+ $([]).sortable().sortable("destroy");
+ ok(true, '.sortable("destroy") called on empty collection');
+
+ $("<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');
+
+ $("<div></div>").sortable().sortable("destroy").data("foo.sortable");
+ ok(true, 'arbitrary option getter after destroy');
+
+
$("<div></div>").sortable().sortable("destroy").data("foo.sortable", "bar");
+ ok(true, 'arbitrary option setter after destroy');
+});
+
+test("enable", function() {
+ expect(4);
+ el = $("#sortable").sortable({ disabled: true });
+
+ sort($("li", el)[0], 0, 40, 0, '.sortable({ disabled: true })');
+
+ el.sortable("enable");
+ equals(el.data("disabled.sortable"), false, "disabled.sortable getter");
+
+ el.sortable("destroy");
+ el.sortable({ disabled: true });
+ el.data("disabled.sortable", false);
+ equals(el.data("disabled.sortable"), false, "disabled.sortable setter");
+
+ sort($("li", el)[0], 0, 40, 2, '.data("disabled.sortable", false)');
+});
+
+test("disable", function() {
+ expect(5);
+ el = $("#sortable").sortable({ disabled: false });
+ sort($("li", el)[0], 0, 40, 2, '.sortable({ disabled: false })');
+
+ el.sortable("disable");
+ sort($("li", el)[0], 0, 40, 0, 'disabled.sortable getter');
+
+ el.sortable("destroy");
+
+ el.sortable({ disabled: false });
+ sort($("li", el)[0], 0, 40, 2, '.sortable({ disabled: false })');
+ el.data("disabled.sortable", true);
+ equals(el.data("disabled.sortable"), true, "disabled.sortable setter");
+ sort($("li", el)[0], 0, 40, 0, '.data("disabled.sortable", true)');
});
})(jQuery);
Modified: trunk/tests/unit/sortable/sortable_options.js
==============================================================================
--- trunk/tests/unit/sortable/sortable_options.js (original)
+++ trunk/tests/unit/sortable/sortable_options.js Mon Feb 2 16:33:00 2009
@@ -5,7 +5,35 @@
module("sortable: options");
-test("testname", function() {
+test("{ appendTo: 'parent' }, default", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("{ appendTo: Selector }", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("{ axis: false }, default", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("{ axis: 'x' }", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("{ axis: 'y' }", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("{ axis: ? }, unexpected", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("{ cancel: ':input,button' }, default", function() {
+ ok(false, "missing test - untested code is broken code.");
+});
+
+test("{ cancel: Selector }", function() {
ok(false, "missing test - untested code is broken code.");
});
Modified: trunk/tests/unit/sortable/sortable_tickets.js
==============================================================================
--- trunk/tests/unit/sortable/sortable_tickets.js (original)
+++ trunk/tests/unit/sortable/sortable_tickets.js Mon Feb 2 16:33:00 2009
@@ -5,8 +5,18 @@
module("sortable: tickets");
-test("testname", function() {
- ok(false, "missing test - untested code is broken code.");
+test("#3019: Stop fires too early", function() {
+
+ var helper = null;
+ el = $("#sortable").sortable({
+ stop: function(event, ui) {
+ helper = ui.helper;
+ }
+ });
+
+ sort($("li", el)[0], 0, 40, 2, 'Dragging the sortable');
+ equals(helper, null, "helper should be false");
+
});
})(jQuery);