From 75ad7e4bd7d69243e7e5281c2642f00478fb072d Mon Sep 17 00:00:00 2001 From: Filipp Lepalaan Date: Wed, 19 Feb 2014 18:02:09 +0200 Subject: Added tags, jquery UI --- apps/it/static/js/ui/tests/unit/droppable/all.html | 30 ++++++++ .../js/ui/tests/unit/droppable/droppable.html | 50 ++++++++++++ .../js/ui/tests/unit/droppable/droppable_common.js | 20 +++++ .../js/ui/tests/unit/droppable/droppable_core.js | 29 +++++++ .../js/ui/tests/unit/droppable/droppable_events.js | 63 ++++++++++++++++ .../ui/tests/unit/droppable/droppable_methods.js | 88 ++++++++++++++++++++++ .../ui/tests/unit/droppable/droppable_options.js | 67 ++++++++++++++++ .../tests/unit/droppable/droppable_test_helpers.js | 10 +++ 8 files changed, 357 insertions(+) create mode 100644 apps/it/static/js/ui/tests/unit/droppable/all.html create mode 100644 apps/it/static/js/ui/tests/unit/droppable/droppable.html create mode 100644 apps/it/static/js/ui/tests/unit/droppable/droppable_common.js create mode 100644 apps/it/static/js/ui/tests/unit/droppable/droppable_core.js create mode 100644 apps/it/static/js/ui/tests/unit/droppable/droppable_events.js create mode 100644 apps/it/static/js/ui/tests/unit/droppable/droppable_methods.js create mode 100644 apps/it/static/js/ui/tests/unit/droppable/droppable_options.js create mode 100644 apps/it/static/js/ui/tests/unit/droppable/droppable_test_helpers.js (limited to 'apps/it/static/js/ui/tests/unit/droppable') diff --git a/apps/it/static/js/ui/tests/unit/droppable/all.html b/apps/it/static/js/ui/tests/unit/droppable/all.html new file mode 100644 index 0000000..9a50050 --- /dev/null +++ b/apps/it/static/js/ui/tests/unit/droppable/all.html @@ -0,0 +1,30 @@ + + + + + jQuery UI Droppable Test Suite + + + + + + + + + + + + + +

jQuery UI Droppable Test Suite

+

+
+

