diff options
-rw-r--r-- | tests/.jshintrc | 1 | ||||
-rw-r--r-- | tests/lib/qunit.js | 6 | ||||
-rw-r--r-- | tests/unit/dialog/dialog_options.js | 62 | ||||
-rw-r--r-- | tests/unit/draggable/draggable_core.js | 6 | ||||
-rw-r--r-- | tests/unit/draggable/draggable_options.js | 28 | ||||
-rw-r--r-- | tests/unit/effects/effects_scale.js | 6 | ||||
-rw-r--r-- | tests/unit/testsuite.js | 4 |
7 files changed, 59 insertions, 54 deletions
diff --git a/tests/.jshintrc b/tests/.jshintrc index e9fbe7ca3..d4665d6b6 100644 --- a/tests/.jshintrc +++ b/tests/.jshintrc @@ -20,7 +20,6 @@ "globals": { "asyncTest": false, - "closeEnough": false, "deepEqual": false, "define": false, "domEqual": false, diff --git a/tests/lib/qunit.js b/tests/lib/qunit.js index fc119a47d..5b0be5d23 100644 --- a/tests/lib/qunit.js +++ b/tests/lib/qunit.js @@ -40,6 +40,12 @@ QUnit.reset = ( function( reset ) { }; } )( QUnit.reset ); +// TODO: switch to qunit-assert-close plugin +QUnit.assert.close = function( actual, expected, maxDifference, message ) { + var passes = ( actual === expected ) || Math.abs( actual - expected ) <= maxDifference; + QUnit.push( passes, actual, expected, message ); +}; + return QUnit; } ); diff --git a/tests/unit/dialog/dialog_options.js b/tests/unit/dialog/dialog_options.js index 6cc309ca4..1c3648f11 100644 --- a/tests/unit/dialog/dialog_options.js +++ b/tests/unit/dialog/dialog_options.js @@ -262,83 +262,83 @@ test("height", function() { element.remove(); }); -test("maxHeight", function() { +test("maxHeight", function( assert ) { expect(3); var element = $("<div></div>").dialog({ maxHeight: 200 }); TestHelpers.dialog.drag(element, ".ui-resizable-s", 1000, 1000); - closeEnough(element.dialog("widget").height(), 200, 1, "maxHeight"); + assert.close(element.dialog("widget").height(), 200, 1, "maxHeight"); element.remove(); element = $("<div></div>").dialog({ maxHeight: 200 }); TestHelpers.dialog.drag(element, ".ui-resizable-n", -1000, -1000); - closeEnough(element.dialog("widget").height(), 200, 1, "maxHeight"); + assert.close(element.dialog("widget").height(), 200, 1, "maxHeight"); element.remove(); element = $("<div></div>").dialog({ maxHeight: 200 }).dialog("option", "maxHeight", 300); TestHelpers.dialog.drag(element, ".ui-resizable-s", 1000, 1000); - closeEnough(element.dialog("widget").height(), 300, 1, "maxHeight"); + assert.close(element.dialog("widget").height(), 300, 1, "maxHeight"); element.remove(); }); -test("maxWidth", function() { +test("maxWidth", function( assert ) { expect(3); var element = $("<div></div>").dialog({ maxWidth: 200 }); TestHelpers.dialog.drag(element, ".ui-resizable-e", 1000, 1000); - closeEnough(element.dialog("widget").width(), 200, 1, "maxWidth"); + assert.close(element.dialog("widget").width(), 200, 1, "maxWidth"); element.remove(); element = $("<div></div>").dialog({ maxWidth: 200 }); TestHelpers.dialog.drag(element, ".ui-resizable-w", -1000, -1000); - closeEnough(element.dialog("widget").width(), 200, 1, "maxWidth"); + assert.close(element.dialog("widget").width(), 200, 1, "maxWidth"); element.remove(); element = $("<div></div>").dialog({ maxWidth: 200 }).dialog("option", "maxWidth", 300); TestHelpers.dialog.drag(element, ".ui-resizable-w", -1000, -1000); - closeEnough(element.dialog("widget").width(), 300, 1, "maxWidth"); + assert.close(element.dialog("widget").width(), 300, 1, "maxWidth"); element.remove(); }); -test("minHeight", function() { +test("minHeight", function( assert ) { expect(3); var element = $("<div></div>").dialog({ minHeight: 10 }); TestHelpers.dialog.drag(element, ".ui-resizable-s", -1000, -1000); - closeEnough(element.dialog("widget").height(), 10, 1, "minHeight"); + assert.close(element.dialog("widget").height(), 10, 1, "minHeight"); element.remove(); element = $("<div></div>").dialog({ minHeight: 10 }); TestHelpers.dialog.drag(element, ".ui-resizable-n", 1000, 1000); - closeEnough(element.dialog("widget").height(), 10, 1, "minHeight"); + assert.close(element.dialog("widget").height(), 10, 1, "minHeight"); element.remove(); element = $("<div></div>").dialog({ minHeight: 10 }).dialog("option", "minHeight", 30); TestHelpers.dialog.drag(element, ".ui-resizable-n", 1000, 1000); - closeEnough(element.dialog("widget").height(), 30, 1, "minHeight"); + assert.close(element.dialog("widget").height(), 30, 1, "minHeight"); element.remove(); }); -test("minWidth", function() { +test("minWidth", function( assert ) { expect(3); var element = $("<div></div>").dialog({ minWidth: 10 }); TestHelpers.dialog.drag(element, ".ui-resizable-e", -1000, -1000); - closeEnough(element.dialog("widget").width(), 10, 1, "minWidth"); + assert.close(element.dialog("widget").width(), 10, 1, "minWidth"); element.remove(); element = $("<div></div>").dialog({ minWidth: 10 }); TestHelpers.dialog.drag(element, ".ui-resizable-w", 1000, 1000); - closeEnough(element.dialog("widget").width(), 10, 1, "minWidth"); + assert.close(element.dialog("widget").width(), 10, 1, "minWidth"); element.remove(); element = $("<div></div>").dialog({ minWidth: 30 }).dialog("option", "minWidth", 30); TestHelpers.dialog.drag(element, ".ui-resizable-w", 1000, 1000); - closeEnough(element.dialog("widget").width(), 30, 1, "minWidth"); + assert.close(element.dialog("widget").width(), 30, 1, "minWidth"); element.remove(); }); -test( "position, default center on window", function() { +test( "position, default center on window", function( assert ) { expect( 2 ); // dialogs alter the window width and height in Firefox @@ -349,12 +349,12 @@ test( "position, default center on window", function() { element = $("<div></div>").dialog(), dialog = element.dialog("widget"), offset = dialog.offset(); - closeEnough( offset.left, Math.round( winWidth / 2 - dialog.outerWidth() / 2 ) + $( window ).scrollLeft(), 1, "dialog left position of center on window on initilization" ); - closeEnough( offset.top, Math.round( winHeight / 2 - dialog.outerHeight() / 2 ) + $( window ).scrollTop(), 1, "dialog top position of center on window on initilization" ); + assert.close( offset.left, Math.round( winWidth / 2 - dialog.outerWidth() / 2 ) + $( window ).scrollLeft(), 1, "dialog left position of center on window on initilization" ); + assert.close( offset.top, Math.round( winHeight / 2 - dialog.outerHeight() / 2 ) + $( window ).scrollTop(), 1, "dialog top position of center on window on initilization" ); element.remove(); }); -test( "position, right bottom at right bottom via ui.position args", function() { +test( "position, right bottom at right bottom via ui.position args", function( assert ) { expect( 2 ); // dialogs alter the window width and height in Firefox @@ -371,12 +371,12 @@ test( "position, right bottom at right bottom via ui.position args", function() dialog = element.dialog("widget"), offset = dialog.offset(); - closeEnough( offset.left, winWidth - dialog.outerWidth() + $( window ).scrollLeft(), 1, "dialog left position of right bottom at right bottom on initilization" ); - closeEnough( offset.top, winHeight - dialog.outerHeight() + $( window ).scrollTop(), 1, "dialog top position of right bottom at right bottom on initilization" ); + assert.close( offset.left, winWidth - dialog.outerWidth() + $( window ).scrollLeft(), 1, "dialog left position of right bottom at right bottom on initilization" ); + assert.close( offset.top, winHeight - dialog.outerHeight() + $( window ).scrollTop(), 1, "dialog top position of right bottom at right bottom on initilization" ); element.remove(); }); -test( "position, at another element", function() { +test( "position, at another element", function( assert ) { expect( 4 ); var parent = $("<div></div>").css({ position: "absolute", @@ -398,8 +398,8 @@ test( "position, at another element", function() { dialog = element.dialog("widget"), offset = dialog.offset(); - closeEnough( offset.left, 600, 1, "dialog left position at another element on initilization" ); - closeEnough( offset.top, 400, 1, "dialog top position at another element on initilization" ); + assert.close( offset.left, 600, 1, "dialog left position at another element on initilization" ); + assert.close( offset.top, 400, 1, "dialog top position at another element on initilization" ); element.dialog("option", "position", { my: "left top", @@ -410,8 +410,8 @@ test( "position, at another element", function() { offset = dialog.offset(); - closeEnough( offset.left, 610, 1, "dialog left position at another element via setting option" ); - closeEnough( offset.top, 410, 1, "dialog top position at another element via setting option" ); + assert.close( offset.left, 610, 1, "dialog left position at another element via setting option" ); + assert.close( offset.top, 410, 1, "dialog top position at another element via setting option" ); element.remove(); parent.remove(); @@ -475,17 +475,17 @@ test( "title", function() { element.remove(); }); -test("width", function() { +test("width", function( assert ) { expect(3); var element = $("<div></div>").dialog(); - closeEnough(element.dialog("widget").width(), 300, 1, "default width"); + assert.close(element.dialog("widget").width(), 300, 1, "default width"); element.remove(); element = $("<div></div>").dialog({width: 437 }); - closeEnough(element.dialog("widget").width(), 437, 1, "explicit width"); + assert.close(element.dialog("widget").width(), 437, 1, "explicit width"); element.dialog("option", "width", 438); - closeEnough(element.dialog("widget").width(), 438, 1, "explicit width after init"); + assert.close(element.dialog("widget").width(), 438, 1, "explicit width after init"); element.remove(); }); diff --git a/tests/unit/draggable/draggable_core.js b/tests/unit/draggable/draggable_core.js index bce3f4e23..b3a7e7ef3 100644 --- a/tests/unit/draggable/draggable_core.js +++ b/tests/unit/draggable/draggable_core.js @@ -6,7 +6,7 @@ module( "draggable: core" ); -test( "element types", function() { +test( "element types", function( assert ) { 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" + @@ -35,8 +35,8 @@ test( "element types", function() { // Support: FF, Chrome, and IE9, // there are some rounding errors in so we can't say equal, we have to settle for close enough - closeEnough( offsetBefore.left, offsetAfter.left - 50, 1, "dragged[50, 50] " + "<" + typeName + ">" ); - closeEnough( offsetBefore.top, offsetAfter.top - 50, 1, "dragged[50, 50] " + "<" + typeName + ">" ); + assert.close( offsetBefore.left, offsetAfter.left - 50, 1, "dragged[50, 50] " + "<" + typeName + "> left" ); + assert.close( offsetBefore.top, offsetAfter.top - 50, 1, "dragged[50, 50] " + "<" + typeName + "> top" ); el.draggable("destroy"); el.remove(); }); diff --git a/tests/unit/draggable/draggable_options.js b/tests/unit/draggable/draggable_options.js index d8bbedc91..0d4957136 100644 --- a/tests/unit/draggable/draggable_options.js +++ b/tests/unit/draggable/draggable_options.js @@ -519,7 +519,7 @@ test( "{ containment: 'parent' }, absolute", function() { deepEqual( offsetAfter, expected, "compare offset to parent" ); }); -test( "containment, account for border", function() { +test( "containment, account for border", function( assert ) { expect( 2 ); var el = $( "#draggable1" ).appendTo( "#scrollParent" ), @@ -544,9 +544,9 @@ test( "containment, account for border", function() { dy: 100 }); - closeEnough( el.offset().top, parentBottom - parentBorderBottom - el.height(), 1, + assert.close( el.offset().top, parentBottom - parentBorderBottom - el.height(), 1, "The draggable should be on top of its parent's bottom border" ); - closeEnough( el.offset().left, parentRight - parentBorderRight - el.width(), 1, + assert.close( el.offset().left, parentRight - parentBorderRight - el.width(), 1, "The draggable should be to the right of its parent's right border" ); }); @@ -1137,7 +1137,7 @@ test( "scroll ignores containers that are overflow: hidden", function() { equal( scrollParent.scrollLeft(), 0, "container doesn't scroll horizontally" ); }); -test( "#6817: auto scroll goes double distance when dragging", function() { +test( "#6817: auto scroll goes double distance when dragging", function( assert ) { expect( 2 ); TestHelpers.draggable.restoreScroll( document ); @@ -1149,8 +1149,8 @@ test( "#6817: auto scroll goes double distance when dragging", function() { scroll: true, stop: function( e, ui ) { equal( ui.offset.top, newY, "offset of item matches pointer position after scroll" ); - // TODO: fix IE8 testswarm IFRAME positioning bug so closeEnough can be turned back to equal - closeEnough( ui.offset.top - offsetBefore.top, distance, 1, "offset of item only moves expected distance after scroll" ); + // TODO: fix IE8 testswarm IFRAME positioning bug so assert.close can be turned back to equal + assert.close( ui.offset.top - offsetBefore.top, distance, 1, "offset of item only moves expected distance after scroll" ); } }), scrollSensitivity = element.draggable( "option", "scrollSensitivity" ), @@ -1174,7 +1174,7 @@ test( "#6817: auto scroll goes double distance when dragging", function() { TestHelpers.draggable.restoreScroll( document ); }); -test( "snap, snapMode, and snapTolerance", function() { +test( "snap, snapMode, and snapTolerance", function( assert ) { expect( 10 ); var newX, newY, @@ -1206,9 +1206,9 @@ test( "snap, snapMode, and snapTolerance", function() { moves: 1 }); - // TODO: fix IE8 testswarm IFRAME positioning bug so closeEnough can be turned back to equal - closeEnough( element.offset().left, newX, 1, "doesn't snap outside the snapTolerance" ); - closeEnough( element.offset().top, newY, 1, "doesn't snap outside the snapTolerance" ); + // TODO: fix IE8 testswarm IFRAME positioning bug so assert.close can be turned back to equal + assert.close( element.offset().left, newX, 1, "doesn't snap outside the snapTolerance" ); + assert.close( element.offset().top, newY, 1, "doesn't snap outside the snapTolerance" ); newX += 3; @@ -1301,7 +1301,7 @@ test( "snap, snapMode, and snapTolerance", function() { deepEqual( element.offset(), { top: newY, left: newX }, "doesn't snap on the inner snapTolerance area when snapMode is outer" ); }); -test( "#8459: element can snap to an element that was removed during drag", function() { +test( "#8459: element can snap to an element that was removed during drag", function( assert ) { expect( 2 ); var newX, newY, @@ -1337,9 +1337,9 @@ test( "#8459: element can snap to an element that was removed during drag", func ok( true, "Opera <12.14 and Safari <6.0 report wrong values for $.contains in jQuery < 1.8" ); ok( true, "Opera <12.14 and Safari <6.0 report wrong values for $.contains in jQuery < 1.8" ); } else { - // TODO: fix IE8 testswarm IFRAME positioning bug so closeEnough can be turned back to equal - closeEnough( element.offset().left, newX, 1, "doesn't snap to a removed element" ); - closeEnough( element.offset().top, newY, 1, "doesn't snap to a removed element" ); + // TODO: fix IE8 testswarm IFRAME positioning bug so assert.close can be turned back to equal + assert.close( element.offset().left, newX, 1, "doesn't snap to a removed element" ); + assert.close( element.offset().top, newY, 1, "doesn't snap to a removed element" ); } }); diff --git a/tests/unit/effects/effects_scale.js b/tests/unit/effects/effects_scale.js index caed39c22..03446367d 100644 --- a/tests/unit/effects/effects_scale.js +++ b/tests/unit/effects/effects_scale.js @@ -3,11 +3,11 @@ module( "effect.scale: Scale" ); function run( position, v, h, vo, ho ) { var desc = "End Position Correct: " + position + " (" + v + "," + h + ") - origin: (" + vo + "," + ho + ")"; - asyncTest( desc, function() { + asyncTest( desc, function( assert ) { expect( 2 ); function complete() { - closeEnough( parseInt( test.css( h ), 10 ), target[ h ], 1, "Horizontal Position Correct " + desc ); - closeEnough( parseInt( test.css( v ), 10 ), target[ v ], 1, "Vertical Position Correct " + desc ); + assert.close( parseInt( test.css( h ), 10 ), target[ h ], 1, "Horizontal Position Correct " + desc ); + assert.close( parseInt( test.css( v ), 10 ), target[ v ], 1, "Vertical Position Correct " + desc ); start(); } var test = $( ".testScale" ), diff --git a/tests/unit/testsuite.js b/tests/unit/testsuite.js index e03fd8f67..59e40af43 100644 --- a/tests/unit/testsuite.js +++ b/tests/unit/testsuite.js @@ -224,8 +224,8 @@ TestHelpers.forceScrollableWindow = function( appendTo ) { }).appendTo( appendTo || "#qunit-fixture" ); }; -// Taken from https://github.com/jquery/qunit/tree/master/addons/close-enough -window.closeEnough = function( actual, expected, maxDifference, message ) { +// TODO: switch to qunit-assert-close plugin +QUnit.assert.close = function( actual, expected, maxDifference, message ) { var passes = ( actual === expected ) || Math.abs( actual - expected ) <= maxDifference; QUnit.push( passes, actual, expected, message ); }; |