Skip to content
Permalink
Browse files

selectable unit tests: split tests into individual files

  • Loading branch information
rdworth committed Feb 4, 2009
1 parent 96b1534 commit 53f57ffdb52474db9a011a0bc38ee7943a02d177
@@ -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="selectable.js"></script>
<script type="text/javascript" src="selectable_core.js"></script>
<script type="text/javascript" src="selectable_defaults.js"></script>
<script type="text/javascript" src="selectable_events.js"></script>
<script type="text/javascript" src="selectable_methods.js"></script>
<script type="text/javascript" src="selectable_options.js"></script>
<script type="text/javascript" src="selectable_tickets.js"></script>
</head>
<body>

This file was deleted.

@@ -1,6 +1,23 @@
/*
* selectable_core.js
*/

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)); }

(function($) {

module("selectable: core");
@@ -3,7 +3,14 @@
*/

var selectable_defaults = {
disabled: false
appendTo: 'body',
autoRefresh: true,
cancel: ':input,option',
delay: 0,
disabled: false,
distance: 0,
filter: '*',
tolerance: 'touch'
};

commonWidgetTests('selectable', { defaults: selectable_defaults });
@@ -5,8 +5,28 @@

module("selectable: events");

test("testname", function() {
ok(false, "missing test - untested code is broken code.");
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);
});

})(jQuery);
@@ -5,8 +5,87 @@

module("selectable: methods");

test("testname", function() {
ok(false, "missing test - untested code is broken code.");
test("init", function() {
expect(6);

$("<div></div>").appendTo('body').selectable().remove();
ok(true, '.selectable() called on element');

$([]).selectable().remove();
ok(true, '.selectable() called on empty collection');

$("<div></div>").selectable().remove();
ok(true, '.selectable() called on disconnected DOMElement');

$("<div></div>").selectable().selectable("foo").remove();
ok(true, 'arbitrary method called after init');

el = $("<div></div>").selectable()
var foo = el.data("foo.selectable");
el.remove();
ok(true, 'arbitrary option getter after init');

$("<div></div>").selectable().data("foo.selectable", "bar").remove();
ok(true, 'arbitrary option setter after init');
});

test("destroy", function() {
expect(6);

$("<div></div>").appendTo('body').selectable().selectable("destroy").remove();
ok(true, '.selectable("destroy") called on element');

$([]).selectable().selectable("destroy").remove();
ok(true, '.selectable("destroy") called on empty collection');

$("<div></div>").selectable().selectable("destroy").remove();
ok(true, '.selectable("destroy") called on disconnected DOMElement');

$("<div></div>").selectable().selectable("destroy").selectable("foo").remove();
ok(true, 'arbitrary method called after destroy');

el = $("<div></div>").selectable();
var foo = el.selectable("destroy").data("foo.selectable");
el.remove();
ok(true, 'arbitrary option getter after destroy');

$("<div></div>").selectable().selectable("destroy").data("foo.selectable", "bar").remove();
ok(true, 'arbitrary option setter after 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("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");
});

})(jQuery);

0 comments on commit 53f57ff

Please sign in to comment.
You can’t perform that action at this time.