+
    +
    + +
    + + diff --git a/apps/it/static/js/ui/tests/unit/droppable/droppable.html b/apps/it/static/js/ui/tests/unit/droppable/droppable.html new file mode 100644 index 0000000..d084464 --- /dev/null +++ b/apps/it/static/js/ui/tests/unit/droppable/droppable.html @@ -0,0 +1,50 @@ + + + + + jQuery UI Droppable Test Suite + + + + + + + + + + + + + + + + + + + +

    jQuery UI Droppable Test Suite

    +

    +
    +

    +
      +
      + +
      Draggable
      +
      Droppable
      +
      Droppable
      +
       
      + +
      + + diff --git a/apps/it/static/js/ui/tests/unit/droppable/droppable_common.js b/apps/it/static/js/ui/tests/unit/droppable/droppable_common.js new file mode 100644 index 0000000..c112def --- /dev/null +++ b/apps/it/static/js/ui/tests/unit/droppable/droppable_common.js @@ -0,0 +1,20 @@ +TestHelpers.commonWidgetTests( "droppable", { + defaults: { + accept: "*", + activeClass: false, + addClasses: true, + disabled: false, + greedy: false, + hoverClass: false, + scope: "default", + tolerance: "intersect", + + // callbacks + activate: null, + create: null, + deactivate: null, + drop: null, + out: null, + over: null + } +}); diff --git a/apps/it/static/js/ui/tests/unit/droppable/droppable_core.js b/apps/it/static/js/ui/tests/unit/droppable/droppable_core.js new file mode 100644 index 0000000..53b08fd --- /dev/null +++ b/apps/it/static/js/ui/tests/unit/droppable/droppable_core.js @@ -0,0 +1,29 @@ +/* + * droppable_core.js + */ + +(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,hr" + + ",input,button,label,select,iframe").split(","); + + expect( typeNames.length ); + + $.each(typeNames, function(i) { + var typeName = typeNames[i], + el = $(document.createElement(typeName)).appendTo("body"); + + (typeName === "table" && el.append("content")); + el.droppable(); + TestHelpers.droppable.shouldDrop(); + el.droppable("destroy"); + el.remove(); + }); +}); + +})(jQuery); diff --git a/apps/it/static/js/ui/tests/unit/droppable/droppable_events.js b/apps/it/static/js/ui/tests/unit/droppable/droppable_events.js new file mode 100644 index 0000000..4b8fe5a --- /dev/null +++ b/apps/it/static/js/ui/tests/unit/droppable/droppable_events.js @@ -0,0 +1,63 @@ +(function( $ ) { + +module( "droppable: events" ); + +test( "droppable destruction/recreation on drop event", function() { + expect( 1 ); + + var config = { + activeClass: "active", + drop: function() { + var element = $( this ), + newDroppable = $( "
      " ) + .css({ width: 100, height: 100 }) + .text( "Droppable" ); + element.after( newDroppable ); + element.remove(); + newDroppable.droppable( config ); + } + }, + + draggable = $( "#draggable1" ).draggable(), + droppable1 = $( "#droppable1" ).droppable( config ), + droppable2 = $( "#droppable2" ).droppable( config ), + + droppableOffset = droppable1.offset(), + draggableOffset = draggable.offset(), + dx = droppableOffset.left - draggableOffset.left, + dy = droppableOffset.top - draggableOffset.top; + + draggable.simulate( "drag", { + dx: dx, + dy: dy + }); + + ok( !droppable2.hasClass( "active" ), "subsequent droppable no longer active" ); +}); + + + +// todo: comment the following in when ready to actually test +/* +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/apps/it/static/js/ui/tests/unit/droppable/droppable_methods.js b/apps/it/static/js/ui/tests/unit/droppable/droppable_methods.js new file mode 100644 index 0000000..2b452a6 --- /dev/null +++ b/apps/it/static/js/ui/tests/unit/droppable/droppable_methods.js @@ -0,0 +1,88 @@ +/* + * droppable_methods.js + */ +(function($) { + +module("droppable: methods"); + +test("init", function() { + expect( 5 ); + + $("
      ").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("option", "foo"); + ok(true, "arbitrary option getter after init"); + + $("
      ").droppable().droppable("option", "foo", "bar"); + ok(true, "arbitrary option setter after init"); +}); + +test("destroy", function() { + expect( 4 ); + + $("
      ").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"); + + var expected = $("
      ").droppable(), + actual = expected.droppable("destroy"); + equal(actual, expected, "destroy is chainable"); +}); + +test("enable", function() { + expect(7); + + var el, expected, actual; + + el = $("#droppable1").droppable({ disabled: true }); + TestHelpers.droppable.shouldNotDrop(); + el.droppable("enable"); + TestHelpers.droppable.shouldDrop(); + equal(el.droppable("option", "disabled"), false, "disabled option getter"); + el.droppable("destroy"); + el.droppable({ disabled: true }); + TestHelpers.droppable.shouldNotDrop(); + el.droppable("option", "disabled", false); + equal(el.droppable("option", "disabled"), false, "disabled option setter"); + TestHelpers.droppable.shouldDrop(); + + expected = $("
      ").droppable(), + actual = expected.droppable("enable"); + equal(actual, expected, "enable is chainable"); +}); + +test("disable", function() { + expect(7); + + var el, actual, expected; + + el = $("#droppable1").droppable({ disabled: false }); + TestHelpers.droppable.shouldDrop(); + el.droppable("disable"); + TestHelpers.droppable.shouldNotDrop(); + equal(el.droppable("option", "disabled"), true, "disabled option getter"); + el.droppable("destroy"); + el.droppable({ disabled: false }); + TestHelpers.droppable.shouldDrop(); + el.droppable("option", "disabled", true); + equal(el.droppable("option", "disabled"), true, "disabled option setter"); + TestHelpers.droppable.shouldNotDrop(); + + expected = $("
      ").droppable(), + actual = expected.droppable("disable"); + equal(actual, expected, "disable is chainable"); +}); + +})(jQuery); diff --git a/apps/it/static/js/ui/tests/unit/droppable/droppable_options.js b/apps/it/static/js/ui/tests/unit/droppable/droppable_options.js new file mode 100644 index 0000000..c2ecdcf --- /dev/null +++ b/apps/it/static/js/ui/tests/unit/droppable/droppable_options.js @@ -0,0 +1,67 @@ +/* + * droppable_options.js + */ +(function($) { + +module("droppable: options"); + +/* +test("{ accept '*' }, default ", function() { + ok(false, 'missing test - untested code is broken code'); +}); + +test("{ accept: Selector }", function() { + ok(false, 'missing test - untested code is broken code'); +}); + +test("{ accept: function(draggable) }", function() { + ok(false, 'missing test - untested code is broken code'); +}); + +test("activeClass", function() { + ok(false, 'missing test - untested code is broken code'); +}); +*/ +test("{ addClasses: true }, default", function() { + expect( 1 ); + var el = $("
      ").droppable({ addClasses: true }); + ok(el.is(".ui-droppable"), "'ui-droppable' class added"); + el.droppable("destroy"); +}); + +test("{ addClasses: false }", function() { + expect( 1 ); + var el = $("
      ").droppable({ addClasses: false }); + ok(!el.is(".ui-droppable"), "'ui-droppable' class not added"); + 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/apps/it/static/js/ui/tests/unit/droppable/droppable_test_helpers.js b/apps/it/static/js/ui/tests/unit/droppable/droppable_test_helpers.js new file mode 100644 index 0000000..ffd3745 --- /dev/null +++ b/apps/it/static/js/ui/tests/unit/droppable/droppable_test_helpers.js @@ -0,0 +1,10 @@ +TestHelpers.droppable = { + shouldDrop: function() { + // todo: actually implement this + ok(true, "missing test - untested code is broken code"); + }, + shouldNotDrop: function() { + // todo: actually implement this + ok(true, "missing test - untested code is broken code"); + } +}; \ No newline at end of file -- cgit v1.2.3