aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit/droppable/options.js
diff options
context:
space:
mode:
authorScott González <scott.gonzalez@gmail.com>2015-04-07 10:55:52 -0400
committerScott González <scott.gonzalez@gmail.com>2015-04-09 09:27:00 -0400
commitbde431bb449b1d957d4e0b736111ff342f2a919d (patch)
tree27fd40037c30dbff8ef3b6113e90817ab96b53bf /tests/unit/droppable/options.js
parentdc4b015a8b9acdb5bff2d5dd89737b3d8b64097f (diff)
downloadjquery-ui-bde431bb449b1d957d4e0b736111ff342f2a919d.tar.gz
jquery-ui-bde431bb449b1d957d4e0b736111ff342f2a919d.zip
Tests: Rename files
Ref gh-1528
Diffstat (limited to 'tests/unit/droppable/options.js')
-rw-r--r--tests/unit/droppable/options.js205
1 files changed, 205 insertions, 0 deletions
diff --git a/tests/unit/droppable/options.js b/tests/unit/droppable/options.js
new file mode 100644
index 000000000..f2d1757c2
--- /dev/null
+++ b/tests/unit/droppable/options.js
@@ -0,0 +1,205 @@
+define( [
+ "jquery",
+ "ui/droppable"
+], 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( assert ) {
+ expect( 1 );
+ var el = $( "<div />" ).droppable({ addClasses: true });
+ assert.hasClasses( el, "ui-droppable" );
+ el.droppable( "destroy" );
+});
+
+test( "{ addClasses: false }", function( assert ) {
+ expect( 1 );
+ var el = $( "<div />" ).droppable({ addClasses: false });
+
+ assert.lacksClasses( el, "ui-droppable" );
+ el.droppable( "destroy" );
+});
+
+test( "scope", function() {
+ expect( 4 );
+ var droppableOffset, draggableOffset, oldDraggableOffset, dx, dy,
+ draggable1 = $( "<div />" ).appendTo( "#qunit-fixture" ).draggable({ revert: "invalid" }),
+ draggable2 = $( "<div />" ).appendTo( "#qunit-fixture" ).droppable(),
+ droppable = $( "<div />" ).appendTo( "#qunit-fixture" ).droppable(),
+ newScope = "test";
+
+ draggable1.draggable( "option", "scope", newScope );
+ droppable.droppable( "option", "scope", newScope );
+
+ // Test that droppable accepts draggable with new scope.
+ droppableOffset = droppable.offset();
+ draggableOffset = draggable1.offset();
+ dx = droppableOffset.left - draggableOffset.left;
+ dy = droppableOffset.top - draggableOffset.top;
+
+ draggable1.simulate( "drag", {
+ dx: dx,
+ dy: dy
+ });
+
+ draggableOffset = draggable1.offset();
+ equal( draggableOffset.left, droppableOffset.left );
+ equal( draggableOffset.top, droppableOffset.top );
+
+ // Test that droppable doesn't accept draggable with old scope.
+ draggableOffset = draggable2.offset();
+ dx = droppableOffset.left - draggableOffset.left;
+ dy = droppableOffset.top - draggableOffset.top;
+ oldDraggableOffset = draggableOffset;
+
+ draggable2.simulate( "drag", {
+ dx: dx,
+ dy: dy
+ });
+
+ draggableOffset = draggable2.offset();
+ equal( draggableOffset.left, oldDraggableOffset.left );
+ equal( draggableOffset.top, oldDraggableOffset.top );
+});
+/*
+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( "tolerance, fit", function() {
+ ok(false, 'missing test - untested code is broken code');
+});
+*/
+
+test( "tolerance, intersect", function() {
+ expect( 2 );
+
+ var draggable, droppable,
+ dataset = [
+ [ 0, 0, false, "too far up and left" ],
+ [ 6, 0, false, "too far up" ],
+ [ 0, 6, false, "too far left" ],
+ [ 6, 6, true, "top left corner" ],
+ [ 14, 14, true, "bottom right corner" ],
+ [ 15, 6, false, "too far right" ],
+ [ 6, 15, false, "too far down" ],
+ [ 15, 15, false, "too far down and right" ]
+ ];
+
+ draggable = $( "<div />" )
+ .appendTo( "#qunit-fixture" )
+ .css({
+ width: 10,
+ height: 10,
+ position: "absolute",
+
+ // http://bugs.jqueryui.com/ticket/6876
+ // Droppable: droppable region is offset by draggables margin
+ marginTop: 3,
+ marginLeft: 3
+ })
+ .draggable();
+
+ droppable = $( "<div />" )
+ .appendTo( "#qunit-fixture" )
+ .css({ width: 10, height: 10, position: "absolute", top: 13, left: 13 })
+ .droppable({ tolerance: "intersect" });
+
+ $.each( dataset, function() {
+ var data = this;
+
+ draggable.css({
+ top: 0,
+ left: 0
+ });
+
+ droppable.unbind( "drop" ).bind( "drop", function() {
+ equal( true, data[ 2 ], data[ 3 ] );
+ });
+
+ $( draggable ).simulate( "drag", {
+ dx: data[ 0 ],
+ dy: data[ 1 ]
+ });
+ });
+});
+
+test( "tolerance, pointer", function() {
+ expect( 3 );
+
+ var draggable, droppable,
+ dataset = [
+ [ -1, -1, false, "too far up and left" ],
+ [ -1, 0, false, "too far left" ],
+ [ 0, -1, false, "too far up" ],
+ [ 0, 0, true, "top left corner" ],
+ [ 9, 9, true, "bottom right corner" ],
+ [ 10, 9, false, "too far right" ],
+ [ 9, 10, false, "too far down" ],
+ [ 10, 10, false, "too far down and right" ]
+ ];
+
+ draggable = $( "<div />" )
+ .appendTo( "#qunit-fixture" )
+ .css({ width: 10, height: 10, position: "absolute" })
+ .draggable();
+
+ droppable = $( "<div />" )
+ .appendTo( "#qunit-fixture" )
+ .css({ width: 10, height: 10, position: "absolute", top: 5, left: 5 })
+ .droppable({ tolerance: "pointer" });
+
+ $.each( dataset, function() {
+ var data = this;
+
+ droppable.unbind( "drop" ).bind( "drop", function() {
+ equal( true, data[ 2 ], data[ 3 ] );
+ });
+
+ $( draggable ).simulate( "drag", {
+ dx: ( data[ 0 ] - $( draggable ).position().left ),
+ dy: ( data[ 1 ] - $( draggable ).position().top )
+ });
+ });
+
+ // http://bugs.jqueryui.com/ticket/4977 - tolerance, pointer - bug when pointer outside draggable
+ draggable.css({ top: 0, left: 0 }).draggable( "option", "axis", "x" );
+ droppable.css({ top: 15, left: 15 });
+
+ droppable.unbind( "drop" ).bind( "drop", function() {
+ ok( true, "drop fires as long as pointer is within droppable" );
+ });
+
+ $( draggable ).simulate( "drag", {
+ dx: 10,
+ dy: 10
+ });
+});
+
+/*
+test( "tolerance, touch", function() {
+ ok(false, 'missing test - untested code is broken code');
+});
+*/
+} );