diff options
Diffstat (limited to 'src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable')
7 files changed, 296 insertions, 0 deletions
diff --git a/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/all.html b/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/all.html new file mode 100644 index 0000000..e77829b --- /dev/null +++ b/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/all.html @@ -0,0 +1,30 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>jQuery UI Selectable Test Suite</title> + + <script src="../../../jquery-1.7.1.js"></script> + + <link rel="stylesheet" href="../../../external/qunit.css"> + <link rel="stylesheet" href="../subsuiteRunner.css"> + <script src="../../../external/qunit.js"></script> + <script src="../subsuiteRunner.js"></script> + <script src="../subsuite.js"></script> + + <script> + testAllVersions( "selectable" ); + </script> +</head> +<body> + +<h1 id="qunit-header">jQuery UI Selectable Test Suite</h1> +<h2 id="qunit-banner"></h2> +<div id="qunit-testrunner-toolbar"></div> +<h2 id="qunit-userAgent"></h2> +<ol id="qunit-tests"></ol> +<div id="qunit-fixture"> + +</div> +</body> +</html> diff --git a/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/selectable.html b/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/selectable.html new file mode 100644 index 0000000..4f70e8d --- /dev/null +++ b/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/selectable.html @@ -0,0 +1,63 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>jQuery UI Selectable Test Suite</title> + + <script src="../../jquery.js"></script> + <script src="../../resource_loader.js"></script> + <script> + loadResources({ + css: [ "ui.core", "ui.selectable" ], + js: [ + "ui/jquery.ui.core.js", + "ui/jquery.ui.widget.js", + "ui/jquery.ui.mouse.js", + "ui/jquery.ui.selectable.js" + ] + }); + </script> + + <link rel="stylesheet" href="../../../external/qunit.css"> + <script src="../../../external/qunit.js"></script> + <script src="../../jquery.simulate.js"></script> + <script src="../testsuite.js"></script> + + <script src="selectable_core.js"></script> + <script src="selectable_defaults.js"></script> + <script src="selectable_events.js"></script> + <script src="selectable_methods.js"></script> + <script src="selectable_options.js"></script> + + <script> + // disable this stale testsuite for testswarm only + var url = window.location.search; + url = decodeURIComponent( url.slice( url.indexOf("swarmURL=") + 9 ) ); + if ( url && url.indexOf("http") == 0 ) { + // reset config to kill previous tests; make sure testsuite.js is loaded afterwards to init the testswarm script + QUnit.init(); + test("selectable", function() { ok(true, "disabled selectable testsuite"); }); + } + </script> + <script src="../swarminject.js"></script> +</head> +<body> + +<h1 id="qunit-header">jQuery UI Selectable Test Suite</h1> +<h2 id="qunit-banner"></h2> +<div id="qunit-testrunner-toolbar"></div> +<h2 id="qunit-userAgent"></h2> +<ol id="qunit-tests"></ol> +<div id="qunit-fixture"> + +<ul id="selectable1"> + <li>Item 1</li> + <li>Item 2</li> + <li class="special">Item 3</li> + <li>Item 4</li> + <li>Item 5</li> +</ul> + +</div> +</body> +</html> diff --git a/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/selectable_core.js b/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/selectable_core.js new file mode 100644 index 0000000..18ea3a3 --- /dev/null +++ b/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/selectable_core.js @@ -0,0 +1,16 @@ +/* + * 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); +}; + diff --git a/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/selectable_defaults.js b/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/selectable_defaults.js new file mode 100644 index 0000000..dbf799a --- /dev/null +++ b/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/selectable_defaults.js @@ -0,0 +1,16 @@ +/* + * selectable_defaults.js + */ + +var selectable_defaults = { + appendTo: 'body', + autoRefresh: true, + cancel: ':input,option', + delay: 0, + disabled: false, + distance: 0, + filter: '*', + tolerance: 'touch' +}; + +commonWidgetTests('selectable', { defaults: selectable_defaults }); diff --git a/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/selectable_events.js b/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/selectable_events.js new file mode 100644 index 0000000..03b65ab --- /dev/null +++ b/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/selectable_events.js @@ -0,0 +1,32 @@ +/* + * selectable_events.js + */ +(function($) { + +module("selectable: events"); + +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); diff --git a/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/selectable_methods.js b/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/selectable_methods.js new file mode 100644 index 0000000..06b75f9 --- /dev/null +++ b/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/selectable_methods.js @@ -0,0 +1,93 @@ +/* + * selectable_methods.js + */ +(function($) { + +module("selectable: methods"); + +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.selectable("option", "foo"); + el.remove(); + ok(true, 'arbitrary option getter after init'); + + $("<div></div>").selectable().selectable("option", "foo", "bar").remove(); + ok(true, 'arbitrary option setter after init'); +}); + +test("destroy", function() { + $("<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'); + + var expected = $('<div></div>').selectable(), + actual = expected.selectable('destroy'); + equals(actual, expected, 'destroy is chainable'); +}); + +test("enable", function() { + expect(3); + 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"); + + var expected = $('<div></div>').selectable(), + actual = expected.selectable('enable'); + equals(actual, expected, 'enable is chainable'); +}); + +test("disable", function() { + expect(3); + 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"); + + var expected = $('<div></div>').selectable(), + actual = expected.selectable('disable'); + equals(actual, expected, 'disable is chainable'); +}); + +})(jQuery); diff --git a/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/selectable_options.js b/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/selectable_options.js new file mode 100644 index 0000000..36b7b5b --- /dev/null +++ b/src/main/webapp/jquery-ui-1.9pre/tests/unit/selectable/selectable_options.js @@ -0,0 +1,46 @@ +/* + * selectable_options.js + */ +(function($) { + +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"); +}); + +})(jQuery); |