diff options
Diffstat (limited to 'tests/selectable.js')
-rw-r--r-- | tests/selectable.js | 414 |
1 files changed, 207 insertions, 207 deletions
diff --git a/tests/selectable.js b/tests/selectable.js index 5060650d1..267b88931 100644 --- a/tests/selectable.js +++ b/tests/selectable.js @@ -1,207 +1,207 @@ -/*
- * selectable unit tests
- */
-(function($) {
-//
-// Selectable Test Helper Functions
-//
-var el;
-
-var drag = function(dx, dy) {
- var off = el.offset(), pos = { clientX: off.left, clientY: off.top };
- el.simulate("mousedown", pos);
- $(document).simulate("mousemove", pos);
- pos.clientX += dx;
- pos.clientY += dy;
- $(document).simulate("mousemove", pos);
- $(document).simulate("mouseup", pos);
-}
-
-var border = function(el, side) { return parseInt(el.css('border-' + side + '-width')); }
-
-var margin = function(el, side) { return parseInt(el.css('margin-' + side)); }
-
-// Selectable Tests
-module("selectable");
-
-test("init", function() {
- expect(6);
-
- $("#selectable1").selectable().remove();
- ok(true, '.selectable() called on element');
-
- $([]).selectable().remove();
- ok(true, '.selectable() called on empty collection');
-
- $("<div/>").selectable().remove();
- ok(true, '.selectable() called on disconnected DOMElement');
-
- $("<div/>").selectable().selectable("foo").remove();
- ok(true, 'arbitrary method called after init');
-
- el = $("<div/>").selectable()
- var foo = el.data("foo.selectable");
- el.remove();
- ok(true, 'arbitrary option getter after init');
-
- $("<div/>").selectable().data("foo.selectable", "bar").remove();
- ok(true, 'arbitrary option setter after init');
-});
-
-test("destroy", function() {
- expect(6);
-
- $("#selectable1").selectable().selectable("destroy").remove();
- ok(true, '.selectable("destroy") called on element');
-
- $([]).selectable().selectable("destroy").remove();
- ok(true, '.selectable("destroy") called on empty collection');
-
- $("<div/>").selectable().selectable("destroy").remove();
- ok(true, '.selectable("destroy") called on disconnected DOMElement');
-
- $("<div/>").selectable().selectable("destroy").selectable("foo").remove();
- ok(true, 'arbitrary method called after destroy');
-
- el = $("<div/>").selectable();
- var foo = el.selectable("destroy").data("foo.selectable");
- el.remove();
- ok(true, 'arbitrary option getter after destroy');
-
- $("<div/>").selectable().selectable("destroy").data("foo.selectable", "bar").remove();
- ok(true, 'arbitrary option setter after destroy');
-});
-
-test("defaults", function() {
- el = $('#selectable1').selectable();
- var defaults = {
- autoRefresh: true,
- filter: '*'
- };
- $.each(defaults, function(key, val) {
- var actual = el.data(key + ".selectable"), expected = val,
- method = (expected && expected.constructor == Object) ?
- compare2 : equals;
- method(actual, expected, key);
- });
- el.remove();
-});
-
-module("selectable: Options");
-
-test("autoRefresh", function() {
- expect(3);
- el = $("#selectable1");
- var actual, sel = $("*", el), selected = function() { actual += 1 };
-
- actual = 0;
- el = $("#selectable1").selectable({ autoRefresh: false, selected: selected });
- sel.hide();
- drag(1000, 1000);
- equals(actual, sel.length);
- el.selectable("destroy");
-
- actual = 0;
- sel.show();
- el = $("#selectable1").selectable({ autoRefresh: true, selected: selected });
- sel.hide();
- drag(1000, 1000);
- equals(actual, 0);
- sel.show();
- drag(1000, 1000);
- equals(actual, sel.length);
- el.selectable("destroy");
- sel.show();
-});
-
-test("filter", function() {
- expect(2);
- el = $("#selectable1");
- var actual, sel = $("*", el), selected = function() { actual += 1 };
-
- actual = 0;
- el = $("#selectable1").selectable({ filter: '.special', selected: selected });
- drag(1000, 1000);
- ok(sel.length != 1, "this test assumes more than 1 selectee");
- equals(actual, 1);
- el.selectable("destroy");
-});
-
-module("selectable: Methods");
-
-test("disable", function() {
- expect(2);
- var fired = false;
-
- el = $("#selectable1");
- el.selectable({
- disabled: false,
- start: function() { fired = true; }
- });
- el.simulate("drag", 20, 20);
- equals(fired, true, "start fired");
- el.selectable("disable");
- fired = false;
- el.simulate("drag", 20, 20);
- equals(fired, false, "start fired");
- el.selectable("destroy");
-});
-
-test("enable", function() {
- expect(2);
- var fired = false;
-
- el = $("#selectable1");
- el.selectable({
- disabled: true,
- start: function() { fired = true; }
- });
- el.simulate("drag", 20, 20);
- equals(fired, false, "start fired");
- el.selectable("enable");
- el.simulate("drag", 20, 20);
- equals(fired, true, "start fired");
- el.selectable("destroy");
-});
-
-test("toggle", function() {
- expect(2);
-
- el = $("#selectable1").selectable({ disabled: true }).selectable("toggle");
- equals(el.data("disabled.selectable"), false, "disabled -> enabled");
- el.selectable("destroy");
-
- el = $("#selectable1").selectable({ disabled: false }).selectable("toggle");
- equals(el.data("disabled.selectable"), true, "enabled -> disabled");
- el.selectable("destroy");
-});
-
-module("selectable: Callbacks");
-
-test("start", function() {
- expect(2);
- el = $("#selectable1");
- el.selectable({
- start: function(ev, ui) {
- ok(true, "drag fired start callback");
- equals(this, el[0], "context of callback");
- }
- });
- el.simulate("drag", 20, 20);
-});
-
-test("stop", function() {
- expect(2);
- el = $("#selectable1");
- el.selectable({
- start: function(ev, ui) {
- ok(true, "drag fired stop callback");
- equals(this, el[0], "context of callback");
- }
- });
- el.simulate("drag", 20, 20);
-});
-
-module("selectable: Tickets");
-
-})(jQuery);
+/* + * selectable unit tests + */ +(function($) { +// +// Selectable Test Helper Functions +// +var el; + +var drag = function(dx, dy) { + var off = el.offset(), pos = { clientX: off.left, clientY: off.top }; + el.simulate("mousedown", pos); + $(document).simulate("mousemove", pos); + pos.clientX += dx; + pos.clientY += dy; + $(document).simulate("mousemove", pos); + $(document).simulate("mouseup", pos); +} + +var border = function(el, side) { return parseInt(el.css('border-' + side + '-width')); } + +var margin = function(el, side) { return parseInt(el.css('margin-' + side)); } + +// Selectable Tests +module("selectable"); + +test("init", function() { + expect(6); + + $("#selectable1").selectable().remove(); + ok(true, '.selectable() called on element'); + + $([]).selectable().remove(); + ok(true, '.selectable() called on empty collection'); + + $("<div/>").selectable().remove(); + ok(true, '.selectable() called on disconnected DOMElement'); + + $("<div/>").selectable().selectable("foo").remove(); + ok(true, 'arbitrary method called after init'); + + el = $("<div/>").selectable() + var foo = el.data("foo.selectable"); + el.remove(); + ok(true, 'arbitrary option getter after init'); + + $("<div/>").selectable().data("foo.selectable", "bar").remove(); + ok(true, 'arbitrary option setter after init'); +}); + +test("destroy", function() { + expect(6); + + $("#selectable1").selectable().selectable("destroy").remove(); + ok(true, '.selectable("destroy") called on element'); + + $([]).selectable().selectable("destroy").remove(); + ok(true, '.selectable("destroy") called on empty collection'); + + $("<div/>").selectable().selectable("destroy").remove(); + ok(true, '.selectable("destroy") called on disconnected DOMElement'); + + $("<div/>").selectable().selectable("destroy").selectable("foo").remove(); + ok(true, 'arbitrary method called after destroy'); + + el = $("<div/>").selectable(); + var foo = el.selectable("destroy").data("foo.selectable"); + el.remove(); + ok(true, 'arbitrary option getter after destroy'); + + $("<div/>").selectable().selectable("destroy").data("foo.selectable", "bar").remove(); + ok(true, 'arbitrary option setter after destroy'); +}); + +test("defaults", function() { + el = $('#selectable1').selectable(); + var defaults = { + autoRefresh: true, + filter: '*' + }; + $.each(defaults, function(key, val) { + var actual = el.data(key + ".selectable"), expected = val, + method = (expected && expected.constructor == Object) ? + compare2 : equals; + method(actual, expected, key); + }); + el.remove(); +}); + +module("selectable: Options"); + +test("autoRefresh", function() { + expect(3); + el = $("#selectable1"); + var actual, sel = $("*", el), selected = function() { actual += 1 }; + + actual = 0; + el = $("#selectable1").selectable({ autoRefresh: false, selected: selected }); + sel.hide(); + drag(1000, 1000); + equals(actual, sel.length); + el.selectable("destroy"); + + actual = 0; + sel.show(); + el = $("#selectable1").selectable({ autoRefresh: true, selected: selected }); + sel.hide(); + drag(1000, 1000); + equals(actual, 0); + sel.show(); + drag(1000, 1000); + equals(actual, sel.length); + el.selectable("destroy"); + sel.show(); +}); + +test("filter", function() { + expect(2); + el = $("#selectable1"); + var actual, sel = $("*", el), selected = function() { actual += 1 }; + + actual = 0; + el = $("#selectable1").selectable({ filter: '.special', selected: selected }); + drag(1000, 1000); + ok(sel.length != 1, "this test assumes more than 1 selectee"); + equals(actual, 1); + el.selectable("destroy"); +}); + +module("selectable: Methods"); + +test("disable", function() { + expect(2); + var fired = false; + + el = $("#selectable1"); + el.selectable({ + disabled: false, + start: function() { fired = true; } + }); + el.simulate("drag", 20, 20); + equals(fired, true, "start fired"); + el.selectable("disable"); + fired = false; + el.simulate("drag", 20, 20); + equals(fired, false, "start fired"); + el.selectable("destroy"); +}); + +test("enable", function() { + expect(2); + var fired = false; + + el = $("#selectable1"); + el.selectable({ + disabled: true, + start: function() { fired = true; } + }); + el.simulate("drag", 20, 20); + equals(fired, false, "start fired"); + el.selectable("enable"); + el.simulate("drag", 20, 20); + equals(fired, true, "start fired"); + el.selectable("destroy"); +}); + +test("toggle", function() { + expect(2); + + el = $("#selectable1").selectable({ disabled: true }).selectable("toggle"); + equals(el.data("disabled.selectable"), false, "disabled -> enabled"); + el.selectable("destroy"); + + el = $("#selectable1").selectable({ disabled: false }).selectable("toggle"); + equals(el.data("disabled.selectable"), true, "enabled -> disabled"); + el.selectable("destroy"); +}); + +module("selectable: Callbacks"); + +test("start", function() { + expect(2); + el = $("#selectable1"); + el.selectable({ + start: function(ev, ui) { + ok(true, "drag fired start callback"); + equals(this, el[0], "context of callback"); + } + }); + el.simulate("drag", 20, 20); +}); + +test("stop", function() { + expect(2); + el = $("#selectable1"); + el.selectable({ + start: function(ev, ui) { + ok(true, "drag fired stop callback"); + equals(this, el[0], "context of callback"); + } + }); + el.simulate("drag", 20, 20); +}); + +module("selectable: Tickets"); + +})(jQuery); |