From bff0f70e2c97f11e58e24c6b88e57ea978e938a9 Mon Sep 17 00:00:00 2001 From: Richard Worth Date: Mon, 2 Feb 2009 07:09:15 +0000 Subject: [PATCH] droppable unit tests: created separate file for each module: core, common widget, events, methods, options, tickets --- tests/unit/droppable/droppable.html | 7 +- tests/unit/droppable/droppable.js | 223 --------------------- tests/unit/droppable/droppable_core.js | 36 ++++ tests/unit/droppable/droppable_defaults.js | 16 ++ tests/unit/droppable/droppable_events.js | 28 +++ tests/unit/droppable/droppable_methods.js | 82 ++++++++ tests/unit/droppable/droppable_options.js | 60 ++++++ tests/unit/droppable/droppable_tickets.js | 8 + 8 files changed, 236 insertions(+), 224 deletions(-) delete mode 100644 tests/unit/droppable/droppable.js create mode 100644 tests/unit/droppable/droppable_core.js create mode 100644 tests/unit/droppable/droppable_defaults.js create mode 100644 tests/unit/droppable/droppable_events.js create mode 100644 tests/unit/droppable/droppable_methods.js create mode 100644 tests/unit/droppable/droppable_options.js create mode 100644 tests/unit/droppable/droppable_tickets.js diff --git a/tests/unit/droppable/droppable.html b/tests/unit/droppable/droppable.html index dbcb22a64..2534f9dd4 100644 --- a/tests/unit/droppable/droppable.html +++ b/tests/unit/droppable/droppable.html @@ -13,7 +13,12 @@ - + + + + + + diff --git a/tests/unit/droppable/droppable.js b/tests/unit/droppable/droppable.js deleted file mode 100644 index 0e0dca62d..000000000 --- a/tests/unit/droppable/droppable.js +++ /dev/null @@ -1,223 +0,0 @@ -/* - * droppable unit tests - */ -(function($) { -// -// Droppable Test Helper Functions -// - -var defaults = { - accept: '*', - activeClass: null, - cssNamespace: "ui", - disabled: false, - greedy: false, - hoverClass: null, - scope: "default", - tolerance: "intersect" -}; - -var el, drg; - -function shouldBeDroppable() { - ok(false, 'missing test - untested code is broken code'); -} - -function shouldNotBeDroppable() { - ok(false, 'missing test - untested code is broken code'); -} - -// Droppable Tests -module("droppable"); - -test("init", function() { - expect(6); - - $("
").appendTo('body').droppable().remove(); - ok(true, '.droppable() called on element'); - - $([]).droppable(); - ok(true, '.droppable() called on empty collection'); - - $("
").droppable(); - ok(true, '.droppable() called on disconnected DOMElement'); - - $("
").droppable().droppable("foo"); - ok(true, 'arbitrary method called after init'); - - $("
").droppable().data("foo.droppable"); - ok(true, 'arbitrary option getter after init'); - - $("
").droppable().data("foo.droppable", "bar"); - ok(true, 'arbitrary option setter after init'); -}); - -test("destroy", function() { - expect(6); - - $("
").appendTo('body').droppable().droppable("destroy").remove(); - ok(true, '.droppable("destroy") called on element'); - - $([]).droppable().droppable("destroy"); - ok(true, '.droppable("destroy") called on empty collection'); - - $("
").droppable().droppable("destroy"); - ok(true, '.droppable("destroy") called on disconnected DOMElement'); - - $("
").droppable().droppable("destroy").droppable("foo"); - ok(true, 'arbitrary method called after destroy'); - - $("
").droppable().droppable("destroy").data("foo.droppable"); - ok(true, 'arbitrary option getter after destroy'); - - $("
").droppable().droppable("destroy").data("foo.droppable", "bar"); - ok(true, 'arbitrary option setter after destroy'); -}); - -test("enable", function() { - expect(6); - el = $("#droppable1").droppable({ disabled: true }); - shouldNotBeDroppable(); - el.droppable("enable"); - shouldBeDroppable(); - equals(el.data("disabled.droppable"), false, "disabled.droppable getter"); - el.droppable("destroy"); - el.droppable({ disabled: true }); - shouldNotBeDroppable(); - el.data("disabled.droppable", false); - equals(el.data("disabled.droppable"), false, "disabled.droppable setter"); - shouldBeDroppable(); -}); - -test("disable", function() { - expect(6); - el = $("#droppable1").droppable({ disabled: false }); - shouldBeDroppable(); - el.droppable("disable"); - shouldNotBeDroppable(); - equals(el.data("disabled.droppable"), true, "disabled.droppable getter"); - el.droppable("destroy"); - el.droppable({ disabled: false }); - shouldBeDroppable(); - el.data("disabled.droppable", true); - equals(el.data("disabled.droppable"), true, "disabled.droppable setter"); - shouldNotBeDroppable(); -}); - -test("element types", function() { - var typeNames = ('p,h1,h2,h3,h4,h5,h6,blockquote,ol,ul,dl,div,form' - + ',table,fieldset,address,ins,del,em,strong,q,cite,dfn,abbr' - + ',acronym,code,samp,kbd,var,img,object,hr' - + ',input,button,label,select,iframe').split(','); - - $.each(typeNames, function(i) { - var typeName = typeNames[i]; - el = $(document.createElement(typeName)).appendTo('body'); - (typeName == 'table' && el.append("content")); - el.droppable(); - shouldBeDroppable(); - el.droppable("destroy"); - el.remove(); - }); -}); - -test("defaults", function() { - el = $("
").droppable(); - $.each(defaults, function(key, val) { - var actual = el.data(key + ".droppable"), expected = val; - same(actual, expected, key); - }); - el.remove(); -}); - -test("option setting", function() { - // The plugin shouldn't modify an option value set by the user - $.each(defaults, function(key, val) { - el = $("
").droppable(); - el.data(key + ".droppable", val); - var actual = el.data(key + ".droppable"), expected = val; - same(actual, expected, key); - el.remove(); - }); -}); - -module("droppable: Options"); - -test("accept, selector", function() { - ok(false, 'missing test - untested code is broken code'); -}); - -test("accept, fn", function() { - ok(false, 'missing test - untested code is broken code'); -}); - -test("activeClass", function() { - ok(false, 'missing test - untested code is broken code'); -}); - -test("cssNamespace", function() { - //cssNamespace should be appended with '-droppable' and added as className - el = $("
").droppable({ cssNamespace: "ui" }); - equals(el[0].className, "ui-droppable"); - el.droppable("destroy"); - - //no className should be added if cssNamepsace is null - el = $("
").droppable({ cssNamespace: null }); - equals(el[0].className, ""); - el.droppable("destroy"); -}); - -test("greedy", function() { - ok(false, 'missing test - untested code is broken code'); -}); - -test("hoverClass", function() { - ok(false, 'missing test - untested code is broken code'); -}); - -test("scope", function() { - ok(false, 'missing test - untested code is broken code'); -}); - -test("tolerance, fit", function() { - ok(false, 'missing test - untested code is broken code'); -}); - -test("tolerance, intersect", function() { - ok(false, 'missing test - untested code is broken code'); -}); - -test("tolerance, pointer", function() { - ok(false, 'missing test - untested code is broken code'); -}); - -test("tolerance, touch", function() { - ok(false, 'missing test - untested code is broken code'); -}); - -module("droppable: Callbacks"); - -test("activate", function() { - ok(false, 'missing test - untested code is broken code'); -}); - -test("deactivate", 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("drop", function() { - ok(false, 'missing test - untested code is broken code'); -}); - -module("droppable: Tickets"); - - -})(jQuery); diff --git a/tests/unit/droppable/droppable_core.js b/tests/unit/droppable/droppable_core.js new file mode 100644 index 000000000..4d82017b9 --- /dev/null +++ b/tests/unit/droppable/droppable_core.js @@ -0,0 +1,36 @@ +/* + * droppable_core.js + */ + +var el, drg; + +function shouldBeDroppable() { + ok(false, 'missing test - untested code is broken code'); +} + +function shouldNotBeDroppable() { + ok(false, 'missing test - untested code is broken code'); +} + +(function($) { + +module("droppable: core"); + +test("element types", function() { + var typeNames = ('p,h1,h2,h3,h4,h5,h6,blockquote,ol,ul,dl,div,form' + + ',table,fieldset,address,ins,del,em,strong,q,cite,dfn,abbr' + + ',acronym,code,samp,kbd,var,img,object,hr' + + ',input,button,label,select,iframe').split(','); + + $.each(typeNames, function(i) { + var typeName = typeNames[i]; + el = $(document.createElement(typeName)).appendTo('body'); + (typeName == 'table' && el.append("content")); + el.droppable(); + shouldBeDroppable(); + el.droppable("destroy"); + el.remove(); + }); +}); + +})(jQuery); diff --git a/tests/unit/droppable/droppable_defaults.js b/tests/unit/droppable/droppable_defaults.js new file mode 100644 index 000000000..0c25bb686 --- /dev/null +++ b/tests/unit/droppable/droppable_defaults.js @@ -0,0 +1,16 @@ +/* + * droppable_defaults.js + */ + +var droppable_defaults = { + accept: '*', + activeClass: false, + cssNamespace: "ui", + disabled: false, + greedy: false, + hoverClass: false, + scope: "default", + tolerance: "intersect" +}; + +commonWidgetTests('droppable', { defaults: droppable_defaults }); diff --git a/tests/unit/droppable/droppable_events.js b/tests/unit/droppable/droppable_events.js new file mode 100644 index 000000000..f22a03540 --- /dev/null +++ b/tests/unit/droppable/droppable_events.js @@ -0,0 +1,28 @@ +/* + * droppable_events.js + */ +(function($) { + +module("droppable: events"); + +test("activate", function() { + ok(false, 'missing test - untested code is broken code'); +}); + +test("deactivate", 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("drop", function() { + ok(false, 'missing test - untested code is broken code'); +}); + +})(jQuery); diff --git a/tests/unit/droppable/droppable_methods.js b/tests/unit/droppable/droppable_methods.js new file mode 100644 index 000000000..51f54089d --- /dev/null +++ b/tests/unit/droppable/droppable_methods.js @@ -0,0 +1,82 @@ +/* + * droppable_methods.js + */ +(function($) { + +module("droppable: methods"); + +test("init", function() { + expect(6); + + $("
").appendTo('body').droppable().remove(); + ok(true, '.droppable() called on element'); + + $([]).droppable(); + ok(true, '.droppable() called on empty collection'); + + $("
").droppable(); + ok(true, '.droppable() called on disconnected DOMElement'); + + $("
").droppable().droppable("foo"); + ok(true, 'arbitrary method called after init'); + + $("
").droppable().data("foo.droppable"); + ok(true, 'arbitrary option getter after init'); + + $("
").droppable().data("foo.droppable", "bar"); + ok(true, 'arbitrary option setter after init'); +}); + +test("destroy", function() { + expect(6); + + $("
").appendTo('body').droppable().droppable("destroy").remove(); + ok(true, '.droppable("destroy") called on element'); + + $([]).droppable().droppable("destroy"); + ok(true, '.droppable("destroy") called on empty collection'); + + $("
").droppable().droppable("destroy"); + ok(true, '.droppable("destroy") called on disconnected DOMElement'); + + $("
").droppable().droppable("destroy").droppable("foo"); + ok(true, 'arbitrary method called after destroy'); + + $("
").droppable().droppable("destroy").data("foo.droppable"); + ok(true, 'arbitrary option getter after destroy'); + + $("
").droppable().droppable("destroy").data("foo.droppable", "bar"); + ok(true, 'arbitrary option setter after destroy'); +}); + +test("enable", function() { + expect(6); + el = $("#droppable1").droppable({ disabled: true }); + shouldNotBeDroppable(); + el.droppable("enable"); + shouldBeDroppable(); + equals(el.data("disabled.droppable"), false, "disabled.droppable getter"); + el.droppable("destroy"); + el.droppable({ disabled: true }); + shouldNotBeDroppable(); + el.data("disabled.droppable", false); + equals(el.data("disabled.droppable"), false, "disabled.droppable setter"); + shouldBeDroppable(); +}); + +test("disable", function() { + expect(6); + el = $("#droppable1").droppable({ disabled: false }); + shouldBeDroppable(); + el.droppable("disable"); + shouldNotBeDroppable(); + equals(el.data("disabled.droppable"), true, "disabled.droppable getter"); + el.droppable("destroy"); + el.droppable({ disabled: false }); + shouldBeDroppable(); + el.data("disabled.droppable", true); + equals(el.data("disabled.droppable"), true, "disabled.droppable setter"); + shouldNotBeDroppable(); +}); + +})(jQuery); diff --git a/tests/unit/droppable/droppable_options.js b/tests/unit/droppable/droppable_options.js new file mode 100644 index 000000000..a6b5bbe75 --- /dev/null +++ b/tests/unit/droppable/droppable_options.js @@ -0,0 +1,60 @@ +/* + * droppable_optinos.js + */ +(function($) { + +module("droppable: options"); + +test("accept, selector", function() { + ok(false, 'missing test - untested code is broken code'); +}); + +test("accept, fn", function() { + ok(false, 'missing test - untested code is broken code'); +}); + +test("activeClass", function() { + ok(false, 'missing test - untested code is broken code'); +}); + +test("cssNamespace", function() { + //cssNamespace should be appended with '-droppable' and added as className + el = $("
").droppable({ cssNamespace: "ui" }); + equals(el[0].className, "ui-droppable"); + el.droppable("destroy"); + + //no className should be added if cssNamepsace is null + el = $("
").droppable({ cssNamespace: null }); + equals(el[0].className, ""); + el.droppable("destroy"); +}); + +test("greedy", function() { + ok(false, 'missing test - untested code is broken code'); +}); + +test("hoverClass", function() { + ok(false, 'missing test - untested code is broken code'); +}); + +test("scope", function() { + ok(false, 'missing test - untested code is broken code'); +}); + +test("tolerance, fit", function() { + ok(false, 'missing test - untested code is broken code'); +}); + +test("tolerance, intersect", function() { + ok(false, 'missing test - untested code is broken code'); +}); + +test("tolerance, pointer", function() { + ok(false, 'missing test - untested code is broken code'); +}); + +test("tolerance, touch", function() { + ok(false, 'missing test - untested code is broken code'); +}); + +})(jQuery); diff --git a/tests/unit/droppable/droppable_tickets.js b/tests/unit/droppable/droppable_tickets.js new file mode 100644 index 000000000..05eeaa2a3 --- /dev/null +++ b/tests/unit/droppable/droppable_tickets.js @@ -0,0 +1,8 @@ +/* + * droppable_tickets.js + */ +(function($) { + +module("droppable: tickets"); + +})(jQuery); -- 2.39.5