From 96f9c84b7b2149c6b93ac226a52065652f218e1e Mon Sep 17 00:00:00 2001 From: Scott González Date: Tue, 3 Apr 2012 16:47:14 -0400 Subject: Autocomplete: Move race condition logic from ajax requests to general response handler. Fixes #8234 - Autocomplete: Automatic race-condition handling for custom sources. --- tests/unit/autocomplete/autocomplete_core.js | 29 ++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'tests/unit') diff --git a/tests/unit/autocomplete/autocomplete_core.js b/tests/unit/autocomplete/autocomplete_core.js index ef6ea58af..daeea0972 100644 --- a/tests/unit/autocomplete/autocomplete_core.js +++ b/tests/unit/autocomplete/autocomplete_core.js @@ -123,4 +123,33 @@ test( "allow form submit on enter when menu is not active", function() { } })(); +asyncTest( "handle race condition", function() { + expect( 3 ); + var count = 0, + element = $( "#autocomplete" ).autocomplete({ + source: function( request, response ) { + count++; + if ( request.term.length === 1 ) { + equal( count, 1, "request with 1 character is first" ); + setTimeout(function() { + response([ "one" ]); + setTimeout( checkResults, 1 ); + }, 1 ); + return; + } + equal( count, 2, "request with 2 characters is second" ); + response([ "two" ]); + } + }); + + element.autocomplete( "search", "a" ); + element.autocomplete( "search", "ab" ); + + function checkResults() { + equal( element.autocomplete( "widget" ).find( ".ui-menu-item" ).text(), "two", + "correct results displayed" ); + start(); + } +}); + }( jQuery ) ); -- cgit v1.2.3 From 890a45a22c7b7a8ae5e7ff64cfd44008bb2cdb88 Mon Sep 17 00:00:00 2001 From: kborchers Date: Wed, 18 Apr 2012 21:29:39 -0500 Subject: Menu: Add unit tests for testing disabled items --- tests/unit/menu/menu.html | 16 +++++++++++++ tests/unit/menu/menu_events.js | 52 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) (limited to 'tests/unit') diff --git a/tests/unit/menu/menu.html b/tests/unit/menu/menu.html index 76f4a7a31..9a598ec8d 100644 --- a/tests/unit/menu/menu.html +++ b/tests/unit/menu/menu.html @@ -251,6 +251,22 @@ + +
diff --git a/tests/unit/menu/menu_events.js b/tests/unit/menu/menu_events.js index bee6fcfa6..7d127c431 100644 --- a/tests/unit/menu/menu_events.js +++ b/tests/unit/menu/menu_events.js @@ -466,4 +466,56 @@ asyncTest("handle keyboard navigation on menu with scroll and with submenus", fu } }); +asyncTest("handle keyboard navigation and mouse click on menu with disabled items", function() { + expect(6); + var element = $('#menu6').menu({ + select: function(event, ui) { + menu_log($(ui.item[0]).text()); + }, + focus: function( event, ui ) { + menu_log($(event.target).find(".ui-state-focus").parent().index()); + } + }); + + menu_log("keydown",true); + element.one( "menufocus", function( event, ui ) { + element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); + element.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } ); + equal( $("#log").html(), "1,keydown,", "Keydown focus but not select disabled item"); + setTimeout( menukeyboard1, 50 ); + }); + element.focus(); + + + function menukeyboard1() { + menu_log("keydown",true); + element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); + element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); + element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); + equal( $("#log").html(), "4,3,2,keydown,", "Keydown focus disabled item with submenu"); + + menu_log("keydown",true); + element.simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } ); + equal( $("#log").html(), "keydown,", "Keydown LEFT (no effect)"); + + menu_log("keydown",true); + element.simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } ); + + setTimeout( function() { + equal( $("#log").html(), "keydown,", "Keydown RIGHT (no effect on disabled sub-menu)"); + + menu_log("keydown",true); + element.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } ); + + setTimeout( function() { + equal( $("#log").html(), "keydown,", "Keydown ENTER (no effect on disabled sub-menu)"); + menu_log("click",true); + menu_click( element, "1" ); + equal( $("#log").html(), "click,", "Click disabled item (no effect)"); + start(); + }, 50); + }, 50); + } +}); + })(jQuery); -- cgit v1.2.3 From a28983086ee91b19200c47fadc6bc3ba58a0fcb9 Mon Sep 17 00:00:00 2001 From: Scott González Date: Wed, 18 Apr 2012 22:36:15 -0400 Subject: Tests: Lint. --- grunt.js | 26 +++++++++++-- tests/unit/spinner/spinner_core.js | 6 +-- tests/unit/spinner/spinner_methods.js | 2 +- tests/unit/spinner/spinner_options.js | 2 +- tests/unit/subsuite.js | 13 +++---- tests/unit/subsuiteRunner.js | 26 ++++++++----- tests/unit/swarminject.js | 2 +- tests/unit/tabs/tabs_deprecated.js | 20 +++++----- tests/unit/tabs/tabs_methods.js | 10 ++--- tests/unit/testsuite.js | 18 +++++---- tests/unit/tooltip/tooltip_methods.js | 10 +++-- tests/unit/tooltip/tooltip_options.js | 11 +++--- tests/unit/widget/widget_core.js | 70 ++++++++++++++++++----------------- tests/unit/widget/widget_extend.js | 34 ++++++++--------- 14 files changed, 141 insertions(+), 109 deletions(-) (limited to 'tests/unit') diff --git a/grunt.js b/grunt.js index 02c889d74..0295b399c 100644 --- a/grunt.js +++ b/grunt.js @@ -345,13 +345,31 @@ grunt.initConfig({ browser: true, jquery: true }, defaults ), + // TODO: don't create so many globals in tests globals: { + accordion_state: true, + asyncTest: true, + commonWidgetTests: true, + deepEqual: true, + dlg: true, + domEqual: true, + drag: true, + el: true, + equal: true, + expect: true, + Globalize: true, + menu_click: true, + menu_log: true, module: true, - test: true, ok: true, - equal: true, - deepEqual: true, - QUnit: true + QUnit: true, + spinner_simulateKeyDownUp: true, + start: true, + strictEqual: true, + stop: true, + tabs_state: true, + tabs_disabled: true, + test: true } } }; diff --git a/tests/unit/spinner/spinner_core.js b/tests/unit/spinner/spinner_core.js index e12d1af2f..e38b467a3 100644 --- a/tests/unit/spinner/spinner_core.js +++ b/tests/unit/spinner/spinner_core.js @@ -99,7 +99,7 @@ test( "mouse click on up button, increases value not greater than max", function min: 0 }), button = element.spinner( "widget" ).find( ".ui-spinner-down" ); - + button.trigger( "mousedown" ).trigger( "mouseup" ); equal( element.val(), 1 ); button.trigger( "mousedown" ).trigger( "mouseup" ); @@ -189,8 +189,8 @@ test( "don't clear invalid value on blur", function() { test( "precision", function() { expect( 2 ); - var element = $( "#spin" ).val( .05 ).spinner({ - step: .0001 + var element = $( "#spin" ).val( 0.05 ).spinner({ + step: 0.0001 }); element.spinner( "stepUp" ); equal( element.val(), "0.0501", "precision from step" ); diff --git a/tests/unit/spinner/spinner_methods.js b/tests/unit/spinner/spinner_methods.js index 9c82218e1..2cb3c849f 100644 --- a/tests/unit/spinner/spinner_methods.js +++ b/tests/unit/spinner/spinner_methods.js @@ -54,7 +54,7 @@ test( "disable", function() { test( "enable", function() { expect( 5 ); - var element = $( "#spin" ).val( 1 ).spinner({ disabled: true }) + var element = $( "#spin" ).val( 1 ).spinner({ disabled: true }), wrapper = element.spinner( "widget" ); ok( wrapper.hasClass( "ui-spinner-disabled" ), "before: wrapper has ui-spinner-disabled class" ); diff --git a/tests/unit/spinner/spinner_options.js b/tests/unit/spinner/spinner_options.js index cbad3f870..6f5090d3a 100644 --- a/tests/unit/spinner/spinner_options.js +++ b/tests/unit/spinner/spinner_options.js @@ -191,7 +191,7 @@ test( "min, string", function() { equal( element.spinner( "option", "min" ), -100, "option converted to number" ); element.spinner( "value", -1000 ); - equal( element.val(), "($100.00)", "min constrained in value method") + equal( element.val(), "($100.00)", "min constrained in value method" ); }); test( "step, 2", function() { diff --git a/tests/unit/subsuite.js b/tests/unit/subsuite.js index 03e8c9706..6f966590b 100644 --- a/tests/unit/subsuite.js +++ b/tests/unit/subsuite.js @@ -1,12 +1,11 @@ (function() { -var versions = [ "1.6", "1.6.1", "1.6.2", "1.6.3", "1.6.4", "1.7", "1.7.1", "1.7.2", "git" ]; - -var additionalTests = { - accordion: [ "accordion_deprecated.html" ], - position: [ "position_deprecated.html" ], - tabs: [ "tabs_deprecated.html" ] -}; +var versions = [ "1.6", "1.6.1", "1.6.2", "1.6.3", "1.6.4", "1.7", "1.7.1", "1.7.2", "git" ], + additionalTests = { + accordion: [ "accordion_deprecated.html" ], + position: [ "position_deprecated.html" ], + tabs: [ "tabs_deprecated.html" ] + }; window.testAllVersions = function( widget ) { QUnit.testSuites( $.map( diff --git a/tests/unit/subsuiteRunner.js b/tests/unit/subsuiteRunner.js index ddfccc7c1..2d6de2de1 100644 --- a/tests/unit/subsuiteRunner.js +++ b/tests/unit/subsuiteRunner.js @@ -4,13 +4,16 @@ var subsuiteFrame; QUnit.extend( QUnit, { testSuites: function( suites ) { + function generateSuite( suite ) { + asyncTest( suite, function() { + QUnit.runSuite( suite ); + }); + } + for ( var i = 0; i < suites.length; i++ ) { - (function( suite ) { - asyncTest( suite, function() { - QUnit.runSuite( suite ); - }); - }( suites[i] ) ); + generateSuite( suites[ i ] ); } + QUnit.done = function() { subsuiteFrame.style.display = "none"; }; @@ -23,10 +26,12 @@ QUnit.extend( QUnit, { testDone: function() { var current = QUnit.id( this.config.current.id ), - children = current.children; + children = current.children, + i = 0, + length = children.length; // undo the auto-expansion of failed tests - for ( var i = 0; i < children.length; i++ ) { + for ( ; i < length; i++ ) { if ( children[i].nodeName === "OL" ) { children[i].style.display = "none"; } @@ -34,10 +39,11 @@ QUnit.extend( QUnit, { }, runSuite: function( suite ) { - var body = document.getElementsByTagName( "body" )[0], - iframe = subsuiteFrame = document.createElement( "iframe" ), - iframeWin; + var iframeWin, + body = document.getElementsByTagName( "body" )[0], + iframe = document.createElement( "iframe" ); + subsuiteFrame = iframe; iframe.className = "qunit-subsuite"; body.appendChild( iframe ); diff --git a/tests/unit/swarminject.js b/tests/unit/swarminject.js index db69326ab..78d37ef46 100644 --- a/tests/unit/swarminject.js +++ b/tests/unit/swarminject.js @@ -5,5 +5,5 @@ if ( !url || url.indexOf("http") !== 0 ) { return; } - document.write(""); + document.write( "" ); })(); diff --git a/tests/unit/tabs/tabs_deprecated.js b/tests/unit/tabs/tabs_deprecated.js index 80bc4a326..c8f0e2881 100644 --- a/tests/unit/tabs/tabs_deprecated.js +++ b/tests/unit/tabs/tabs_deprecated.js @@ -89,10 +89,11 @@ test( "tabTemplate + panelTemplate", function() { // defaults are tested in the add method test expect( 11 ); - var element = $( "#tabs2" ).tabs({ - tabTemplate: "
  • #{label}
  • ", - panelTemplate: "
    " - }); + var tab, anchor, + element = $( "#tabs2" ).tabs({ + tabTemplate: "
  • #{label}
  • ", + panelTemplate: "
    " + }); element.one( "tabsadd", function( event, ui ) { var anchor = $( ui.tab ); equal( ui.index, 5, "ui.index" ); @@ -103,8 +104,8 @@ test( "tabTemplate + panelTemplate", function() { ok( $( ui.panel ).hasClass( "customPanel" ), "panel custom class" ); }); element.tabs( "add", "#new", "New" ); - var tab = element.find( ".ui-tabs-nav li" ).last(), - anchor = tab.find( "a" ); + tab = element.find( ".ui-tabs-nav li" ).last(); + anchor = tab.find( "a" ); equal( tab.text(), "New", "label" ); ok( tab.hasClass( "customTab" ), "tab custom class" ); equal( anchor.attr( "href" ), "http://example.com/#new", "href" ); @@ -393,7 +394,8 @@ module( "tabs (deprecated): methods" ); test( "add", function() { expect( 27 ); - var element = $( "#tabs1" ).tabs(); + var tab, anchor, + element = $( "#tabs1" ).tabs(); tabs_state( element, 1, 0, 0 ); // add without index @@ -404,8 +406,8 @@ test( "add", function() { }); element.tabs( "add", "#new", "New" ); tabs_state( element, 1, 0, 0, 0 ); - var tab = element.find( ".ui-tabs-nav li" ).last(), - anchor = tab.find( "a" ); + tab = element.find( ".ui-tabs-nav li" ).last(); + anchor = tab.find( "a" ); equal( tab.text(), "New", "label" ); equal( anchor.attr( "href" ), "#new", "href" ); equal( anchor.attr( "aria-controls" ), "new", "aria-controls" ); diff --git a/tests/unit/tabs/tabs_methods.js b/tests/unit/tabs/tabs_methods.js index fee87db96..0a59ae302 100644 --- a/tests/unit/tabs/tabs_methods.js +++ b/tests/unit/tabs/tabs_methods.js @@ -167,9 +167,8 @@ asyncTest( "load", function() { element.one( "tabsload", function( event, ui ) { // TODO: remove wrapping in 2.0 var uiTab = $( ui.tab ), - uiPanel = $( ui.panel ); - - var tab = element.find( ".ui-tabs-nav a" ).eq( 3 ), + uiPanel = $( ui.panel ), + tab = element.find( ".ui-tabs-nav a" ).eq( 3 ), panelId = tab.attr( "aria-controls" ), panel = $( "#" + panelId ); @@ -215,9 +214,8 @@ asyncTest( "load", function() { element.one( "tabsload", function( event, ui ) { // TODO: remove wrapping in 2.0 var uiTab = $( ui.tab ), - uiPanel = $( ui.panel ); - - var tab = element.find( ".ui-tabs-nav a" ).eq( 3 ), + uiPanel = $( ui.panel ), + tab = element.find( ".ui-tabs-nav a" ).eq( 3 ), panelId = tab.attr( "aria-controls" ), panel = $( "#" + panelId ); diff --git a/tests/unit/testsuite.js b/tests/unit/testsuite.js index d37e27f7b..2ef6bf472 100644 --- a/tests/unit/testsuite.js +++ b/tests/unit/testsuite.js @@ -63,7 +63,7 @@ window.commonWidgetTests = function( widget, settings ) { test( "version", function() { ok( "version" in $.ui[ widget ].prototype, "version property exists" ); }); -} +}; /* * Experimental assertion for comparing DOM objects. @@ -72,20 +72,22 @@ window.commonWidgetTests = function( widget, settings ) { * Then compares the result using deepEqual. */ window.domEqual = function( selector, modifier, message ) { - var attributes = ["class", "role", "id", "tabIndex", "aria-activedescendant"]; + var expected, actual, + attributes = ["class", "role", "id", "tabIndex", "aria-activedescendant"]; function extract(value) { if (!value || !value.length) { QUnit.push( false, actual, expected, "domEqual failed, can't extract " + selector + ", message was: " + message ); return; } - var result = {}; + var children, + result = {}; result.nodeName = value[0].nodeName; $.each(attributes, function(index, attr) { result[attr] = value.prop(attr); }); result.children = []; - var children = value.children(); + children = value.children(); if (children.length) { children.each(function() { result.children.push(extract($(this))); @@ -95,11 +97,11 @@ window.domEqual = function( selector, modifier, message ) { } return result; } - var expected = extract($(selector)); - modifier($(selector)); + expected = extract( $( selector ) ); + modifier( $( selector ) ); - var actual = extract($(selector)); + actual = extract( $( selector ) ); QUnit.push( QUnit.equiv(actual, expected), actual, expected, message ); -} +}; }()); diff --git a/tests/unit/tooltip/tooltip_methods.js b/tests/unit/tooltip/tooltip_methods.js index 3e8256c50..eaab1c0d1 100644 --- a/tests/unit/tooltip/tooltip_methods.js +++ b/tests/unit/tooltip/tooltip_methods.js @@ -16,11 +16,12 @@ test( "destroy", function() { test( "open/close", function() { expect( 3 ); $.fx.off = true; - var element = $( "#tooltipped1" ).tooltip(); + var tooltip, + element = $( "#tooltipped1" ).tooltip(); equal( $( ".ui-tooltip" ).length, 0, "no tooltip on init" ); element.tooltip( "open" ); - var tooltip = $( "#" + element.attr( "aria-describedby" ) ); + tooltip = $( "#" + element.attr( "aria-describedby" ) ); ok( tooltip.is( ":visible" ) ); element.tooltip( "close" ); @@ -31,11 +32,12 @@ test( "open/close", function() { test( "enable/disable", function() { expect( 7 ); $.fx.off = true; - var element = $( "#tooltipped1" ).tooltip(); + var tooltip, + element = $( "#tooltipped1" ).tooltip(); equal( $( ".ui-tooltip" ).length, 0, "no tooltip on init" ); element.tooltip( "open" ); - var tooltip = $( "#" + element.attr( "aria-describedby" ) ); + tooltip = $( "#" + element.attr( "aria-describedby" ) ); ok( tooltip.is( ":visible" ) ); element.tooltip( "disable" ); diff --git a/tests/unit/tooltip/tooltip_options.js b/tests/unit/tooltip/tooltip_options.js index 42529e087..4f994f8de 100644 --- a/tests/unit/tooltip/tooltip_options.js +++ b/tests/unit/tooltip/tooltip_options.js @@ -45,11 +45,12 @@ asyncTest( "content: sync + async callback", function() { test( "items", function() { expect( 2 ); - var element = $( "#qunit-fixture" ).tooltip({ - items: "#fixture-span" - }); + var event, + element = $( "#qunit-fixture" ).tooltip({ + items: "#fixture-span" + }); - var event = $.Event( "mouseenter" ); + event = $.Event( "mouseenter" ); event.target = $( "#fixture-span" )[ 0 ]; element.tooltip( "open", event ); deepEqual( $( "#" + $( "#fixture-span" ).attr( "aria-describedby" ) ).text(), "title-text" ); @@ -63,7 +64,7 @@ test( "items", function() { }); test( "tooltipClass", function() { - expect( 1 ) + expect( 1 ); var element = $( "#tooltipped1" ).tooltip({ tooltipClass: "custom" }).tooltip( "open" ); diff --git a/tests/unit/widget/widget_core.js b/tests/unit/widget/widget_core.js index e104d4ae9..38495e282 100644 --- a/tests/unit/widget/widget_core.js +++ b/tests/unit/widget/widget_core.js @@ -84,7 +84,8 @@ test( "custom selector expression", function() { test( "jQuery usage", function() { expect( 16 ); - var shouldCreate = false; + var elem, instance, ret, bcInstance, + shouldCreate = false; $.widget( "ui.testWidget", { getterSetterVal: 5, @@ -113,22 +114,22 @@ test( "jQuery usage", function() { }); shouldCreate = true; - var elem = $( "
    " ) + elem = $( "
    " ) .bind( "testwidgetcreate", function() { ok( shouldCreate, "create event triggered on instantiation" ); }) .testWidget(); shouldCreate = false; - var instance = elem.data( "ui-testWidget" ); + instance = elem.data( "ui-testWidget" ); equal( typeof instance, "object", "instance stored in .data(pluginName)" ); equal( instance.element[0], elem[0], "element stored on widget" ); - var ret = elem.testWidget( "methodWithParams", "value1", "value2" ); + ret = elem.testWidget( "methodWithParams", "value1", "value2" ); equal( ret, elem, "jQuery object returned from method call" ); // 1.9 BC for #7810 // TODO remove - var bcInstance = elem.data("testWidget"); + bcInstance = elem.data("testWidget"); equal( typeof bcInstance, "object", "instance stored in .data(pluginName)" ); equal( bcInstance.element[0], elem[0], "element stored on widget" ); @@ -148,7 +149,8 @@ test( "jQuery usage", function() { test( "direct usage", function() { expect( 9 ); - var shouldCreate = false; + var elem, instance, ret, + shouldCreate = false; $.widget( "ui.testWidget", { getterSetterVal: 5, @@ -171,17 +173,17 @@ test( "direct usage", function() { } }); - var elem = $( "
    " )[ 0 ]; + elem = $( "
    " )[ 0 ]; shouldCreate = true; - var instance = new $.ui.testWidget( {}, elem ); + instance = new $.ui.testWidget( {}, elem ); shouldCreate = false; equal( $( elem ).data( "ui-testWidget" ), instance, "instance stored in .data(pluginName)" ); equal( instance.element[ 0 ], elem, "element stored on widget" ); - var ret = instance.methodWithParams( "value1", "value2" ); + ret = instance.methodWithParams( "value1", "value2" ); equal( ret, instance, "plugin returned from method call" ); ret = instance.getterSetterMethod(); @@ -439,11 +441,12 @@ test( ".option() - getter", function() { _create: function() {} }); - var div = $( "
    " ).testWidget({ - foo: "bar", - baz: 5, - qux: [ "quux", "quuux" ] - }); + var options, + div = $( "
    " ).testWidget({ + foo: "bar", + baz: 5, + qux: [ "quux", "quuux" ] + }); deepEqual( div.testWidget( "option", "x" ), null, "non-existent option" ); deepEqual( div.testWidget( "option", "foo"), "bar", "single option - string" ); @@ -451,7 +454,7 @@ test( ".option() - getter", function() { deepEqual( div.testWidget( "option", "qux"), [ "quux", "quuux" ], "single option - array" ); - var options = div.testWidget( "option" ); + options = div.testWidget( "option" ); deepEqual( options, { create: null, disabled: false, @@ -483,14 +486,15 @@ test( ".option() - deep option getter", function() { }); test( ".option() - delegate to ._setOptions()", function() { - var calls = []; + var div, + calls = []; $.widget( "ui.testWidget", { _create: function() {}, _setOptions: function( options ) { calls.push( options ); } }); - var div = $( "
    " ).testWidget(); + div = $( "
    " ).testWidget(); calls = []; div.testWidget( "option", "foo", "bar" ); @@ -506,7 +510,8 @@ test( ".option() - delegate to ._setOptions()", function() { }); test( ".option() - delegate to ._setOption()", function() { - var calls = []; + var div, + calls = []; $.widget( "ui.testWidget", { _create: function() {}, _setOption: function( key, val ) { @@ -516,7 +521,7 @@ test( ".option() - delegate to ._setOption()", function() { }); } }); - var div = $( "
    " ).testWidget(); + div = $( "
    " ).testWidget(); calls = []; div.testWidget( "option", "foo", "bar" ); @@ -603,7 +608,7 @@ test( ".widget() - overriden", function() { test( "._bind() to element (default)", function() { expect( 12 ); - var that; + var that, widget; $.widget( "ui.testWidget", { _create: function() { that = this; @@ -623,7 +628,7 @@ test( "._bind() to element (default)", function() { equal( "keydown", event.type ); } }); - var widget = $( "
    " ) + widget = $( "
    " ) .testWidget() .trigger( "keyup" ) .trigger( "keydown" ); @@ -643,7 +648,7 @@ test( "._bind() to element (default)", function() { test( "._bind() to descendent", function() { expect( 12 ); - var that; + var that, widget, descendant; $.widget( "ui.testWidget", { _create: function() { that = this; @@ -664,28 +669,28 @@ test( "._bind() to descendent", function() { } }); // trigger events on both widget and descendent to ensure that only descendent receives them - var widget = $( "

    hello world

    " ) + widget = $( "

    hello world

    " ) .testWidget() .trigger( "keyup" ) .trigger( "keydown" ); - var descendent = widget.find( "strong" ) + descendant = widget.find( "strong" ) .trigger( "keyup" ) .trigger( "keydown" ); widget .testWidget( "disable" ) .trigger( "keyup" ) .trigger( "keydown" ); - descendent + descendant .trigger( "keyup" ) .trigger( "keydown" ); widget .testWidget( "enable" ) .trigger( "keyup" ) .trigger( "keydown" ); - descendent + descendant .trigger( "keyup" ) .trigger( "keydown" ); - descendent + descendant .addClass( "ui-state-disabled" ) .trigger( "keyup" ) .trigger( "keydown" ); @@ -693,7 +698,7 @@ test( "._bind() to descendent", function() { .testWidget( "destroy" ) .trigger( "keyup" ) .trigger( "keydown" ); - descendent + descendant .trigger( "keyup" ) .trigger( "keydown" ); }); @@ -942,10 +947,10 @@ test( "._trigger() - array as ui", function() { qux: 5, quux: 20 } + }, + extra = { + bar: 5 }; - var extra = { - bar: 5 - }; this._trigger( "foo", null, [ ui, extra ] ); } }); @@ -983,8 +988,7 @@ test( "._trigger() - instance as element", function() { $.widget( "ui.testWidget", { defaultElement: null, testEvent: function() { - var ui = { foo: "bar" }; - this._trigger( "foo", null, ui ); + this._trigger( "foo", null, { foo: "bar" } ); } }); var instance = $.ui.testWidget({ diff --git a/tests/unit/widget/widget_extend.js b/tests/unit/widget/widget_extend.js index 90e686e18..36cd999dd 100644 --- a/tests/unit/widget/widget_extend.js +++ b/tests/unit/widget/widget_extend.js @@ -1,7 +1,9 @@ test( "$.widget.extend()", function() { expect( 26 ); - var settings = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" }, + var ret, empty, optionsWithLength, optionsWithDate, myKlass, customObject, optionsWithCustomObject, nullUndef, + target, recursive, obj, input, output, + settings = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" }, options = { xnumber2: 1, xstring2: "x", xxx: "newstring" }, optionsCopy = { xnumber2: 1, xstring2: "x", xxx: "newstring" }, merged = { xnumber1: 5, xnumber2: 1, xstring1: "peter", xstring2: "x", xxx: "newstring" }, @@ -10,8 +12,7 @@ test( "$.widget.extend()", function() { deep2copy = { foo: { baz: true }, foo2: document }, deepmerged = { foo: { bar: true, baz: true }, foo2: document }, arr = [1, 2, 3], - nestedarray = { arr: arr }, - ret; + nestedarray = { arr: arr }; $.widget.extend( settings, options ); deepEqual( settings, merged, "Check if extended: settings must be extended" ); @@ -25,19 +26,19 @@ test( "$.widget.extend()", function() { strictEqual( $.widget.extend({}, nestedarray).arr, arr, "Don't clone arrays" ); ok( $.isPlainObject( $.widget.extend({ arr: arr }, { arr: {} }).arr ), "Cloned object heve to be an plain object" ); - var empty = {}; - var optionsWithLength = { foo: { length: -1 } }; + empty = {}; + optionsWithLength = { foo: { length: -1 } }; $.widget.extend( empty, optionsWithLength ); deepEqual( empty.foo, optionsWithLength.foo, "The length property must copy correctly" ); empty = {}; - var optionsWithDate = { foo: { date: new Date } }; + optionsWithDate = { foo: { date: new Date() } }; $.widget.extend( empty, optionsWithDate ); deepEqual( empty.foo, optionsWithDate.foo, "Dates copy correctly" ); - var myKlass = function() {}; - var customObject = new myKlass(); - var optionsWithCustomObject = { foo: { date: customObject } }; + myKlass = function() {}; + customObject = new myKlass(); + optionsWithCustomObject = { foo: { date: customObject } }; empty = {}; $.widget.extend( empty, optionsWithCustomObject ); strictEqual( empty.foo.date, customObject, "Custom objects copy correctly (no methods)" ); @@ -48,10 +49,9 @@ test( "$.widget.extend()", function() { $.widget.extend( empty, optionsWithCustomObject ); strictEqual( empty.foo.date, customObject, "Custom objects copy correctly" ); - ret = $.widget.extend({ foo: 4 }, { foo: new Number(5) } ); + ret = $.widget.extend({ foo: 4 }, { foo: Number(5) } ); equal( ret.foo, 5, "Wrapped numbers copy correctly" ); - var nullUndef; nullUndef = $.widget.extend( {}, options, { xnumber2: null } ); strictEqual( nullUndef.xnumber2, null, "Check to make sure null values are copied"); @@ -61,8 +61,8 @@ test( "$.widget.extend()", function() { nullUndef = $.widget.extend( {}, options, { xnumber0: null } ); strictEqual( nullUndef.xnumber0, null, "Check to make sure null values are inserted"); - var target = {}; - var recursive = { foo:target, bar:5 }; + target = {}; + recursive = { foo:target, bar:5 }; $.widget.extend( target, recursive ); deepEqual( target, { foo: {}, bar: 5 }, "Check to make sure a recursive obj doesn't go never-ending loop by not copying it over" ); @@ -75,7 +75,7 @@ test( "$.widget.extend()", function() { ret = $.widget.extend( { foo:"bar" }, { foo:null } ); strictEqual( typeof ret.foo, "object", "Make sure a null value doesn't crash with deep extend, for #1908" ); - var obj = { foo:null }; + obj = { foo:null }; $.widget.extend( obj, { foo:"notnull" } ); equal( obj.foo, "notnull", "Make sure a null value can be overwritten" ); @@ -87,16 +87,16 @@ test( "$.widget.extend()", function() { options2Copy = { xstring2: "xx", xxx: "newstringx" }, merged2 = { xnumber1: 5, xnumber2: 1, xstring1: "peter", xstring2: "xx", xxx: "newstringx" }; - var settings = $.widget.extend( {}, defaults, options1, options2 ); + settings = $.widget.extend( {}, defaults, options1, options2 ); deepEqual( settings, merged2, "Check if extended: settings must be extended" ); deepEqual( defaults, defaultsCopy, "Check if not modified: options1 must not be modified" ); deepEqual( options1, options1Copy, "Check if not modified: options1 must not be modified" ); deepEqual( options2, options2Copy, "Check if not modified: options2 must not be modified" ); - var input = { + input = { key: [ 1, 2, 3 ] }; - var output = $.widget.extend( {}, input ); + output = $.widget.extend( {}, input ); deepEqual( input, output, "don't clone arrays" ); input.key[0] = 10; deepEqual( input, output, "don't clone arrays" ); -- cgit v1.2.3 From a0fb2c227e66c7b034726943a96360829a5ad3b2 Mon Sep 17 00:00:00 2001 From: Scott González Date: Wed, 18 Apr 2012 22:46:39 -0400 Subject: Tests: Lint. --- tests/unit/progressbar/progressbar_events.js | 2 +- tests/unit/resizable/resizable_methods.js | 2 +- tests/unit/selectable/selectable_methods.js | 16 ++++--- tests/unit/selectable/selectable_options.js | 6 +-- tests/unit/slider/slider_methods.js | 14 +++--- tests/unit/slider/slider_options.js | 10 ++--- tests/unit/sortable/sortable_events.js | 64 ++++++++++++++-------------- tests/unit/sortable/sortable_methods.js | 4 +- tests/unit/sortable/sortable_tickets.js | 4 +- 9 files changed, 63 insertions(+), 59 deletions(-) (limited to 'tests/unit') diff --git a/tests/unit/progressbar/progressbar_events.js b/tests/unit/progressbar/progressbar_events.js index 8d7b8868d..f3713171b 100644 --- a/tests/unit/progressbar/progressbar_events.js +++ b/tests/unit/progressbar/progressbar_events.js @@ -15,7 +15,7 @@ test("create", function() { change: function() { ok(false, 'create() has triggered change()'); } - }) + }); }); test("change", function() { diff --git a/tests/unit/resizable/resizable_methods.js b/tests/unit/resizable/resizable_methods.js index 03e91d440..2b4c4256c 100644 --- a/tests/unit/resizable/resizable_methods.js +++ b/tests/unit/resizable/resizable_methods.js @@ -20,7 +20,7 @@ test("init", function() { $('
    ').resizable().resizable("foo").remove(); ok(true, 'arbitrary method called after init'); - el = $('
    ').resizable() + el = $('
    ').resizable(); var foo = el.resizable("option", "foo"); el.remove(); ok(true, 'arbitrary option getter after init'); diff --git a/tests/unit/selectable/selectable_methods.js b/tests/unit/selectable/selectable_methods.js index 32dfe00ed..dbc88f269 100644 --- a/tests/unit/selectable/selectable_methods.js +++ b/tests/unit/selectable/selectable_methods.js @@ -20,7 +20,7 @@ test("init", function() { $("
    ").selectable().selectable("foo").remove(); ok(true, 'arbitrary method called after init'); - el = $("
    ").selectable() + el = $("
    ").selectable(); var foo = el.selectable("option", "foo"); el.remove(); ok(true, 'arbitrary option getter after init'); @@ -49,7 +49,8 @@ test("destroy", function() { test("enable", function() { expect(3); - var fired = false; + var expected, actual, + fired = false; el = $("#selectable1"); el.selectable({ @@ -63,14 +64,15 @@ test("enable", function() { equal(fired, true, "start fired"); el.selectable("destroy"); - var expected = $('
    ').selectable(), - actual = expected.selectable('enable'); + expected = $('
    ').selectable(); + actual = expected.selectable('enable'); equal(actual, expected, 'enable is chainable'); }); test("disable", function() { expect(3); - var fired = false; + var expected, actual, + fired = false; el = $("#selectable1"); el.selectable({ @@ -85,8 +87,8 @@ test("disable", function() { equal(fired, false, "start fired"); el.selectable("destroy"); - var expected = $('
    ').selectable(), - actual = expected.selectable('disable'); + expected = $('
    ').selectable(); + actual = expected.selectable('disable'); equal(actual, expected, 'disable is chainable'); }); diff --git a/tests/unit/selectable/selectable_options.js b/tests/unit/selectable/selectable_options.js index 2bc44e6e0..be9fdf5fe 100644 --- a/tests/unit/selectable/selectable_options.js +++ b/tests/unit/selectable/selectable_options.js @@ -8,7 +8,7 @@ module("selectable: options"); test("autoRefresh", function() { expect(3); el = $("#selectable1"); - var actual, sel = $("*", el), selected = function() { actual += 1 }; + var actual, sel = $("*", el), selected = function() { actual += 1; }; actual = 0; el = $("#selectable1").selectable({ autoRefresh: false, selected: selected }); @@ -33,12 +33,12 @@ test("autoRefresh", function() { test("filter", function() { expect(2); el = $("#selectable1"); - var actual, sel = $("*", el), selected = function() { actual += 1 }; + 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"); + ok(sel.length !== 1, "this test assumes more than 1 selectee"); equal(actual, 1); el.selectable("destroy"); }); diff --git a/tests/unit/slider/slider_methods.js b/tests/unit/slider/slider_methods.js index b46222002..79f80e868 100644 --- a/tests/unit/slider/slider_methods.js +++ b/tests/unit/slider/slider_methods.js @@ -17,8 +17,8 @@ test("init", function() { $('
    ').slider().remove(); ok(true, '.slider() called on disconnected DOMElement'); - var el = $('
    ').slider(); - var foo = el.slider("option", "foo"); + var el = $('
    ').slider(), + foo = el.slider("option", "foo"); el.remove(); ok(true, 'arbitrary option getter after init'); @@ -42,11 +42,12 @@ test("destroy", function() { }); test("enable", function() { - var expected = $('
    ').slider(), + var el, + expected = $('
    ').slider(), actual = expected.slider('enable'); equal(actual, expected, 'enable is chainable'); - var el = $('
    ').slider({ disabled: true }); + el = $('
    ').slider({ disabled: true }); ok(el.hasClass('ui-disabled'), 'slider has ui-disabled class before enable method call'); ok(el.hasClass('ui-slider-disabled'), 'slider has ui-slider-disabled class before enable method call'); el.slider('enable'); @@ -55,11 +56,12 @@ test("enable", function() { }); test("disable", function() { - var expected = $('
    ').slider(), + var el, + expected = $('
    ').slider(), actual = expected.slider('disable'); equal(actual, expected, 'disable is chainable'); - var el = $('
    ').slider({ disabled: false }); + el = $('
    ').slider({ disabled: false }); ok(!el.hasClass('ui-disabled'), 'slider does not have ui-disabled class before disabled method call'); ok(!el.hasClass('ui-slider-disabled'), 'slider does not have ui-slider-disabled class before disable method call'); el.slider('disable'); diff --git a/tests/unit/slider/slider_options.js b/tests/unit/slider/slider_options.js index 7d9899284..09067a3e9 100644 --- a/tests/unit/slider/slider_options.js +++ b/tests/unit/slider/slider_options.js @@ -23,8 +23,8 @@ test("max", function() { }; el.slider(options); - ok(el.slider("option", "value") == options.value, "value option is not contained by max"); - ok(el.slider("value") == options.max, "value method is contained by max"); + ok(el.slider("option", "value") === options.value, "value option is not contained by max"); + ok(el.slider("value") === options.max, "value method is contained by max"); el.slider('destroy'); }); @@ -41,8 +41,8 @@ test("min", function() { }; el.slider(options); - ok(el.slider("option", "value") == options.value, "value option is not contained by min"); - ok(el.slider("value") == options.min, "value method is contained by min"); + ok(el.slider("option", "value") === options.value, "value option is not contained by min"); + ok(el.slider("value") === options.min, "value method is contained by min"); el.slider('destroy'); }); @@ -73,7 +73,7 @@ test("orientation", function() { value: -1 }; - var percentVal = (options.value - options.min) / (options.max - options.min) * 100; + percentVal = (options.value - options.min) / (options.max - options.min) * 100; el.slider(options).slider("option", "orientation", "vertical"); ok(el.is('.ui-slider-vertical'), "vertical slider has class .ui-slider-vertical"); diff --git a/tests/unit/sortable/sortable_events.js b/tests/unit/sortable/sortable_events.js index cb4ff4ff3..6ed54e1b6 100644 --- a/tests/unit/sortable/sortable_events.js +++ b/tests/unit/sortable/sortable_events.js @@ -6,13 +6,13 @@ module("sortable: events"); test("start", function() { - + var hash; $("#sortable") .sortable({ start: function(e, ui) { hash = ui; } }) .find('li:eq(0)').simulate("drag", { dx: 0, dy: 10 }); - - ok(hash, 'start event triggered'); + + ok(hash, 'start event triggered'); ok(hash.helper, 'UI hash includes: helper'); ok(hash.placeholder, 'UI hash includes: placeholder'); ok(hash.position && (hash.position.top && hash.position.left), 'UI hash includes: position'); @@ -20,104 +20,104 @@ test("start", function() { ok(hash.item, 'UI hash includes: item'); ok(!hash.sender, 'UI hash does not include: sender'); - + }); test("sort", function() { - + var hash; $("#sortable") .sortable({ sort: function(e, ui) { hash = ui; } }) .find('li:eq(0)').simulate("drag", { dx: 0, dy: 10 }); - - ok(hash, 'sort event triggered'); + + ok(hash, 'sort event triggered'); ok(hash.helper, 'UI hash includes: helper'); ok(hash.placeholder, 'UI hash includes: placeholder'); ok(hash.position && (hash.position.top && hash.position.left), 'UI hash includes: position'); ok(hash.offset && (hash.offset.top && hash.offset.left), 'UI hash includes: offset'); ok(hash.item, 'UI hash includes: item'); ok(!hash.sender, 'UI hash does not include: sender'); - + }); test("change", function() { - + var hash; $("#sortable") .sortable({ change: function(e, ui) { hash = ui; } }) .find('li:eq(0)').simulate("drag", { dx: 1, dy: 1 }); - + ok(!hash, '1px drag, change event should not be triggered'); - + $("#sortable") .sortable({ change: function(e, ui) { hash = ui; } }) - .find('li:eq(0)').simulate("drag", { dx: 0, dy: 20 }); - - ok(hash, 'change event triggered'); + .find('li:eq(0)').simulate("drag", { dx: 0, dy: 20 }); + + ok(hash, 'change event triggered'); ok(hash.helper, 'UI hash includes: helper'); ok(hash.placeholder, 'UI hash includes: placeholder'); ok(hash.position && (hash.position.top && hash.position.left), 'UI hash includes: position'); ok(hash.offset && (hash.offset.top && hash.offset.left), 'UI hash includes: offset'); ok(hash.item, 'UI hash includes: item'); ok(!hash.sender, 'UI hash does not include: sender'); - + }); test("beforeStop", function() { - + var hash; $("#sortable") .sortable({ beforeStop: function(e, ui) { hash = ui; } }) - .find('li:eq(0)').simulate("drag", { dx: 0, dy: 20 }); - - ok(hash, 'beforeStop event triggered'); + .find('li:eq(0)').simulate("drag", { dx: 0, dy: 20 }); + + ok(hash, 'beforeStop event triggered'); ok(hash.helper, 'UI hash includes: helper'); ok(hash.placeholder, 'UI hash includes: placeholder'); ok(hash.position && (hash.position.top && hash.position.left), 'UI hash includes: position'); ok(hash.offset && (hash.offset.top && hash.offset.left), 'UI hash includes: offset'); ok(hash.item, 'UI hash includes: item'); ok(!hash.sender, 'UI hash does not include: sender'); - + }); test("stop", function() { - + var hash; $("#sortable") .sortable({ stop: function(e, ui) { hash = ui; } }) - .find('li:eq(0)').simulate("drag", { dx: 0, dy: 20 }); - - ok(hash, 'stop event triggered'); + .find('li:eq(0)').simulate("drag", { dx: 0, dy: 20 }); + + ok(hash, 'stop event triggered'); ok(!hash.helper, 'UI should not include: helper'); ok(hash.placeholder, 'UI hash includes: placeholder'); ok(hash.position && (hash.position.top && hash.position.left), 'UI hash includes: position'); ok(hash.offset && (hash.offset.top && hash.offset.left), 'UI hash includes: offset'); ok(hash.item, 'UI hash includes: item'); ok(!hash.sender, 'UI hash does not include: sender'); - + }); test("update", function() { - + var hash; $("#sortable") .sortable({ update: function(e, ui) { hash = ui; } }) .find('li:eq(0)').simulate("drag", { dx: 1, dy: 1 }); - + ok(!hash, '1px drag, update event should not be triggered'); - + $("#sortable") .sortable({ update: function(e, ui) { hash = ui; } }) - .find('li:eq(0)').simulate("drag", { dx: 0, dy: 20 }); - - ok(hash, 'update event triggered'); + .find('li:eq(0)').simulate("drag", { dx: 0, dy: 20 }); + + ok(hash, 'update event triggered'); ok(!hash.helper, 'UI hash should not include: helper'); ok(hash.placeholder, 'UI hash includes: placeholder'); ok(hash.position && (hash.position.top && hash.position.left), 'UI hash includes: position'); ok(hash.offset && (hash.offset.top && hash.offset.left), 'UI hash includes: offset'); ok(hash.item, 'UI hash includes: item'); ok(!hash.sender, 'UI hash does not include: sender'); - + }); test("receive", function() { diff --git a/tests/unit/sortable/sortable_methods.js b/tests/unit/sortable/sortable_methods.js index 2446d2755..c2a0b9548 100644 --- a/tests/unit/sortable/sortable_methods.js +++ b/tests/unit/sortable/sortable_methods.js @@ -5,7 +5,7 @@ var el, offsetBefore, offsetAfter, dragged; -var drag = function(handle, dx, dy) { +function drag(handle, dx, dy) { offsetBefore = $(handle).offset(); $(handle).simulate("drag", { dx: dx || 0, @@ -15,7 +15,7 @@ var drag = function(handle, dx, dy) { offsetAfter = $(handle).offset(); } -var sort = function(handle, dx, dy, index, msg) { +function sort(handle, dx, dy, index, msg) { drag(handle, dx, dy); equal($(handle).parent().children().index(handle), index, msg); } diff --git a/tests/unit/sortable/sortable_tickets.js b/tests/unit/sortable/sortable_tickets.js index 6ee503a58..22ad61baf 100644 --- a/tests/unit/sortable/sortable_tickets.js +++ b/tests/unit/sortable/sortable_tickets.js @@ -5,7 +5,7 @@ var el, offsetBefore, offsetAfter, dragged; -var drag = function(handle, dx, dy) { +function drag(handle, dx, dy) { offsetBefore = $(handle).offset(); $(handle).simulate("drag", { dx: dx || 0, @@ -15,7 +15,7 @@ var drag = function(handle, dx, dy) { offsetAfter = $(handle).offset(); } -var sort = function(handle, dx, dy, index, msg) { +function sort(handle, dx, dy, index, msg) { drag(handle, dx, dy); equal($(handle).parent().children().index(handle), index, msg); } -- cgit v1.2.3 From aa187f57d16aae5cf5181cd967a385439b09c2ce Mon Sep 17 00:00:00 2001 From: Scott González Date: Thu, 19 Apr 2012 09:39:21 -0400 Subject: Tests: Lint --- grunt.js | 1 + tests/unit/effects/effects_core.js | 17 ++-- tests/unit/effects/effects_scale.js | 19 ++-- tests/unit/menu/menu_core.js | 9 +- tests/unit/menu/menu_events.js | 13 +-- tests/unit/position/position_core.js | 40 ++++----- tests/unit/position/position_core_within.js | 133 +++++++++++++--------------- 7 files changed, 114 insertions(+), 118 deletions(-) (limited to 'tests/unit') diff --git a/grunt.js b/grunt.js index 0295b399c..bc9084e4d 100644 --- a/grunt.js +++ b/grunt.js @@ -361,6 +361,7 @@ grunt.initConfig({ menu_click: true, menu_log: true, module: true, + notEqual: true, ok: true, QUnit: true, spinner_simulateKeyDownUp: true, diff --git a/tests/unit/effects/effects_core.js b/tests/unit/effects/effects_core.js index aca4c4694..93c7da114 100644 --- a/tests/unit/effects/effects_core.js +++ b/tests/unit/effects/effects_core.js @@ -99,7 +99,7 @@ asyncTest( "animateClass clears style properties when stopped", function() { var test = $("div.animateClass"), style = test[0].style, orig = style.cssText; - + expect( 2 ); test.addClass( "testChangeBackground", duration ); @@ -113,17 +113,17 @@ asyncTest( "animateClass clears style properties when stopped", function() { asyncTest( "animateClass: css and class changes during animation are not lost (#7106)", function() { var test = $( "div.ticket7106" ); - // add a class and change a style property after starting an animated class - test.addClass( "animate", minDuration, animationComplete ) - .addClass( "testClass" ) - .height( 100 ); - // ensure the class stays and that the css property stays function animationComplete() { ok( test.hasClass( "testClass" ), "class change during animateClass was not lost" ); equal( test.height(), 100, "css change during animateClass was not lost" ); start(); } + + // add a class and change a style property after starting an animated class + test.addClass( "animate", minDuration, animationComplete ) + .addClass( "testClass" ) + .height( 100 ); }); @@ -133,10 +133,9 @@ $.each( $.effects.effect, function( effect ) { } module( "effect."+effect ); asyncTest( "show/hide", function() { - var hidden = $( "div.hidden" ); expect( 8 ); - - var count = 0, + var hidden = $( "div.hidden" ), + count = 0, test = 0; function queueTest( fn ) { diff --git a/tests/unit/effects/effects_scale.js b/tests/unit/effects/effects_scale.js index b9bb91c2e..df61d9e91 100644 --- a/tests/unit/effects/effects_scale.js +++ b/tests/unit/effects/effects_scale.js @@ -4,6 +4,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() { + function complete() { + equal( parseInt( test.css( h ), 10 ), target[ h ], "Horizontal Position Correct " + desc ); + equal( parseInt( test.css( v ), 10 ), target[ v ], "Vertical Position Correct " + desc ); + start(); + } var test = $( ".testScale" ), css = { position: position @@ -21,22 +26,16 @@ function run( position, v, h, vo, ho ) { css[ h ] = 33; css[ v ] = 33; - target[ h ] = h === ho ? css[ h ] : ho == "center" ? css[ h ] - 35 : css[ h ] - 70; - target[ v ] = v === vo ? css[ v ] : vo == "middle" ? css[ v ] - 35 : css[ v ] - 70; - if ( relative && h == "right" ) { + target[ h ] = h === ho ? css[ h ] : ho === "center" ? css[ h ] - 35 : css[ h ] - 70; + target[ v ] = v === vo ? css[ v ] : vo === "middle" ? css[ v ] - 35 : css[ v ] - 70; + if ( relative && h === "right" ) { target[ h ] += 70; } - if ( relative && v == "bottom" ) { + if ( relative && v === "bottom" ) { target[ v ] += 70; } test.css( css ); test.effect( effect ); - - function complete() { - equal( parseInt( test.css( h ), 10 ), target[ h ], "Horizontal Position Correct " + desc ); - equal( parseInt( test.css( v ), 10 ), target[ v ], "Vertical Position Correct " + desc ); - start(); - } }); } diff --git a/tests/unit/menu/menu_core.js b/tests/unit/menu/menu_core.js index 02e3be3be..f2de7ef1a 100644 --- a/tests/unit/menu/menu_core.js +++ b/tests/unit/menu/menu_core.js @@ -9,18 +9,19 @@ module("menu: core"); test("accessibility", function () { expect(5); - var menu = $('#menu1').menu(); - var item0 = $("li:eq(0) a"); + var item, + menu = $('#menu1').menu(), + item0 = $("li:eq(0) a"); ok( menu.hasClass("ui-menu ui-widget ui-widget-content ui-corner-all"), "menu class"); equal( menu.attr("role"), "menu", "main role"); ok( !menu.attr("aria-activedescendant"), "aria attribute not yet active"); - var item = menu.find( "li:first" ).find( "a" ).attr( "id", "xid" ).end(); + item = menu.find( "li:first" ).find( "a" ).attr( "id", "xid" ).end(); menu.menu( "focus", $.Event(), item ); equal( menu.attr("aria-activedescendant"), "xid", "aria attribute, id from dom"); - var item = menu.find( "li:last" ); + item = menu.find( "li:last" ); menu.menu( "focus", $.Event(), item ); equal( menu.attr("aria-activedescendant"), "menu1-4", "aria attribute, generated id"); }); diff --git a/tests/unit/menu/menu_events.js b/tests/unit/menu/menu_events.js index bee6fcfa6..c8203d37c 100644 --- a/tests/unit/menu/menu_events.js +++ b/tests/unit/menu/menu_events.js @@ -86,9 +86,6 @@ asyncTest( "handle submenu auto collapse: mouseleave", function() { expect( 4 ); var $menu = $( "#menu2" ).menu(); - $menu.find( "li:nth-child(7)" ).trigger( "mouseover" ); - setTimeout( menumouseleave1, 350 ); - function menumouseleave1() { equal( $menu.find( "ul[aria-expanded='true']" ).length, 1, "first submenu expanded" ); $menu.find( "li:nth-child(7) li:first" ).trigger( "mouseover" ); @@ -108,15 +105,15 @@ asyncTest( "handle submenu auto collapse: mouseleave", function() { equal( $menu.find( "ul[aria-expanded='true']" ).length, 0, "first submenu collapsed" ); start(); } + + $menu.find( "li:nth-child(7)" ).trigger( "mouseover" ); + setTimeout( menumouseleave1, 350 ); }); asyncTest( "handle submenu auto collapse: mouseleave", function() { expect( 4 ); var $menu = $( "#menu5" ).menu( { menus: "div" } ); - $menu.find( ":nth-child(7)" ).trigger( "mouseover" ); - setTimeout( menumouseleave1, 350 ); - function menumouseleave1() { equal( $menu.find( "div[aria-expanded='true']" ).length, 1, "first submenu expanded" ); $menu.find( ":nth-child(7)" ).find( "div" ).eq( 0 ).children().eq( 0 ).trigger( "mouseover" ); @@ -136,6 +133,10 @@ asyncTest( "handle submenu auto collapse: mouseleave", function() { equal( $menu.find( "div[aria-expanded='true']" ).length, 0, "first submenu collapsed" ); start(); } + + $menu.find( ":nth-child(7)" ).trigger( "mouseover" ); + setTimeout( menumouseleave1, 350 ); + }); diff --git a/tests/unit/position/position_core.js b/tests/unit/position/position_core.js index fbcac4b7f..5c86e7887 100644 --- a/tests/unit/position/position_core.js +++ b/tests/unit/position/position_core.js @@ -42,31 +42,32 @@ test( "my, at, of", function() { }); test( "multiple elements", function() { - var elements = $( "#el1, #el2" ); - var result = elements.position({ - my: "left top", - at: "left bottom", - of: "#parent", - collision: "none" - }); + var elements = $( "#el1, #el2" ), + result = elements.position({ + my: "left top", + at: "left bottom", + of: "#parent", + collision: "none" + }), + expected = { top: 10, left: 4 }; deepEqual( result, elements ); - var expected = { top: 10, left: 4 }; elements.each(function() { deepEqual( $( this ).offset(), expected ); }); }); test( "positions", function() { - var definitions = []; - var offsets = { - left: 0, - center: 3, - right: 6, - top: 0, - bottom: 6 - }; - var start = { left: 4, top: 4 }; + var definitions = [], + offsets = { + left: 0, + center: 3, + right: 6, + top: 0, + bottom: 6 + }, + start = { left: 4, top: 4 }, + el = $( "#el1" ); $.each( [ 0, 1 ], function( my ) { $.each( [ "top", "center", "bottom" ], function( vindex, vertical ) { $.each( [ "left", "center", "right" ], function( hindex, horizontal ) { @@ -81,7 +82,6 @@ test( "positions", function() { }); }); }); - var el = $( "#el1" ); $.each( definitions, function( index, definition ) { el.position({ my: definition.my, @@ -445,12 +445,12 @@ test( "addClass: flipped left", function() { deepEqual( elem.hasClass( 'ui-flipped-left' ), false, 'Has ui-flipped-left class' ); - elem.position( { + elem.position({ my: "right center", of: window, collision: "flip", at: "left center" - }) + }); deepEqual( elem.hasClass( 'ui-flipped-left' ), false, 'Removed ui-flipped-left class' ); }); diff --git a/tests/unit/position/position_core_within.js b/tests/unit/position/position_core_within.js index 9dc91238f..187408c61 100644 --- a/tests/unit/position/position_core_within.js +++ b/tests/unit/position/position_core_within.js @@ -65,32 +65,33 @@ test( "my, at, of", function() { }); test( "multiple elements", function() { - var elements = $( "#el1, #el2" ); - var result = elements.position({ - my: "left top", - at: "left bottom", - of: "#parent", - collision: "none", - within: $("#within-container") - }); + var elements = $( "#el1, #el2" ), + result = elements.position({ + my: "left top", + at: "left bottom", + of: "#parent", + collision: "none", + within: $("#within-container") + }), + expected = { top: addTop + 10, left: addLeft + 4 }; deepEqual( result, elements ); - var expected = { top: addTop + 10, left: addLeft + 4 }; elements.each(function() { deepEqual( $( this ).addOffsets(), expected ); }); }); test( "positions", function() { - var definitions = []; - var offsets = { - left: 0, - center: 3, - right: 6, - top: 0, - bottom: 6 - }; - var start = { left: 4, top: 4 }; + var definitions = [], + offsets = { + left: 0, + center: 3, + right: 6, + top: 0, + bottom: 6 + }, + start = { left: 4, top: 4 }, + el = $( "#el1" ); $.each( [ 0, 1 ], function( my ) { $.each( [ "top", "center", "bottom" ], function( vindex, vertical ) { $.each( [ "left", "center", "right" ], function( hindex, horizontal ) { @@ -105,7 +106,6 @@ test( "positions", function() { }); }); }); - var el = $( "#el1" ); $.each( definitions, function( index, definition ) { el.position({ my: definition.my, @@ -120,7 +120,8 @@ test( "positions", function() { }); test( "of", function() { - var within = $("#within-container"); + var event, + within = $( "#within-container" ); $( "#elx" ).position({ my: "left top", @@ -149,7 +150,7 @@ test( "of", function() { }); deepEqual( $( "#elx" ).addOffsets(), { top: addTop + 40, left: addLeft + 40 }, "DOM element" ); - var event = $.extend( $.Event( "someEvent" ), { pageX: 200, pageY: 300 } ); + event = $.extend( $.Event( "someEvent" ), { pageX: 200, pageY: 300 } ); $( "#elx" ).position({ my: "left top", at: "left top", @@ -219,9 +220,8 @@ test( "within:offsets", function() { test( "using", function() { expect( 6 ); - var within = $("#within-container"); - - var count = 0, + var within = $( "#within-container" ), + count = 0, elems = $( "#el1, #el2" ), expectedPosition = { top: addTop + 40, left: addLeft + 40 }, originalPosition = elems.position({ @@ -252,14 +252,13 @@ test( "using", function() { }); function collisionTest( config, result, msg ) { - var within = $("#within-container"); - - var elem = $( "#elx" ).position( $.extend({ - my: "left top", - at: "right bottom", - of: "#parentx", - within: within - }, config ) ); + var within = $( "#within-container" ), + elem = $( "#elx" ).position( $.extend({ + my: "left top", + at: "right bottom", + of: "#parentx", + within: within + }, config ) ); deepEqual( elem.addOffsets(), result, msg ); } @@ -448,39 +447,37 @@ test( "collision: flip, with margin", function() { }); test( "addClass: flipped left", function() { - var within = $("#within-container"); - - var elem = $( "#elx" ).position( { - my: "left center", - of: within[0], - within: within, - collision: "flip", - at: "right center" - }); + var within = $("#within-container"), + elem = $( "#elx" ).position( { + my: "left center", + of: within[0], + within: within, + collision: "flip", + at: "right center" + }); deepEqual( elem.hasClass( 'ui-flipped-left' ), false, 'Has ui-flipped-left class' ); - elem.position( { + elem.position({ my: "right center", of: within[0], within: within, collision: "flip", at: "left center" - }) + }); deepEqual( elem.hasClass( 'ui-flipped-left' ), false, 'Removed ui-flipped-left class' ); }); test( "addClass: flipped top", function() { - var within = $("#within-container"); - - var elem = $( "#elx" ).position( { - my: "left top", - of: within[0], - within: within, - collision: "flip", - at: "right bottom" - }); + var within = $("#within-container"), + elem = $( "#elx" ).position( { + my: "left top", + of: within[0], + within: within, + collision: "flip", + at: "right bottom" + }); deepEqual( elem.hasClass( 'ui-flipped-top' ), false, 'Has ui-flipped-top class' ); @@ -496,15 +493,14 @@ test( "addClass: flipped top", function() { }); test( "addClass: flipped right", function() { - var within = $("#within-container"); - - var elem = $( "#elx" ).position( { - my: "right center", - of: within[0], - within: within, - collision: "flip", - at: "left center" - }); + var within = $("#within-container"), + elem = $( "#elx" ).position( { + my: "right center", + of: within[0], + within: within, + collision: "flip", + at: "left center" + }); deepEqual( elem.hasClass( 'ui-flipped-right' ), false, 'Has ui-flipped-right class' ); @@ -521,14 +517,13 @@ test( "addClass: flipped right", function() { }); test( "addClass: flipped bottom", function() { - var within = $("#within-container"); - - var elem = $( "#elx" ).position( { - my: "left bottom", - of: window, - collision: "flip", - at: "right top" - }); + var within = $("#within-container"), + elem = $( "#elx" ).position( { + my: "left bottom", + of: window, + collision: "flip", + at: "right top" + }); deepEqual( elem.hasClass( 'ui-flipped-bottom' ), false, 'Has ui-flipped-bottom class' ); -- cgit v1.2.3 From 0a5a9090f827cd186ac486344327bcbb3901fd34 Mon Sep 17 00:00:00 2001 From: Scott González Date: Thu, 19 Apr 2012 10:27:06 -0400 Subject: Tests: Lint. --- grunt.js | 21 ++++++- tests/unit/dialog/dialog_core.js | 8 +-- tests/unit/dialog/dialog_events.js | 10 ++-- tests/unit/dialog/dialog_methods.js | 9 ++- tests/unit/dialog/dialog_options.js | 94 +++++++++++++++--------------- tests/unit/dialog/dialog_tickets.js | 21 +++---- tests/unit/draggable/draggable_core.js | 18 +++--- tests/unit/draggable/draggable_options.js | 79 +++++++++++-------------- tests/unit/droppable/droppable_core.js | 10 ++-- tests/unit/droppable/droppable_defaults.js | 28 ++++----- tests/unit/droppable/droppable_options.js | 4 -- 11 files changed, 155 insertions(+), 147 deletions(-) (limited to 'tests/unit') diff --git a/grunt.js b/grunt.js index bc9084e4d..7632a41ae 100644 --- a/grunt.js +++ b/grunt.js @@ -350,27 +350,46 @@ grunt.initConfig({ accordion_state: true, asyncTest: true, commonWidgetTests: true, + container: true, deepEqual: true, + d1: true, + d2: true, dlg: true, domEqual: true, drag: true, + dragged: true, el: true, equal: true, expect: true, Globalize: true, + heightAfter: true, + isNotOpen: true, + isOpen: true, menu_click: true, menu_log: true, + modal: true, module: true, + moved: true, notEqual: true, + offsetAfter: true, + offsetBefore: true, ok: true, QUnit: true, + restoreScroll: true, + shouldBeDroppable: true, + shouldmove: true, + shouldNotBeDroppable: true, + shouldnotmove: true, + shouldnotresize: true, + shouldresize: true, spinner_simulateKeyDownUp: true, start: true, strictEqual: true, stop: true, tabs_state: true, tabs_disabled: true, - test: true + test: true, + widthAfter: true } } }; diff --git a/tests/unit/dialog/dialog_core.js b/tests/unit/dialog/dialog_core.js index 4a671968e..5d7beb99b 100644 --- a/tests/unit/dialog/dialog_core.js +++ b/tests/unit/dialog/dialog_core.js @@ -40,8 +40,8 @@ function drag(handle, dx, dy) { function moved(dx, dy, msg) { msg = msg ? msg + "." : ""; - var actual = { left: Math.round(offsetAfter.left), top: Math.round(offsetAfter.top) }; - var expected = { left: Math.round(offsetBefore.left + dx), top: Math.round(offsetBefore.top + dy) }; + var actual = { left: Math.round(offsetAfter.left), top: Math.round(offsetAfter.top) }, + expected = { left: Math.round(offsetBefore.left + dx), top: Math.round(offsetBefore.top + dy) }; deepEqual(actual, expected, 'dragged[' + dragged.dx + ', ' + dragged.dy + '] ' + msg); } @@ -59,8 +59,8 @@ function shouldnotmove(why) { function resized(dw, dh, msg) { msg = msg ? msg + "." : ""; - var actual = { width: widthAfter, height: heightAfter }; - var expected = { width: widthBefore + dw, height: heightBefore + dh }; + var actual = { width: widthAfter, height: heightAfter }, + expected = { width: widthBefore + dw, height: heightBefore + dh }; deepEqual(actual, expected, 'resized[' + dragged.dx + ', ' + dragged.dy + '] ' + msg); } diff --git a/tests/unit/dialog/dialog_events.js b/tests/unit/dialog/dialog_events.js index 4b769bafc..85afa5a3b 100644 --- a/tests/unit/dialog/dialog_events.js +++ b/tests/unit/dialog/dialog_events.js @@ -63,7 +63,8 @@ test("dragStart", function() { test("drag", function() { expect(9); - var hasDragged = false; + var handle, + hasDragged = false; el = $('
    ').dialog({ drag: function(ev, ui) { @@ -83,7 +84,7 @@ test("drag", function() { ok(ui.position !== undefined, "ui.position in callback"); ok(ui.offset !== undefined, "ui.offset in callback"); }); - var handle = $(".ui-dialog-titlebar", dlg()); + handle = $(".ui-dialog-titlebar", dlg()); drag(handle, 50, 50); el.remove(); }); @@ -138,7 +139,8 @@ test("resizeStart", function() { test("resize", function() { expect(13); - var hasResized = false; + var handle, + hasResized = false; el = $('
    ').dialog({ resize: function(ev, ui) { @@ -162,7 +164,7 @@ test("resize", function() { ok(ui.position !== undefined, "ui.position in callback"); ok(ui.size !== undefined, "ui.size in callback"); }); - var handle = $(".ui-resizable-se", dlg()); + handle = $(".ui-resizable-se", dlg()); drag(handle, 50, 50); el.remove(); }); diff --git a/tests/unit/dialog/dialog_methods.js b/tests/unit/dialog/dialog_methods.js index 645baa9f5..1f84cd6b5 100644 --- a/tests/unit/dialog/dialog_methods.js +++ b/tests/unit/dialog/dialog_methods.js @@ -98,14 +98,17 @@ test("isOpen", function() { }); test("moveToTop", function() { - var expected = $('
    ').dialog(), + var d1, d2, dlg1, dlg2, + expected = $('
    ').dialog(), actual = expected.dialog('moveToTop'); equal(actual, expected, 'moveToTop is chainable'); - var d1 = $('
    ').dialog(), dlg1 = d1.parents('.ui-dialog'); + d1 = $('
    ').dialog(); + dlg1 = d1.parents('.ui-dialog'); d1.dialog('close'); d1.dialog('open'); - var d2 = $('
    ').dialog(), dlg2 = d2.parents('.ui-dialog'); + d2 = $('
    ').dialog(); + dlg2 = d2.parents('.ui-dialog'); d2.dialog('close'); d2.dialog('open'); ok(dlg1.css('zIndex') < dlg2.css('zIndex'), 'dialog 1 under dialog 2 before moveToTop method called'); diff --git a/tests/unit/dialog/dialog_options.js b/tests/unit/dialog/dialog_options.js index 10443892b..c071c1b09 100644 --- a/tests/unit/dialog/dialog_options.js +++ b/tests/unit/dialog/dialog_options.js @@ -20,7 +20,8 @@ test("autoOpen", function() { test("buttons", function() { expect(21); - var buttons = { + var btn, i, newButtons, + buttons = { "Ok": function(ev, ui) { ok(true, "button click fires callback"); equal(this, el[0], "context of callback"); @@ -34,10 +35,10 @@ test("buttons", function() { }; el = $('
    ').dialog({ buttons: buttons }); - var btn = $("button", dlg()); + btn = $("button", dlg()); equal(btn.length, 2, "number of buttons"); - var i = 0; + i = 0; $.each(buttons, function(key, val) { equal(btn.eq(i).text(), key, "text of button " + (i+1)); i++; @@ -48,7 +49,7 @@ test("buttons", function() { btn.trigger("click"); - var newButtons = { + newButtons = { "Close": function(ev, ui) { ok(true, "button click fires callback"); equal(this, el[0], "context of callback"); @@ -275,54 +276,54 @@ test("minWidth", function() { }); test("position, default center on window", function() { - var el = $('
    ').dialog(); - var dialog = el.dialog('widget'); - var offset = dialog.offset(); + var el = $('
    ').dialog(), + dialog = el.dialog('widget'), + offset = dialog.offset(); deepEqual(offset.left, Math.round($(window).width() / 2 - dialog.outerWidth() / 2) + $(window).scrollLeft()); deepEqual(offset.top, Math.round($(window).height() / 2 - dialog.outerHeight() / 2) + $(window).scrollTop()); el.remove(); }); test("position, top on window", function() { - var el = $('
    ').dialog({ position: "top" }); - var dialog = el.dialog('widget'); - var offset = dialog.offset(); + var el = $('
    ').dialog({ position: "top" }), + dialog = el.dialog('widget'), + offset = dialog.offset(); deepEqual(offset.left, Math.round($(window).width() / 2 - dialog.outerWidth() / 2) + $(window).scrollLeft()); deepEqual(offset.top, $(window).scrollTop()); el.remove(); }); test("position, left on window", function() { - var el = $('
    ').dialog({ position: "left" }); - var dialog = el.dialog('widget'); - var offset = dialog.offset(); + var el = $('
    ').dialog({ position: "left" }), + dialog = el.dialog('widget'), + offset = dialog.offset(); deepEqual(offset.left, 0); deepEqual(offset.top, Math.round($(window).height() / 2 - dialog.outerHeight() / 2) + $(window).scrollTop()); el.remove(); }); test("position, right bottom on window", function() { - var el = $('
    ').dialog({ position: "right bottom" }); - var dialog = el.dialog('widget'); - var offset = dialog.offset(); + var el = $('
    ').dialog({ position: "right bottom" }), + dialog = el.dialog('widget'), + offset = dialog.offset(); deepEqual(offset.left, $(window).width() - dialog.outerWidth() + $(window).scrollLeft()); deepEqual(offset.top, $(window).height() - dialog.outerHeight() + $(window).scrollTop()); el.remove(); }); test("position, right bottom on window w/array", function() { - var el = $('
    ').dialog({ position: ["right", "bottom"] }); - var dialog = el.dialog('widget'); - var offset = dialog.offset(); + var el = $('
    ').dialog({ position: ["right", "bottom"] }), + dialog = el.dialog('widget'), + offset = dialog.offset(); deepEqual(offset.left, $(window).width() - dialog.outerWidth() + $(window).scrollLeft()); deepEqual(offset.top, $(window).height() - dialog.outerHeight() + $(window).scrollTop()); el.remove(); }); test("position, offset from top left w/array", function() { - var el = $('
    ').dialog({ position: [10, 10] }); - var dialog = el.dialog('widget'); - var offset = dialog.offset(); + var el = $('
    ').dialog({ position: [10, 10] }), + dialog = el.dialog('widget'), + offset = dialog.offset(); deepEqual(offset.left, 10 + $(window).scrollLeft()); deepEqual(offset.top, 10 + $(window).scrollTop()); el.remove(); @@ -330,14 +331,13 @@ test("position, offset from top left w/array", function() { test("position, right bottom at right bottom via ui.position args", function() { var el = $('
    ').dialog({ - position: { - my: "right bottom", - at: "right bottom" - } - }); - - var dialog = el.dialog('widget'); - var offset = dialog.offset(); + position: { + my: "right bottom", + at: "right bottom" + } + }), + dialog = el.dialog('widget'), + offset = dialog.offset(); deepEqual(offset.left, $(window).width() - dialog.outerWidth() + $(window).scrollLeft()); deepEqual(offset.top, $(window).height() - dialog.outerHeight() + $(window).scrollTop()); @@ -346,23 +346,23 @@ test("position, right bottom at right bottom via ui.position args", function() { test("position, at another element", function() { var parent = $('
    ').css({ - position: 'absolute', - top: 400, - left: 600, - height: 10, - width: 10 - }).appendTo('body'); - - var el = $('
    ').dialog({ - position: { - my: "left top", - at: "left top", - of: parent - } - }); + position: 'absolute', + top: 400, + left: 600, + height: 10, + width: 10 + }).appendTo('body'), + + el = $('
    ').dialog({ + position: { + my: "left top", + at: "left top", + of: parent + } + }), - var dialog = el.dialog('widget'); - var offset = dialog.offset(); + dialog = el.dialog('widget'), + offset = dialog.offset(); deepEqual(offset.left, 600); deepEqual(offset.top, 400); @@ -373,7 +373,7 @@ test("position, at another element", function() { of: parent }); - var offset = dialog.offset(); + offset = dialog.offset(); deepEqual(offset.left, 610); deepEqual(offset.top, 410); diff --git a/tests/unit/dialog/dialog_tickets.js b/tests/unit/dialog/dialog_tickets.js index bd9056153..a169bd1a5 100644 --- a/tests/unit/dialog/dialog_tickets.js +++ b/tests/unit/dialog/dialog_tickets.js @@ -12,12 +12,6 @@ asyncTest( "#3123: Prevent tabbing out of modal dialogs", function() { inputs = el.find( "input" ), widget = el.dialog( "widget" ); - inputs.eq( 1 ).focus(); - equal( document.activeElement, inputs[1], "Focus set on second input" ); - inputs.eq( 1 ).simulate( "keydown", { keyCode: $.ui.keyCode.TAB }); - - setTimeout( checkTab, 2 ); - function checkTab() { ok( $.contains( widget, document.activeElement ), "Tab key event moved focus within the modal" ); @@ -32,14 +26,21 @@ asyncTest( "#3123: Prevent tabbing out of modal dialogs", function() { el.remove(); start(); } + + inputs.eq( 1 ).focus(); + equal( document.activeElement, inputs[1], "Focus set on second input" ); + inputs.eq( 1 ).simulate( "keydown", { keyCode: $.ui.keyCode.TAB }); + + setTimeout( checkTab, 2 ); }); test("#4826: setting resizable false toggles resizable on dialog", function() { expect(6); + var i; el = $('
    ').dialog({ resizable: false }); shouldnotresize("[default]"); - for (var i=0; i<2; i++) { + for (i=0; i<2; i++) { el.dialog('close').dialog('open'); shouldnotresize('initialized with resizable false toggle ('+ (i+1) +')'); } @@ -47,7 +48,7 @@ test("#4826: setting resizable false toggles resizable on dialog", function() { el = $('
    ').dialog({ resizable: true }); shouldresize("[default]"); - for (var i=0; i<2; i++) { + for (i=0; i<2; i++) { el.dialog('close').dialog('option', 'resizable', false).dialog('open'); shouldnotresize('set option resizable false toggle ('+ (i+1) +')'); } @@ -108,7 +109,7 @@ test("#6137: dialog('open') causes form elements to reset on IE7", function() { test("#6645: Missing element not found check in overlay", function(){ expect(2); d1 = $('
    Dialog 1
    ').dialog({modal: true}); - d2 = $('
    Dialog 2
    ').dialog({modal: true, close: function(){ d2.remove()}}); + d2 = $('
    Dialog 2
    ').dialog({modal: true, close: function(){ d2.remove(); }}); equal($.ui.dialog.overlay.instances.length, 2, 'two overlays created'); d2.dialog('close'); equal($.ui.dialog.overlay.instances.length, 1, 'one overlay remains after closing the 2nd overlay'); @@ -119,7 +120,7 @@ test("#6966: Escape key closes all dialogs, not the top one", function(){ expect(8); // test with close function removing dialog d1 = $('
    Dialog 1
    ').dialog({modal: true}); - d2 = $('
    Dialog 2
    ').dialog({modal: true, close: function(){ d2.remove()}}); + d2 = $('
    Dialog 2
    ').dialog({modal: true, close: function(){ d2.remove(); }}); ok(d1.dialog("isOpen"), 'first dialog is open'); ok(d2.dialog("isOpen"), 'second dialog is open'); d2.simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE}); diff --git a/tests/unit/draggable/draggable_core.js b/tests/unit/draggable/draggable_core.js index ba5bc4c66..9193881ad 100644 --- a/tests/unit/draggable/draggable_core.js +++ b/tests/unit/draggable/draggable_core.js @@ -4,7 +4,7 @@ var el, offsetBefore, offsetAfter, dragged; -var drag = function(handle, dx, dy) { +function drag(handle, dx, dy) { var element = el.data("draggable").element; offsetBefore = el.offset(); $(handle).simulate("drag", { @@ -15,10 +15,10 @@ var drag = function(handle, dx, dy) { offsetAfter = el.offset(); } -var moved = function (dx, dy, msg) { +function moved(dx, dy, msg) { msg = msg ? msg + "." : ""; - var actual = { left: offsetAfter.left, top: offsetAfter.top }; - var expected = { left: offsetBefore.left + dx, top: offsetBefore.top + dy }; + var actual = { left: offsetAfter.left, top: offsetAfter.top }, + expected = { left: offsetBefore.left + dx, top: offsetBefore.top + dy }; deepEqual(actual, expected, 'dragged[' + dragged.dx + ', ' + dragged.dy + '] ' + msg); } @@ -35,15 +35,15 @@ function restoreScroll(what) { module("draggable"); 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(','); + 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")); + (typeName === 'table' && el.append("content")); el.draggable({ cancel: '' }); drag(el, 50, 50); moved(50, 50, "<" + typeName + ">"); diff --git a/tests/unit/draggable/draggable_options.js b/tests/unit/draggable/draggable_options.js index d5f85feab..464e025dd 100644 --- a/tests/unit/draggable/draggable_options.js +++ b/tests/unit/draggable/draggable_options.js @@ -17,15 +17,16 @@ function setScroll(what) { } } -var border = function(el, side) { return parseInt(el.css('border-' + side + '-width')); } - -var margin = function(el, side) { return parseInt(el.css('margin-' + side)); } +function border(el, side) { + return parseInt(el.css('border-' + side + '-width'), 10); +} +function margin(el, side) { + return parseInt(el.css('margin-' + side), 10); +} module("draggable: options"); test("{ addClasses: true }, default", function() { - equal(draggable_defaults.addClasses, true); - el = $("
    ").draggable({ addClasses: true }); ok(el.is(".ui-draggable"), "'ui-draggable' class added"); @@ -40,8 +41,6 @@ test("{ addClasses: false }", function() { }); test("{ appendTo: 'parent' }, default", function() { - equal(draggable_defaults.appendTo, "parent"); - el = $("#draggable2").draggable({ appendTo: 'parent' }); drag(el, 50, 50); moved(50, 50); @@ -73,8 +72,6 @@ test("{ appendTo: Selector }", function() { }); test("{ axis: false }, default", function() { - equal(draggable_defaults.axis, false); - el = $("#draggable2").draggable({ axis: false }); drag(el, 50, 50); moved(50, 50); @@ -106,12 +103,10 @@ test("{ axis: ? }, unexpected", function() { drag(el, 50, 50); moved(50, 50, "axis: " + key); el.draggable("destroy"); - }) + }); }); test("{ cancel: ':input,option' }, default", function() { - equal(draggable_defaults.cancel, ":input,option"); - $('
    ').appendTo('#main'); el = $("#draggable-option-cancel-default").draggable({ cancel: ":input,option" }); @@ -155,12 +150,10 @@ test("{ cancel: ? }, unexpected", function() { var expected = [50, 50]; moved(expected[0], expected[1], "cancel: " + key); el.draggable("destroy"); - }) + }); }); test("{ containment: false }, default", function() { - equal(draggable_defaults.containment, false); - ok(false, 'missing test - untested code is broken code'); }); @@ -170,23 +163,25 @@ test("{ containment: Element }", function() { test("{ containment: 'parent' }, relative", function() { el = $("#draggable1").draggable({ containment: 'parent' }); - var p = el.parent(), po = p.offset(); + var p = el.parent(), + po = p.offset(), + expected = { + left: po.left + border(p, 'left') + margin(el, 'left'), + top: po.top + border(p, 'top') + margin(el, 'top') + }; drag(el, -100, -100); - var expected = { - left: po.left + border(p, 'left') + margin(el, 'left'), - top: po.top + border(p, 'top') + margin(el, 'top') - } deepEqual(offsetAfter, expected, 'compare offset to parent'); }); test("{ containment: 'parent' }, absolute", function() { el = $("#draggable2").draggable({ containment: 'parent' }); - var p = el.parent(), po = p.offset(); + var p = el.parent(), + po = p.offset(), + expected = { + left: po.left + border(p, 'left') + margin(el, 'left'), + top: po.top + border(p, 'top') + margin(el, 'top') + }; drag(el, -100, -100); - var expected = { - left: po.left + border(p, 'left') + margin(el, 'left'), - top: po.top + border(p, 'top') + margin(el, 'top') - } deepEqual(offsetAfter, expected, 'compare offset to parent'); }); @@ -207,11 +202,9 @@ test("{ containment: [x1, y1, x2, y2] }", function() { }); test("{ cursor: 'auto' }, default", function() { - equal(draggable_defaults.cursor, 'auto'); - function getCursor() { return $("#draggable2").css("cursor"); } - expect(3); + expect(2); var expected = "auto", actual, before, after; @@ -256,8 +249,6 @@ test("{ cursor: 'move' }", function() { }); test("{ cursorAt: false}, default", function() { - equal(draggable_defaults.cursorAt, false); - ok(false, 'missing test - untested code is broken code'); }); @@ -611,8 +602,8 @@ test("{ helper: 'original' }, fixed, with scroll offset on root and parent", fun test("{ helper: 'clone' }, absolute", function() { - var helperOffset = null; - var origOffset = $("#draggable1").offset(); + var helperOffset = null, + origOffset = $("#draggable1").offset(); el = $("#draggable1").draggable({ helper: "clone", drag: function(event, ui) { helperOffset = ui.helper.offset(); @@ -626,8 +617,8 @@ test("{ helper: 'clone' }, absolute", function() { test("{ helper: 'clone' }, absolute with scroll offset on parent", function() { setScroll(); - var helperOffset = null; - var origOffset = null; + var helperOffset = null, + origOffset = null; el = $("#draggable1").draggable({ helper: "clone", drag: function(event, ui) { helperOffset = ui.helper.offset(); @@ -655,8 +646,8 @@ test("{ helper: 'clone' }, absolute with scroll offset on parent", function() { test("{ helper: 'clone' }, absolute with scroll offset on root", function() { setScroll('root'); - var helperOffset = null; - var origOffset = null; + var helperOffset = null, + origOffset = null; el = $("#draggable1").draggable({ helper: "clone", drag: function(event, ui) { helperOffset = ui.helper.offset(); @@ -685,25 +676,25 @@ test("{ helper: 'clone' }, absolute with scroll offset on root and parent", func setScroll('root'); setScroll(); - var helperOffset = null; - var origOffset = null; + var helperOffset = null, + origOffset = null; el = $("#draggable1").draggable({ helper: "clone", drag: function(event, ui) { helperOffset = ui.helper.offset(); } }); $("#main").css('position', 'relative'); - origOffset = $("#draggable1").offset() + origOffset = $("#draggable1").offset(); drag(el, 1, 1); deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[' + dragged.dx + ', ' + dragged.dy + '] '); $("#main").css('position', 'static'); - origOffset = $("#draggable1").offset() + origOffset = $("#draggable1").offset(); drag(el, 1, 1); deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[' + dragged.dx + ', ' + dragged.dy + '] '); $("#main").css('position', 'absolute'); - origOffset = $("#draggable1").offset() + origOffset = $("#draggable1").offset(); drag(el, 1, 1); deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[' + dragged.dx + ', ' + dragged.dy + '] '); @@ -734,9 +725,9 @@ test("{ zIndex: 10 }", function() { expect(1); - var expected = 10, actual; - - var zIndex = null; + var actual, + expected = 10, + zIndex = null; el = $("#draggable2").draggable({ zIndex: expected, start: function(event, ui) { diff --git a/tests/unit/droppable/droppable_core.js b/tests/unit/droppable/droppable_core.js index 4d82017b9..3f709d25d 100644 --- a/tests/unit/droppable/droppable_core.js +++ b/tests/unit/droppable/droppable_core.js @@ -17,15 +17,15 @@ function shouldNotBeDroppable() { 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(','); + 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")); + (typeName === 'table' && el.append("content")); el.droppable(); shouldBeDroppable(); el.droppable("destroy"); diff --git a/tests/unit/droppable/droppable_defaults.js b/tests/unit/droppable/droppable_defaults.js index 7584f5ec8..5a1a4198c 100644 --- a/tests/unit/droppable/droppable_defaults.js +++ b/tests/unit/droppable/droppable_defaults.js @@ -1,16 +1,12 @@ -/* - * droppable_defaults.js - */ - -var droppable_defaults = { - accept: '*', - activeClass: false, - addClasses: true, - disabled: false, - greedy: false, - hoverClass: false, - scope: "default", - tolerance: "intersect" -}; - -commonWidgetTests('droppable', { defaults: droppable_defaults }); +commonWidgetTests( "droppable", { + defaults: { + accept: "*", + activeClass: false, + addClasses: true, + disabled: false, + greedy: false, + hoverClass: false, + scope: "default", + tolerance: "intersect" + } +}); diff --git a/tests/unit/droppable/droppable_options.js b/tests/unit/droppable/droppable_options.js index 4df2d9ecb..19295778b 100644 --- a/tests/unit/droppable/droppable_options.js +++ b/tests/unit/droppable/droppable_options.js @@ -6,8 +6,6 @@ module("droppable: options"); test("{ accept '*' }, default ", function() { - equal(droppable_defaults.accept, '*'); - ok(false, 'missing test - untested code is broken code'); }); @@ -24,8 +22,6 @@ test("activeClass", function() { }); test("{ addClasses: true }, default", function() { - equal(droppable_defaults.addClasses, true); - el = $("
    ").droppable({ addClasses: true }); ok(el.is(".ui-droppable"), "'ui-droppable' class added"); el.droppable("destroy"); -- cgit v1.2.3 From af1b4d859d9563e43896d76086e1e9ebbb3ab74b Mon Sep 17 00:00:00 2001 From: Scott González Date: Thu, 19 Apr 2012 10:50:09 -0400 Subject: Tests: Lint. --- grunt.js | 2 + tests/unit/accordion/accordion_core.js | 14 +++--- tests/unit/accordion/accordion_deprecated.js | 28 +++++------ tests/unit/accordion/accordion_events.js | 20 ++++---- tests/unit/accordion/accordion_options.js | 66 +++++++++++++------------- tests/unit/accordion/accordion_test_helpers.js | 4 +- tests/unit/autocomplete/autocomplete_events.js | 2 +- tests/unit/button/button_core.js | 11 +++-- tests/unit/button/button_methods.js | 4 +- 9 files changed, 77 insertions(+), 74 deletions(-) (limited to 'tests/unit') diff --git a/grunt.js b/grunt.js index 7632a41ae..48be599b7 100644 --- a/grunt.js +++ b/grunt.js @@ -347,6 +347,8 @@ grunt.initConfig({ }, defaults ), // TODO: don't create so many globals in tests globals: { + accordion_equalHeights: true, + accordion_setupTeardown: true, accordion_state: true, asyncTest: true, commonWidgetTests: true, diff --git a/tests/unit/accordion/accordion_core.js b/tests/unit/accordion/accordion_core.js index 92d79c121..b08a5caea 100644 --- a/tests/unit/accordion/accordion_core.js +++ b/tests/unit/accordion/accordion_core.js @@ -27,9 +27,9 @@ test( "handle click on header-descendant", function() { test( "accessibility", function () { expect( 37 ); var element = $( "#list1" ).accordion({ - active: 1 - }); - var headers = element.find( ".ui-accordion-header" ); + active: 1 + }), + headers = element.find( ".ui-accordion-header" ); equal( element.attr( "role" ), "tablist", "element role" ); headers.each(function( i ) { @@ -85,22 +85,22 @@ asyncTest( "keybaord support", function() { ok( headers.eq( 2 ).is( ".ui-state-focus" ), "RIGHT moves focus to next header" ); headers.eq( 2 ).simulate( "keydown", { keyCode: keyCode.DOWN } ); ok( headers.eq( 0 ).is( ".ui-state-focus" ), "DOWN wraps focus to first header" ); - + headers.eq( 0 ).simulate( "keydown", { keyCode: keyCode.UP } ); ok( headers.eq( 2 ).is( ".ui-state-focus" ), "UP wraps focus to last header" ); headers.eq( 2 ).simulate( "keydown", { keyCode: keyCode.LEFT } ); ok( headers.eq( 1 ).is( ".ui-state-focus" ), "LEFT moves focus to previous header" ); - + headers.eq( 1 ).simulate( "keydown", { keyCode: keyCode.HOME } ); ok( headers.eq( 0 ).is( ".ui-state-focus" ), "HOME moves focus to first header" ); headers.eq( 0 ).simulate( "keydown", { keyCode: keyCode.END } ); ok( headers.eq( 2 ).is( ".ui-state-focus" ), "END moves focus to last header" ); - + headers.eq( 2 ).simulate( "keydown", { keyCode: keyCode.ENTER } ); equal( element.accordion( "option", "active" ) , 2, "ENTER activates panel" ); headers.eq( 1 ).simulate( "keydown", { keyCode: keyCode.SPACE } ); equal( element.accordion( "option", "active" ), 1, "SPACE activates panel" ); - + anchor.simulate( "focus" ); setTimeout(function() { ok( !headers.eq( 1 ).is( ".ui-state-focus" ), "header loses focus when focusing inside the panel" ); diff --git a/tests/unit/accordion/accordion_deprecated.js b/tests/unit/accordion/accordion_deprecated.js index eec034e18..47180e785 100644 --- a/tests/unit/accordion/accordion_deprecated.js +++ b/tests/unit/accordion/accordion_deprecated.js @@ -110,8 +110,8 @@ test( "{ autoHeight: true }, default", function() { test( "{ autoHeight: false }", function() { expect( 3 ); - var element = $( "#navigation" ).accordion({ autoHeight: false }); - var sizes = []; + var element = $( "#navigation" ).accordion({ autoHeight: false }), + sizes = []; element.find( ".ui-accordion-content" ).each(function() { sizes.push( $(this).height() ); }); @@ -220,7 +220,7 @@ test( "{ navigation: true, navigationFilter: header }", function() { var element = $( "#navigation" ).accordion({ navigation: true, navigationFilter: function() { - return /\?p=1\.1\.3$/.test( this.href ); + return (/\?p=1\.1\.3$/).test( this.href ); } }); equal( element.accordion( "option", "active" ), 2 ); @@ -232,7 +232,7 @@ test( "{ navigation: true, navigationFilter: content }", function() { var element = $( "#navigation" ).accordion({ navigation: true, navigationFilter: function() { - return /\?p=1\.1\.3\.2$/.test( this.href ); + return (/\?p=1\.1\.3\.2$/).test( this.href ); } }); equal( element.accordion( "option", "active" ), 2 ); @@ -248,11 +248,11 @@ module( "accordion (deprecated) - changestart/change events", accordion_setupTea test( "changestart", function() { expect( 26 ); var element = $( "#list1" ).accordion({ - active: false, - collapsible: true - }); - var headers = element.find( ".ui-accordion-header" ); - var content = element.find( ".ui-accordion-content" ); + active: false, + collapsible: true + }), + headers = element.find( ".ui-accordion-header" ), + content = element.find( ".ui-accordion-content" ); element.one( "accordionchangestart", function( event, ui ) { equal( ui.oldHeader.size(), 0 ); @@ -296,11 +296,11 @@ test( "changestart", function() { test( "change", function() { expect( 20 ); var element = $( "#list1" ).accordion({ - active: false, - collapsible: true - }); - var headers = element.find( ".ui-accordion-header" ); - var content = element.find( ".ui-accordion-content" ); + active: false, + collapsible: true + }), + headers = element.find( ".ui-accordion-header" ), + content = element.find( ".ui-accordion-content" ); element.one( "accordionchange", function( event, ui ) { equal( ui.oldHeader.size(), 0 ); diff --git a/tests/unit/accordion/accordion_events.js b/tests/unit/accordion/accordion_events.js index dbb3e37df..7e3d1f8d0 100644 --- a/tests/unit/accordion/accordion_events.js +++ b/tests/unit/accordion/accordion_events.js @@ -44,11 +44,11 @@ test( "create", function() { test( "beforeActivate", function() { expect( 38 ); var element = $( "#list1" ).accordion({ - active: false, - collapsible: true - }); - var headers = element.find( ".ui-accordion-header" ); - var content = element.find( ".ui-accordion-content" ); + active: false, + collapsible: true + }), + headers = element.find( ".ui-accordion-header" ), + content = element.find( ".ui-accordion-content" ); element.one( "accordionbeforeactivate", function( event, ui ) { ok( !( "originalEvent" in event ) ); @@ -109,11 +109,11 @@ test( "beforeActivate", function() { test( "activate", function() { expect( 21 ); var element = $( "#list1" ).accordion({ - active: false, - collapsible: true - }); - var headers = element.find( ".ui-accordion-header" ); - var content = element.find( ".ui-accordion-content" ); + active: false, + collapsible: true + }), + headers = element.find( ".ui-accordion-header" ), + content = element.find( ".ui-accordion-content" ); element.one( "accordionactivate", function( event, ui ) { equal( ui.oldHeader.size(), 0 ); diff --git a/tests/unit/accordion/accordion_options.js b/tests/unit/accordion/accordion_options.js index 2b7176394..a29c7f07d 100644 --- a/tests/unit/accordion/accordion_options.js +++ b/tests/unit/accordion/accordion_options.js @@ -80,7 +80,7 @@ test( "{ animate: false }", function() { var element = $( "#list1" ).accordion({ animate: false }), - panels = element.find( ".ui-accordion-content" ); + panels = element.find( ".ui-accordion-content" ), animate = $.fn.animate; $.fn.animate = function() { ok( false, ".animate() called" ); @@ -98,7 +98,7 @@ asyncTest( "{ animate: Number }", function() { var element = $( "#list1" ).accordion({ animate: 100 }), - panels = element.find( ".ui-accordion-content" ); + panels = element.find( ".ui-accordion-content" ), animate = $.fn.animate; // called twice (both panels) $.fn.animate = function( props, duration, easing ) { @@ -120,10 +120,10 @@ asyncTest( "{ animate: Number }", function() { asyncTest( "{ animate: String }", function() { expect( 7 ); var element = $( "#list1" ).accordion({ - animate: "linear" - }), - panels = element.find( ".ui-accordion-content" ); - animate = $.fn.animate; + animate: "linear" + }), + panels = element.find( ".ui-accordion-content" ), + animate = $.fn.animate; // called twice (both panels) $.fn.animate = function( props, duration, easing ) { equal( duration, undefined, "default duration" ); @@ -144,10 +144,10 @@ asyncTest( "{ animate: String }", function() { asyncTest( "{ animate: {} }", function() { expect( 7 ); var element = $( "#list1" ).accordion({ - animate: {} - }), - panels = element.find( ".ui-accordion-content" ); - animate = $.fn.animate; + animate: {} + }), + panels = element.find( ".ui-accordion-content" ), + animate = $.fn.animate; // called twice (both panels) $.fn.animate = function( props, duration, easing ) { equal( duration, undefined, "default duration" ); @@ -168,10 +168,10 @@ asyncTest( "{ animate: {} }", function() { asyncTest( "{ animate: { duration, easing } }", function() { expect( 7 ); var element = $( "#list1" ).accordion({ - animate: { duration: 100, easing: "linear" } - }), - panels = element.find( ".ui-accordion-content" ); - animate = $.fn.animate; + animate: { duration: 100, easing: "linear" } + }), + panels = element.find( ".ui-accordion-content" ), + animate = $.fn.animate; // called twice (both panels) $.fn.animate = function( props, duration, easing ) { equal( duration, 100, "correct duration" ); @@ -192,11 +192,11 @@ asyncTest( "{ animate: { duration, easing } }", function() { asyncTest( "{ animate: { duration, easing } }, animate down", function() { expect( 7 ); var element = $( "#list1" ).accordion({ - active: 1, - animate: { duration: 100, easing: "linear" } - }), - panels = element.find( ".ui-accordion-content" ); - animate = $.fn.animate; + active: 1, + animate: { duration: 100, easing: "linear" } + }), + panels = element.find( ".ui-accordion-content" ), + animate = $.fn.animate; // called twice (both panels) $.fn.animate = function( props, duration, easing ) { equal( duration, 100, "correct duration" ); @@ -217,17 +217,17 @@ asyncTest( "{ animate: { duration, easing } }, animate down", function() { asyncTest( "{ animate: { duration, easing, down } }, animate down", function() { expect( 7 ); var element = $( "#list1" ).accordion({ - active: 1, - animate: { - duration: 100, - easing: "linear", - down: { - easing: "swing" + active: 1, + animate: { + duration: 100, + easing: "linear", + down: { + easing: "swing" + } } - } - }), - panels = element.find( ".ui-accordion-content" ); - animate = $.fn.animate; + }), + panels = element.find( ".ui-accordion-content" ), + animate = $.fn.animate; // called twice (both panels) $.fn.animate = function( props, duration, easing ) { equal( duration, 100, "correct duration" ); @@ -360,10 +360,10 @@ test( "{ heightStyle: 'auto' }", function() { test( "{ heightStyle: 'content' }", function() { expect( 3 ); - var element = $( "#navigation" ).accordion({ heightStyle: "content" }); - var sizes = element.find( ".ui-accordion-content" ).map(function() { - return $( this ).height(); - }).get(); + var element = $( "#navigation" ).accordion({ heightStyle: "content" }), + sizes = element.find( ".ui-accordion-content" ).map(function() { + return $( this ).height(); + }).get(); ok( sizes[ 0 ] >= 70 && sizes[ 0 ] <= 105, "was " + sizes[ 0 ] ); ok( sizes[ 1 ] >= 98 && sizes[ 1 ] <= 126, "was " + sizes[ 1 ] ); ok( sizes[ 2 ] >= 42 && sizes[ 2 ] <= 54, "was " + sizes[ 2 ] ); diff --git a/tests/unit/accordion/accordion_test_helpers.js b/tests/unit/accordion/accordion_test_helpers.js index 542809ea0..889608fba 100644 --- a/tests/unit/accordion/accordion_test_helpers.js +++ b/tests/unit/accordion/accordion_test_helpers.js @@ -1,6 +1,6 @@ function accordion_state( accordion ) { - var expected = $.makeArray( arguments ).slice( 1 ); - var actual = accordion.find( ".ui-accordion-content" ).map(function() { + var expected = $.makeArray( arguments ).slice( 1 ), + actual = accordion.find( ".ui-accordion-content" ).map(function() { return $( this ).css( "display" ) === "none" ? 0 : 1; }).get(); QUnit.push( QUnit.equiv(actual, expected), actual, expected ); diff --git a/tests/unit/autocomplete/autocomplete_events.js b/tests/unit/autocomplete/autocomplete_events.js index 1c7ff7462..082263a35 100644 --- a/tests/unit/autocomplete/autocomplete_events.js +++ b/tests/unit/autocomplete/autocomplete_events.js @@ -123,7 +123,7 @@ asyncTest( "cancel search", function() { asyncTest( "cancel focus", function() { expect( 1 ); - var customVal = "custom value"; + var customVal = "custom value", element = $( "#autocomplete" ).autocomplete({ delay: 0, source: data, diff --git a/tests/unit/button/button_core.js b/tests/unit/button/button_core.js index c110b4311..0d93ecedf 100644 --- a/tests/unit/button/button_core.js +++ b/tests/unit/button/button_core.js @@ -8,7 +8,7 @@ module("button: core"); test("checkbox", function() { - var input = $("#check"); + var input = $("#check"), label = $("label[for=check]"); ok( input.is(":visible") ); ok( label.is(":not(.ui-button)") ); @@ -18,7 +18,7 @@ test("checkbox", function() { }); test("radios", function() { - var inputs = $("#radio0 input"); + var inputs = $("#radio0 input"), labels = $("#radio0 label"); ok( inputs.is(":visible") ); ok( labels.is(":not(.ui-button)") ); @@ -51,7 +51,7 @@ test("radio groups", function() { }); test("input type submit, don't create child elements", function() { - var input = $("#submit") + var input = $("#submit"); deepEqual( input.children().length, 0 ); input.button(); deepEqual( input.children().length, 0 ); @@ -68,11 +68,12 @@ test("buttonset", function() { }); test("buttonset (rtl)", function() { - var parent = $("#radio1").parent(); + var set, + parent = $("#radio1").parent(); // Set to rtl parent.attr("dir", "rtl"); - var set = $("#radio1").buttonset(); + set = $("#radio1").buttonset(); ok( set.is(".ui-buttonset") ); deepEqual( set.children(".ui-button").length, 3 ); deepEqual( set.children("input:radio.ui-helper-hidden-accessible").length, 3 ); diff --git a/tests/unit/button/button_methods.js b/tests/unit/button/button_methods.js index a83a73ba4..347806d4e 100644 --- a/tests/unit/button/button_methods.js +++ b/tests/unit/button/button_methods.js @@ -7,8 +7,8 @@ module("button: methods"); test("destroy", function() { - var beforeHtml = $("#button").parent().html(); - var afterHtml = $("#button").button().button("destroy").parent().html(); + var beforeHtml = $("#button").parent().html(), + afterHtml = $("#button").button().button("destroy").parent().html(); // Opera 9 outputs role="" instead of removing the attribute like everyone else if ($.browser.opera) { afterHtml = afterHtml.replace(/ role=""/g, ""); -- cgit v1.2.3 From 266cc84013c7c4d57771b2e4d0cdac3763a6764b Mon Sep 17 00:00:00 2001 From: Scott González Date: Thu, 19 Apr 2012 11:17:35 -0400 Subject: Tests: Lint. --- grunt.js | 4 + tests/unit/datepicker/datepicker_core.js | 80 +++++----- tests/unit/datepicker/datepicker_events.js | 17 +- tests/unit/datepicker/datepicker_methods.js | 34 ++-- tests/unit/datepicker/datepicker_options.js | 231 ++++++++++++++-------------- tests/unit/datepicker/datepicker_tickets.js | 14 +- 6 files changed, 191 insertions(+), 189 deletions(-) (limited to 'tests/unit') diff --git a/grunt.js b/grunt.js index 48be599b7..07bd7a6ed 100644 --- a/grunt.js +++ b/grunt.js @@ -350,6 +350,7 @@ grunt.initConfig({ accordion_equalHeights: true, accordion_setupTeardown: true, accordion_state: true, + addMonths: true, asyncTest: true, commonWidgetTests: true, container: true, @@ -362,9 +363,11 @@ grunt.initConfig({ dragged: true, el: true, equal: true, + equalsDate: true, expect: true, Globalize: true, heightAfter: true, + init: true, isNotOpen: true, isOpen: true, menu_click: true, @@ -376,6 +379,7 @@ grunt.initConfig({ offsetAfter: true, offsetBefore: true, ok: true, + PROP_NAME: true, QUnit: true, restoreScroll: true, shouldBeDroppable: true, diff --git a/tests/unit/datepicker/datepicker_core.js b/tests/unit/datepicker/datepicker_core.js index bbc447ffe..4bf04d83e 100644 --- a/tests/unit/datepicker/datepicker_core.js +++ b/tests/unit/datepicker/datepicker_core.js @@ -53,52 +53,52 @@ test("widget method", function() { }); test('baseStructure', function() { - var inp = init('#inp'); - inp.focus(); - var dp = $('#ui-datepicker-div'); - var iframe = ($.browser.msie && parseInt($.browser.version) < 7); + var header, title, table, thead, week, panel, inl, child, + inp = init('#inp').focus(), + dp = $('#ui-datepicker-div'), + iframe = ($.browser.msie && parseInt($.browser.version, 10) < 7); ok(dp.is(':visible'), 'Structure - datepicker visible'); ok(!dp.is('.ui-datepicker-rtl'), 'Structure - not right-to-left'); ok(!dp.is('.ui-datepicker-multi'), 'Structure - not multi-month'); equal(dp.children().length, 2 + (iframe ? 1 : 0), 'Structure - child count'); - var header = dp.children(':first'); + header = dp.children(':first'); ok(header.is('div.ui-datepicker-header'), 'Structure - header division'); equal(header.children().length, 3, 'Structure - header child count'); - ok(header.children(':first').is('a.ui-datepicker-prev') && header.children(':first').html() != '', 'Structure - prev link'); - ok(header.children(':eq(1)').is('a.ui-datepicker-next') && header.children(':eq(1)').html() != '', 'Structure - next link'); + ok(header.children(':first').is('a.ui-datepicker-prev') && header.children(':first').html() !== '', 'Structure - prev link'); + ok(header.children(':eq(1)').is('a.ui-datepicker-next') && header.children(':eq(1)').html() !== '', 'Structure - next link'); - var title = header.children(':last'); - ok(title.is('div.ui-datepicker-title') && title.html() != '','Structure - title division'); + title = header.children(':last'); + ok(title.is('div.ui-datepicker-title') && title.html() !== '','Structure - title division'); equal(title.children().length, 2, 'Structure - title child count'); - ok(title.children(':first').is('span.ui-datepicker-month') && title.children(':first').text() != '', 'Structure - month text') - ok(title.children(':last').is('span.ui-datepicker-year') && title.children(':last').text() != '', 'Structure - year text') + ok(title.children(':first').is('span.ui-datepicker-month') && title.children(':first').text() !== '', 'Structure - month text'); + ok(title.children(':last').is('span.ui-datepicker-year') && title.children(':last').text() !== '', 'Structure - year text'); - var table = dp.children(':eq(1)'); + table = dp.children(':eq(1)'); ok(table.is('table.ui-datepicker-calendar'), 'Structure - month table'); ok(table.children(':first').is('thead'), 'Structure - month table thead'); - var thead = table.children(':first').children(':first'); + thead = table.children(':first').children(':first'); ok(thead.is('tr'), 'Structure - month table title row'); equal(thead.find('th').length, 7, 'Structure - month table title cells'); ok(table.children(':eq(1)').is('tbody'), 'Structure - month table body'); ok(table.children(':eq(1)').children('tr').length >= 4, 'Structure - month table week count'); - var week = table.children(':eq(1)').children(':first'); + week = table.children(':eq(1)').children(':first'); ok(week.is('tr'), 'Structure - month table week row'); equal(week.children().length, 7, 'Structure - week child count'); ok(week.children(':first').is('td.ui-datepicker-week-end'), 'Structure - month table first day cell'); ok(week.children(':last').is('td.ui-datepicker-week-end'), 'Structure - month table second day cell'); - ok(dp.children('iframe').length == (iframe ? 1 : 0), 'Structure - iframe'); + ok(dp.children('iframe').length === (iframe ? 1 : 0), 'Structure - iframe'); inp.datepicker('hide').datepicker('destroy'); // Editable month/year and button panel inp = init('#inp', {changeMonth: true, changeYear: true, showButtonPanel: true}); inp.focus(); - var title = dp.find('div.ui-datepicker-title'); + title = dp.find('div.ui-datepicker-title'); ok(title.children(':first').is('select.ui-datepicker-month'), 'Structure - month selector'); ok(title.children(':last').is('select.ui-datepicker-year'), 'Structure - year selector'); - var panel = dp.children(':last'); + panel = dp.children(':last'); ok(panel.is('div.ui-datepicker-buttonpane'), 'Structure - button panel division'); equal(panel.children().length, 2, 'Structure - button panel child count'); ok(panel.children(':first').is('button.ui-datepicker-current'), 'Structure - today button'); @@ -110,7 +110,7 @@ test('baseStructure', function() { inp.focus(); ok(dp.is('.ui-datepicker-multi'), 'Structure multi [2] - multi-month'); equal(dp.children().length, 3 + (iframe ? 1 : 0), 'Structure multi [2] - child count'); - var child = dp.children(':first'); + child = dp.children(':first'); ok(child.is('div.ui-datepicker-group') && child.is('div.ui-datepicker-group-first'), 'Structure multi [2] - first month division'); child = dp.children(':eq(1)'); ok(child.is('div.ui-datepicker-group') && child.is('div.ui-datepicker-group-last'), 'Structure multi [2] - second month division'); @@ -146,16 +146,16 @@ test('baseStructure', function() { inp.datepicker('hide').datepicker('destroy'); // Inline - var inl = init('#inl'); + inl = init('#inl'); dp = inl.children(); ok(dp.is('.ui-datepicker-inline'), 'Structure inline - main div'); ok(!dp.is('.ui-datepicker-rtl'), 'Structure inline - not right-to-left'); ok(!dp.is('.ui-datepicker-multi'), 'Structure inline - not multi-month'); equal(dp.children().length, 2, 'Structure inline - child count'); - var header = dp.children(':first'); + header = dp.children(':first'); ok(header.is('div.ui-datepicker-header'), 'Structure inline - header division'); equal(header.children().length, 3, 'Structure inline - header child count'); - var table = dp.children(':eq(1)'); + table = dp.children(':eq(1)'); ok(table.is('table.ui-datepicker-calendar'), 'Structure inline - month table'); ok(table.children(':first').is('thead'), 'Structure inline - month table thead'); ok(table.children(':eq(1)').is('tbody'), 'Structure inline - month table body'); @@ -176,19 +176,20 @@ test('baseStructure', function() { }); test('customStructure', function() { - var dp = $('#ui-datepicker-div'); - // Check right-to-left localisation - var inp = init('#inp', $.datepicker.regional['he']); + var iframe, header, panel, title, thead, + dp = $('#ui-datepicker-div'), + // Check right-to-left localisation + inp = init('#inp', $.datepicker.regional.he); inp.data('showButtonPanel.datepicker',true); inp.focus(); - var iframe = ($.browser.msie && parseInt($.browser.version) < 7); + iframe = ($.browser.msie && parseInt($.browser.version, 10) < 7); ok(dp.is('.ui-datepicker-rtl'), 'Structure RTL - right-to-left'); - var header = dp.children(':first'); + header = dp.children(':first'); ok(header.is('div.ui-datepicker-header'), 'Structure RTL - header division'); equal(header.children().length, 3, 'Structure RTL - header child count'); ok(header.children(':first').is('a.ui-datepicker-next'), 'Structure RTL - prev link'); ok(header.children(':eq(1)').is('a.ui-datepicker-prev'), 'Structure RTL - next link'); - var panel = dp.children(':last'); + panel = dp.children(':last'); ok(panel.is('div.ui-datepicker-buttonpane'), 'Structure RTL - button division'); equal(panel.children().length, 2, 'Structure RTL - button panel child count'); ok(panel.children(':first').is('button.ui-datepicker-close'), 'Structure RTL - close button'); @@ -198,7 +199,7 @@ test('customStructure', function() { // Hide prev/next inp = init('#inp', {hideIfNoPrevNext: true, minDate: new Date(2008, 2 - 1, 4), maxDate: new Date(2008, 2 - 1, 14)}); inp.val('02/10/2008').focus(); - var header = dp.children(':first'); + header = dp.children(':first'); ok(header.is('div.ui-datepicker-header'), 'Structure hide prev/next - header division'); equal(header.children().length, 1, 'Structure hide prev/next - links child count'); ok(header.children(':first').is('div.ui-datepicker-title'), 'Structure hide prev/next - title division'); @@ -207,7 +208,7 @@ test('customStructure', function() { // Changeable Month with read-only year inp = init('#inp', {changeMonth: true}); inp.focus(); - var title = dp.children(':first').children(':last'); + title = dp.children(':first').children(':last'); equal(title.children().length, 2, 'Structure changeable month - title child count'); ok(title.children(':first').is('select.ui-datepicker-month'), 'Structure changeable month - month selector'); ok(title.children(':last').is('span.ui-datepicker-year'), 'Structure changeable month - read-only year'); @@ -216,7 +217,7 @@ test('customStructure', function() { // Changeable year with read-only month inp = init('#inp', {changeYear: true}); inp.focus(); - var title = dp.children(':first').children(':last'); + title = dp.children(':first').children(':last'); equal(title.children().length, 2, 'Structure changeable year - title child count'); ok(title.children(':first').is('span.ui-datepicker-month'), 'Structure changeable year - read-only month'); ok(title.children(':last').is('select.ui-datepicker-year'), 'Structure changeable year - year selector'); @@ -225,15 +226,15 @@ test('customStructure', function() { // Read-only first day of week inp = init('#inp', {changeFirstDay: false}); inp.focus(); - var thead = dp.find('.ui-datepicker-calendar thead tr'); + thead = dp.find('.ui-datepicker-calendar thead tr'); equal(thead.children().length, 7, 'Structure read-only first day - thead child count'); equal(thead.find('a').length, 0, 'Structure read-only first day - thead links count'); inp.datepicker('hide').datepicker('destroy'); }); test('keystrokes', function() { - var inp = init('#inp'); - var date = new Date(); + var inp = init('#inp'), + date = new Date(); inp.val('').datepicker('show'). simulate('keydown', {keyCode: $.ui.keyCode.ENTER}); equalsDate(inp.datepicker('getDate'), date, 'Keystroke enter'); @@ -366,9 +367,10 @@ test('keystrokes', function() { }); test('mouse', function() { - var inp = init('#inp'); - var dp = $('#ui-datepicker-div'); - var date = new Date(); + var inl, + inp = init('#inp'), + dp = $('#ui-datepicker-div'), + date = new Date(); inp.val('').datepicker('show'); $('.ui-datepicker-calendar tbody a:contains(10)', dp).simulate('click', {}); date.setDate(10); @@ -419,9 +421,9 @@ test('mouse', function() { equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 18), 'Mouse click - next + min/max'); // Inline - var inl = init('#inl'); - var dp = $('.ui-datepicker-inline', inl); - var date = new Date(); + inl = init('#inl'); + dp = $('.ui-datepicker-inline', inl); + date = new Date(); inl.datepicker('setDate', date); $('.ui-datepicker-calendar tbody a:contains(10)', dp).simulate('click', {}); date.setDate(10); diff --git a/tests/unit/datepicker/datepicker_events.js b/tests/unit/datepicker/datepicker_events.js index 9876b7e60..b3e6704ef 100644 --- a/tests/unit/datepicker/datepicker_events.js +++ b/tests/unit/datepicker/datepicker_events.js @@ -5,9 +5,9 @@ module("datepicker: events"); -var selectedThis = null; -var selectedDate = null; -var selectedInst = null; +var selectedThis = null, +selectedDate = null, +selectedInst = null; function callback(date, inst) { selectedThis = this; @@ -22,8 +22,9 @@ function callback2(year, month, inst) { } test('events', function() { - var inp = init('#inp', {onSelect: callback}); - var date = new Date(); + var dateStr, newMonthYear, inp2, + inp = init('#inp', {onSelect: callback}), + date = new Date(); // onSelect inp.val('').datepicker('show'). simulate('keydown', {keyCode: $.ui.keyCode.ENTER}); @@ -41,7 +42,7 @@ test('events', function() { simulate('keydown', {keyCode: $.ui.keyCode.ESCAPE}); equal(selectedDate, $.datepicker.formatDate('mm/dd/yy', date), 'Callback selected date - esc'); - var dateStr = '02/04/2008'; + dateStr = '02/04/2008'; inp.val(dateStr).datepicker('show'). simulate('keydown', {keyCode: $.ui.keyCode.ENTER}); equal(dateStr, selectedDate, @@ -49,7 +50,7 @@ test('events', function() { // onChangeMonthYear inp.datepicker('option', {onChangeMonthYear: callback2, onSelect: null}). val('').datepicker('show'); - var newMonthYear = function(date) { + newMonthYear = function(date) { return date.getFullYear() + '/' + (date.getMonth() + 1); }; date = new Date(); @@ -118,7 +119,7 @@ test('events', function() { simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.END}); equal(selectedDate, '', 'Callback close date - ctrl+end'); - var inp2 = init('#inp2'); + inp2 = init('#inp2'); inp2.datepicker().datepicker('option', {onClose: callback}).datepicker('show'); inp.datepicker('show'); equal(selectedThis, inp2[0], 'Callback close this'); diff --git a/tests/unit/datepicker/datepicker_methods.js b/tests/unit/datepicker/datepicker_methods.js index c8f1b75b2..603427440 100644 --- a/tests/unit/datepicker/datepicker_methods.js +++ b/tests/unit/datepicker/datepicker_methods.js @@ -6,7 +6,8 @@ module("datepicker: methods"); test('destroy', function() { - var inp = init('#inp'); + var inl, + inp = init('#inp'); ok(inp.is('.hasDatepicker'), 'Default - marker class set'); ok($.data(inp[0], PROP_NAME), 'Default - instance present'); ok(inp.next().is('#alt'), 'Default - button absent'); @@ -19,7 +20,7 @@ test('destroy', function() { inp= init('#inp', {showOn: 'both'}); ok(inp.is('.hasDatepicker'), 'Button - marker class set'); ok($.data(inp[0], PROP_NAME), 'Button - instance present'); - ok(inp.next().text() == '...', 'Button - button added'); + ok(inp.next().text() === '...', 'Button - button added'); inp.datepicker('destroy'); inp = $('#inp'); ok(!inp.is('.hasDatepicker'), 'Button - marker class cleared'); @@ -29,7 +30,7 @@ test('destroy', function() { inp = init('#inp', {appendText: 'Testing'}); ok(inp.is('.hasDatepicker'), 'Append - marker class set'); ok($.data(inp[0], PROP_NAME), 'Append - instance present'); - ok(inp.next().text() == 'Testing', 'Append - append text added'); + ok(inp.next().text() === 'Testing', 'Append - append text added'); inp.datepicker('destroy'); inp = $('#inp'); ok(!inp.is('.hasDatepicker'), 'Append - marker class cleared'); @@ -40,29 +41,30 @@ test('destroy', function() { buttonImage: 'img/calendar.gif', appendText: 'Testing'}); ok(inp.is('.hasDatepicker'), 'Both - marker class set'); ok($.data(inp[0], PROP_NAME), 'Both - instance present'); - ok(inp.next()[0].nodeName.toLowerCase() == 'img', 'Both - button added'); - ok(inp.next().next().text() == 'Testing', 'Both - append text added'); + ok(inp.next()[0].nodeName.toLowerCase() === 'img', 'Both - button added'); + ok(inp.next().next().text() === 'Testing', 'Both - append text added'); inp.datepicker('destroy'); inp = $('#inp'); ok(!inp.is('.hasDatepicker'), 'Both - marker class cleared'); ok(!$.data(inp[0], PROP_NAME), 'Both - instance absent'); ok(inp.next().is('#alt'), 'Both - button and append text absent'); // Inline - var inl = init('#inl'); + inl = init('#inl'); ok(inl.is('.hasDatepicker'), 'Inline - marker class set'); - ok(inl.html() != '', 'Inline - datepicker present'); + ok(inl.html() !== '', 'Inline - datepicker present'); ok($.data(inl[0], PROP_NAME), 'Inline - instance present'); - ok(inl.next().length == 0 || inl.next().is('p'), 'Inline - button absent'); + ok(inl.next().length === 0 || inl.next().is('p'), 'Inline - button absent'); inl.datepicker('destroy'); inl = $('#inl'); ok(!inl.is('.hasDatepicker'), 'Inline - marker class cleared'); - ok(inl.html() == '', 'Inline - datepicker absent'); + ok(inl.html() === '', 'Inline - datepicker absent'); ok(!$.data(inl[0], PROP_NAME), 'Inline - instance absent'); - ok(inl.next().length == 0 || inl.next().is('p'), 'Inline - button absent'); + ok(inl.next().length === 0 || inl.next().is('p'), 'Inline - button absent'); }); test('enableDisable', function() { - var inp = init('#inp'); + var inl, dp, + inp = init('#inp'); ok(!inp.datepicker('isDisabled'), 'Enable/disable - initially marked as enabled'); ok(!inp[0].disabled, 'Enable/disable - field initially enabled'); inp.datepicker('disable'); @@ -91,19 +93,19 @@ test('enableDisable', function() { buttonImage: 'img/calendar.gif'}); ok(!inp.datepicker('isDisabled'), 'Enable/disable image - initially marked as enabled'); ok(!inp[0].disabled, 'Enable/disable image - field initially enabled'); - ok(inp.next('img').css('opacity') == 1, 'Enable/disable image - image initially enabled'); + ok(parseFloat(inp.next('img').css('opacity')) === 1, 'Enable/disable image - image initially enabled'); inp.datepicker('disable'); ok(inp.datepicker('isDisabled'), 'Enable/disable image - now marked as disabled'); ok(inp[0].disabled, 'Enable/disable image - field now disabled'); - ok(inp.next('img').css('opacity') != 1, 'Enable/disable image - image now disabled'); + ok(parseFloat(inp.next('img').css('opacity')) !== 1, 'Enable/disable image - image now disabled'); inp.datepicker('enable'); ok(!inp.datepicker('isDisabled'), 'Enable/disable image - now marked as enabled'); ok(!inp[0].disabled, 'Enable/disable image - field now enabled'); - ok(inp.next('img').css('opacity') == 1, 'Enable/disable image - image now enabled'); + ok(parseFloat(inp.next('img').css('opacity')) === 1, 'Enable/disable image - image now enabled'); inp.datepicker('destroy'); // Inline - var inl = init('#inl', {changeYear: true}); - var dp = $('.ui-datepicker-inline', inl); + inl = init('#inl', {changeYear: true}); + dp = $('.ui-datepicker-inline', inl); ok(!inl.datepicker('isDisabled'), 'Enable/disable inline - initially marked as enabled'); ok(!dp.children().is('.ui-state-disabled'), 'Enable/disable inline - not visually disabled initially'); ok(!dp.find('select').prop('disabled'), 'Enable/disable inline - form element enabled initially'); diff --git a/tests/unit/datepicker/datepicker_options.js b/tests/unit/datepicker/datepicker_options.js index f538c6d03..3e200ecaa 100644 --- a/tests/unit/datepicker/datepicker_options.js +++ b/tests/unit/datepicker/datepicker_options.js @@ -16,8 +16,8 @@ test('setDefaults', function() { }); test('option', function() { - var inp = init('#inp'); - var inst = $.data(inp[0], PROP_NAME); + var inp = init('#inp'), + inst = $.data(inp[0], PROP_NAME); // Set option equal(inst.settings.showOn, null, 'Initial setting showOn'); equal($.datepicker._get(inst, 'showOn'), 'focus', 'Initial instance showOn'); @@ -47,8 +47,8 @@ test('option', function() { }); test('change', function() { - var inp = init('#inp'); - var inst = $.data(inp[0], PROP_NAME); + var inp = init('#inp'), + inst = $.data(inp[0], PROP_NAME); equal(inst.settings.showOn, null, 'Initial setting showOn'); equal($.datepicker._get(inst, 'showOn'), 'focus', 'Initial instance showOn'); equal($.datepicker._defaults.showOn, 'focus', 'Initial default showOn'); @@ -67,14 +67,15 @@ test('change', function() { }); test('invocation', function() { - var inp = init('#inp'); - var dp = $('#ui-datepicker-div'); - var body = $('body'); + var button, image, + inp = init('#inp'), + dp = $('#ui-datepicker-div'), + body = $('body'); // On focus - var button = inp.siblings('button'); - ok(button.length == 0, 'Focus - button absent'); - var image = inp.siblings('img'); - ok(image.length == 0, 'Focus - image absent'); + button = inp.siblings('button'); + ok(button.length === 0, 'Focus - button absent'); + image = inp.siblings('img'); + ok(image.length === 0, 'Focus - image absent'); inp.focus(); ok(dp.is(':visible'), 'Focus - rendered on focus'); inp.simulate('keydown', {keyCode: $.ui.keyCode.ESCAPE}); @@ -89,8 +90,8 @@ test('invocation', function() { ok(!dp.is(':visible'), 'Button - initially hidden'); button = inp.siblings('button'); image = inp.siblings('img'); - ok(button.length == 1, 'Button - button present'); - ok(image.length == 0, 'Button - image absent'); + ok(button.length === 1, 'Button - button present'); + ok(image.length === 0, 'Button - image absent'); equal(button.text(), 'Popup', 'Button - button text'); inp.focus(); ok(!dp.is(':visible'), 'Button - not rendered on focus'); @@ -104,9 +105,9 @@ test('invocation', function() { buttonImage: 'img/calendar.gif', buttonText: 'Cal'}); ok(!dp.is(':visible'), 'Image button - initially hidden'); button = inp.siblings('button'); - ok(button.length == 0, 'Image button - button absent'); + ok(button.length === 0, 'Image button - button absent'); image = inp.siblings('img'); - ok(image.length == 1, 'Image button - image present'); + ok(image.length === 1, 'Image button - image present'); equal(image.attr('src'), 'img/calendar.gif', 'Image button - image source'); equal(image.attr('title'), 'Cal', 'Image button - image text'); inp.focus(); @@ -120,11 +121,11 @@ test('invocation', function() { inp = init('#inp', {showOn: 'both', buttonImage: 'img/calendar.gif'}); ok(!dp.is(':visible'), 'Both - initially hidden'); button = inp.siblings('button'); - ok(button.length == 1, 'Both - button present'); + ok(button.length === 1, 'Both - button present'); image = inp.siblings('img'); - ok(image.length == 0, 'Both - image absent'); + ok(image.length === 0, 'Both - image absent'); image = button.children('img'); - ok(image.length == 1, 'Both - button image present'); + ok(image.length === 1, 'Both - button image present'); inp.focus(); ok(dp.is(':visible'), 'Both - rendered on focus'); body.simulate('mousedown', {}); @@ -137,29 +138,29 @@ test('invocation', function() { }); test('otherMonths', function() { - var inp = init('#inp'); - var pop = $('#ui-datepicker-div'); + var inp = init('#inp'), + pop = $('#ui-datepicker-div'); inp.val('06/01/2009').datepicker('show'); equal(pop.find('tbody').text(), '\u00a0123456789101112131415161718192021222324252627282930\u00a0\u00a0\u00a0\u00a0', 'Other months - none'); - ok(pop.find('td:last *').length == 0, 'Other months - no content'); + ok(pop.find('td:last *').length === 0, 'Other months - no content'); inp.datepicker('hide').datepicker('option', 'showOtherMonths', true).datepicker('show'); equal(pop.find('tbody').text(), '311234567891011121314151617181920212223242526272829301234', 'Other months - show'); - ok(pop.find('td:last span').length == 1, 'Other months - span content'); + ok(pop.find('td:last span').length === 1, 'Other months - span content'); inp.datepicker('hide').datepicker('option', 'selectOtherMonths', true).datepicker('show'); equal(pop.find('tbody').text(), '311234567891011121314151617181920212223242526272829301234', 'Other months - select'); - ok(pop.find('td:last a').length == 1, 'Other months - link content'); + ok(pop.find('td:last a').length === 1, 'Other months - link content'); inp.datepicker('hide').datepicker('option', 'showOtherMonths', false).datepicker('show'); equal(pop.find('tbody').text(), '\u00a0123456789101112131415161718192021222324252627282930\u00a0\u00a0\u00a0\u00a0', 'Other months - none'); - ok(pop.find('td:last *').length == 0, 'Other months - no content'); + ok(pop.find('td:last *').length === 0, 'Other months - no content'); }); test('defaultDate', function() { - var inp = init('#inp'); - var date = new Date(); + var inp = init('#inp'), + date = new Date(); inp.val('').datepicker('show'). simulate('keydown', {keyCode: $.ui.keyCode.ENTER}); equalsDate(inp.datepicker('getDate'), date, 'Default date null'); @@ -252,17 +253,19 @@ test('defaultDate', function() { }); test('miscellaneous', function() { - var dp = $('#ui-datepicker-div'); - var inp = init('#inp'); + var curYear, longNames, shortNames, date, + dp = $('#ui-datepicker-div'), + inp = init('#inp'); // Year range - var genRange = function(start, offset) { - var range = ''; - for (var i = start; i < start + offset; i++) { + function genRange(start, offset) { + var i = start, + range = ''; + for (; i < start + offset; i++) { range += i; } return range; - }; - var curYear = new Date().getFullYear(); + } + curYear = new Date().getFullYear(); inp.val('02/04/2008').datepicker('show'); equal(dp.find('.ui-datepicker-year').text(), '2008', 'Year range - read-only default'); inp.datepicker('hide').datepicker('option', {changeYear: true}).datepicker('show'); @@ -285,9 +288,9 @@ test('miscellaneous', function() { equal(dp.find('.ui-datepicker-next').text(), 'Next', 'Navigation next - default'); inp.datepicker('hide').datepicker('option', {navigationAsDateFormat: true, prevText: '< M', currentText: 'MM', nextText: 'M >'}). val('02/04/2008').datepicker('show'); - var longNames = $.datepicker.regional[''].monthNames; - var shortNames = $.datepicker.regional[''].monthNamesShort; - var date = new Date(); + longNames = $.datepicker.regional[''].monthNames; + shortNames = $.datepicker.regional[''].monthNamesShort; + date = new Date(); equal(dp.find('.ui-datepicker-prev').text(), '< ' + shortNames[0], 'Navigation prev - as date format'); equal(dp.find('.ui-datepicker-current').text(), longNames[date.getMonth()], 'Navigation current - as date format'); @@ -311,11 +314,12 @@ test('miscellaneous', function() { }); test('minMax', function() { - var inp = init('#inp'); - var lastYear = new Date(2007, 6 - 1, 4); - var nextYear = new Date(2009, 6 - 1, 4); - var minDate = new Date(2008, 2 - 1, 29); - var maxDate = new Date(2008, 12 - 1, 7); + var date, + inp = init('#inp'), + lastYear = new Date(2007, 6 - 1, 4), + nextYear = new Date(2009, 6 - 1, 4), + minDate = new Date(2008, 2 - 1, 29), + maxDate = new Date(2008, 12 - 1, 7); inp.val('06/04/2008').datepicker('show'); inp.simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP}). simulate('keydown', {keyCode: $.ui.keyCode.ENTER}); @@ -360,7 +364,7 @@ test('minMax', function() { equalsDate(inp.datepicker('getDate'), maxDate, 'Min/max - null, 12/07/2008 - ctrl+pgdn'); // Relative dates - var date = new Date(); + date = new Date(); date.setDate(date.getDate() - 7); inp.datepicker('option', {minDate: '-1w', maxDate: '+1 M +10 D '}). datepicker('hide').val('').datepicker('show'); @@ -394,9 +398,10 @@ test('minMax', function() { }); test('setDate', function() { - var inp = init('#inp'); - var date1 = new Date(2008, 6 - 1, 4); - var date2 = new Date(); + var inl, alt, minDate, maxDate, dateAndTimeToSet, dateAndTimeClone, + inp = init('#inp'), + date1 = new Date(2008, 6 - 1, 4), + date2 = new Date(); ok(inp.datepicker('getDate') == null, 'Set date - default'); inp.datepicker('setDate', date1); equalsDate(inp.datepicker('getDate'), date1, 'Set date - 2008-06-04'); @@ -423,7 +428,7 @@ test('setDate', function() { inp.datepicker('setDate', 'c -3 w'); equalsDate(inp.datepicker('getDate'), date1, 'Set date - c -3 w'); // Inline - var inl = init('#inl'); + inl = init('#inl'); date1 = new Date(2008, 6 - 1, 4); date2 = new Date(); equalsDate(inl.datepicker('getDate'), date2, 'Set date inline - default'); @@ -441,7 +446,7 @@ test('setDate', function() { inl.datepicker('setDate'); ok(inl.datepicker('getDate') == null, 'Set date inline - null'); // Alternate field - var alt = $('#alt'); + alt = $('#alt'); inp.datepicker('option', {altField: '#alt', altFormat: 'yy-mm-dd'}); date1 = new Date(2008, 6 - 1, 4); inp.datepicker('setDate', date1); @@ -451,8 +456,8 @@ test('setDate', function() { inp = init('#inp'); date1 = new Date(2008, 1 - 1, 4); date2 = new Date(2008, 6 - 1, 4); - var minDate = new Date(2008, 2 - 1, 29); - var maxDate = new Date(2008, 3 - 1, 28); + minDate = new Date(2008, 2 - 1, 29); + maxDate = new Date(2008, 3 - 1, 28); inp.val('').datepicker('option', {minDate: minDate}).datepicker('setDate', date2); equalsDate(inp.datepicker('getDate'), date2, 'Set date min/max - setDate > min'); inp.datepicker('setDate', date1); @@ -465,15 +470,15 @@ test('setDate', function() { equalsDate(inp.datepicker('getDate'), minDate, 'Set date min/max - setDate < min'); inp.datepicker('setDate', date2); equalsDate(inp.datepicker('getDate'), maxDate, 'Set date min/max - setDate > max'); - var dateAndTimeToSet = new Date(2008, 3 - 1, 28, 1, 11, 0); - var dateAndTimeClone = new Date(2008, 3 - 1, 28, 1, 11, 0); + dateAndTimeToSet = new Date(2008, 3 - 1, 28, 1, 11, 0); + dateAndTimeClone = new Date(2008, 3 - 1, 28, 1, 11, 0); inp.datepicker('setDate', dateAndTimeToSet); equal(dateAndTimeToSet.getTime(), dateAndTimeClone.getTime(), 'Date object passed should not be changed by setDate'); }); test('altField', function() { - var inp = init('#inp'); - var alt = $('#alt'); + var inp = init('#inp'), + alt = $('#alt'); // No alternate field set alt.val(''); inp.val('06/04/2008').datepicker('show'); @@ -507,26 +512,6 @@ test('altField', function() { inp.simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.END}); equal(inp.val(), '', 'Alt field - dp - ctrl+end'); equal(alt.val(), '', 'Alt field - alt - ctrl+end'); - - return - // TODO manual entry impl works (see altField demo) but this test doesn't - // probably something the rewrite won't cover anymore anyway - - // Verify alt field is updated on keyup - alt.val(''); - inp.val('06/04/200').datepicker('show'); - inp.simulate('keydown', {charCode: '8'.charCodeAt(0)}); - inp.simulate('keypress', {charCode: '8'.charCodeAt(0)}); - inp.simulate('keyup', {charCode: '8'.charCodeAt(0)}); - equal(inp.val(), '06/04/2008', 'Alt field - dp - manual entry'); - equal(alt.val(), '2008-06-04', 'Alt field - manual entry'); - // Verify alt field is not updated on keyup if date is invalid - inp.val('12/04'); - inp.simulate('keydown', {charCode: '/'.charCodeAt(0)}); - inp.simulate('keypress', {charCode: '/'.charCodeAt(0)}); - inp.simulate('keyup', {charCode: '/'.charCodeAt(0)}); - equal(inp.val(), '12/04/', 'Alt field - dp - manual entry incomplete'); - equal(alt.val(), '2008-06-04', 'Alt field - manual entry - not updated'); }); test('autoSize', function() { @@ -541,7 +526,7 @@ test('autoSize', function() { inp.datepicker('option', 'dateFormat', 'DD, MM dd, yy'); equal(inp.prop('size'), 29, 'Auto size - DD, MM dd, yy'); // French - inp.datepicker('option', $.extend({autoSize: false}, $.datepicker.regional['fr'])); + inp.datepicker('option', $.extend({autoSize: false}, $.datepicker.regional.fr)); equal(inp.prop('size'), 29, 'Auto size - fr - default'); inp.datepicker('option', 'autoSize', true); equal(inp.prop('size'), 10, 'Auto size - fr - dd/mm/yy'); @@ -552,7 +537,7 @@ test('autoSize', function() { inp.datepicker('option', 'dateFormat', 'DD, MM dd, yy'); equal(inp.prop('size'), 28, 'Auto size - fr - DD, MM dd, yy'); // Hebrew - inp.datepicker('option', $.extend({autoSize: false}, $.datepicker.regional['he'])); + inp.datepicker('option', $.extend({autoSize: false}, $.datepicker.regional.he)); equal(inp.prop('size'), 28, 'Auto size - he - default'); inp.datepicker('option', 'autoSize', true); equal(inp.prop('size'), 10, 'Auto size - he - dd/mm/yy'); @@ -565,8 +550,8 @@ test('autoSize', function() { }); test('daylightSaving', function() { - var inp = init('#inp'); - var dp = $('#ui-datepicker-div'); + var inp = init('#inp'), + dp = $('#ui-datepicker-div'); ok(true, 'Daylight saving - ' + new Date()); // Australia, Sydney - AM change, southern hemisphere inp.val('04/01/2008').datepicker('show'); @@ -646,9 +631,12 @@ test('daylightSaving', function() { equal(inp.val(), '11/03/2008', 'Daylight saving - US 11/03/2008'); }); -var beforeShowThis = null; -var beforeShowInput = null; -var beforeShowInst = null; +var beforeShowThis = null, + beforeShowInput = null, + beforeShowInst = null, + beforeShowDayThis = null, + beforeShowDayOK = true; + function beforeAll(input, inst) { beforeShowThis = this; @@ -657,84 +645,86 @@ function beforeAll(input, inst) { return {currentText: 'Current'}; } -var beforeShowDayThis = null; -var beforeShowDayOK = true; - function beforeDay(date) { beforeShowDayThis = this; beforeShowDayOK &= (date > new Date(2008, 1 - 1, 26) && date < new Date(2008, 3 - 1, 6)); - return [(date.getDate() % 2 == 0), (date.getDate() % 10 == 0 ? 'day10' : ''), - (date.getDate() % 3 == 0 ? 'Divisble by 3' : '')]; + return [(date.getDate() % 2 === 0), (date.getDate() % 10 === 0 ? 'day10' : ''), + (date.getDate() % 3 === 0 ? 'Divisble by 3' : '')]; } function calcWeek(date) { - var doy = date.getDate() + 6; - for (var m = date.getMonth() - 1; m >= 0; m--) + var doy = date.getDate() + 6, + m = date.getMonth() - 1; + for (; m >= 0; m--) { doy += $.datepicker._getDaysInMonth(date.getFullYear(), m); + } // Simple count from 01/01 starting at week 1 return Math.floor(doy / 7); } test('callbacks', function() { // Before show - var inp = init('#inp', {beforeShow: beforeAll}); - var inst = $.data(inp[0], 'datepicker'); + var dp, day20, day21, + inp = init('#inp', {beforeShow: beforeAll}), + inst = $.data(inp[0], 'datepicker'); equal($.datepicker._get(inst, 'currentText'), 'Today', 'Before show - initial'); inp.val('02/04/2008').datepicker('show'); equal($.datepicker._get(inst, 'currentText'), 'Current', 'Before show - changed'); - ok(beforeShowThis.id == inp[0].id, 'Before show - this OK'); - ok(beforeShowInput.id == inp[0].id, 'Before show - input OK'); + ok(beforeShowThis.id === inp[0].id, 'Before show - this OK'); + ok(beforeShowInput.id === inp[0].id, 'Before show - input OK'); deepEqual(beforeShowInst, inst, 'Before show - inst OK'); inp.datepicker('hide').datepicker('destroy'); // Before show day inp = init('#inp', {beforeShowDay: beforeDay}); - var dp = $('#ui-datepicker-div'); + dp = $('#ui-datepicker-div'); inp.val('02/04/2008').datepicker('show'); - ok(beforeShowDayThis.id == inp[0].id, 'Before show day - this OK'); + ok(beforeShowDayThis.id === inp[0].id, 'Before show day - this OK'); ok(beforeShowDayOK, 'Before show day - dates OK'); - var day20 = dp.find('.ui-datepicker-calendar td:contains("20")'); - var day21 = dp.find('.ui-datepicker-calendar td:contains("21")'); + day20 = dp.find('.ui-datepicker-calendar td:contains("20")'); + day21 = dp.find('.ui-datepicker-calendar td:contains("21")'); ok(!day20.is('.ui-datepicker-unselectable'), 'Before show day - unselectable 20'); ok(day21.is('.ui-datepicker-unselectable'), 'Before show day - unselectable 21'); ok(day20.is('.day10'), 'Before show day - CSS 20'); ok(!day21.is('.day10'), 'Before show day - CSS 21'); ok(!day20.attr('title'), 'Before show day - title 20'); - ok(day21.attr('title') == 'Divisble by 3', 'Before show day - title 21'); + ok(day21.attr('title') === 'Divisble by 3', 'Before show day - title 21'); inp.datepicker('hide').datepicker('destroy'); }); test('localisation', function() { - var inp = init('#inp', $.datepicker.regional['fr']); + var dp, month, day, date, + inp = init('#inp', $.datepicker.regional.fr); inp.datepicker('option', {dateFormat: 'DD, d MM yy', showButtonPanel:true, changeMonth:true, changeYear:true}).val('').datepicker('show'); - var dp = $('#ui-datepicker-div'); + dp = $('#ui-datepicker-div'); equal($('.ui-datepicker-close', dp).text(), 'Fermer', 'Localisation - close'); $('.ui-datepicker-close', dp).simulate('mouseover'); equal($('.ui-datepicker-prev', dp).text(), 'Précédent', 'Localisation - previous'); equal($('.ui-datepicker-current', dp).text(), 'Aujourd\'hui', 'Localisation - current'); equal($('.ui-datepicker-next', dp).text(), 'Suivant', 'Localisation - next'); - var month = 0; + month = 0; $('.ui-datepicker-month option', dp).each(function() { - equal($(this).text(), $.datepicker.regional['fr'].monthNamesShort[month], + equal($(this).text(), $.datepicker.regional.fr.monthNamesShort[month], 'Localisation - month ' + month); month++; }); - var day = 1; + day = 1; $('.ui-datepicker-calendar th', dp).each(function() { - equal($(this).text(), $.datepicker.regional['fr'].dayNamesMin[day], + equal($(this).text(), $.datepicker.regional.fr.dayNamesMin[day], 'Localisation - day ' + day); day = (day + 1) % 7; }); inp.simulate('keydown', {keyCode: $.ui.keyCode.ENTER}); - var date = new Date(); - equal(inp.val(), $.datepicker.regional['fr'].dayNames[date.getDay()] + ', ' + - date.getDate() + ' ' + $.datepicker.regional['fr'].monthNames[date.getMonth()] + + date = new Date(); + equal(inp.val(), $.datepicker.regional.fr.dayNames[date.getDay()] + ', ' + + date.getDate() + ' ' + $.datepicker.regional.fr.monthNames[date.getMonth()] + ' ' + date.getFullYear(), 'Localisation - formatting'); }); test('noWeekends', function() { - for (var i = 1; i <= 31; i++) { - var date = new Date(2001, 1 - 1, i); + var i, date; + for (i = 1; i <= 31; i++) { + date = new Date(2001, 1 - 1, i); deepEqual($.datepicker.noWeekends(date), [(i + 1) % 7 >= 2, ''], 'No weekends ' + date); } @@ -769,6 +759,7 @@ test('iso8601Week', function() { test('parseDate', function() { init('#inp'); + var currentYear, gmtDate, fr, settings, zh; ok($.datepicker.parseDate('d m y', '') == null, 'Parse date empty'); equalsDate($.datepicker.parseDate('d m y', '3 2 01'), new Date(2001, 2 - 1, 3), 'Parse date d m y'); @@ -793,7 +784,7 @@ test('parseDate', function() { equalsDate($.datepicker.parseDate('\'day\' d \'of\' MM (\'\'DD\'\'), yy', 'day 3 of February (\'Saturday\'), 2001'), new Date(2001, 2 - 1, 3), 'Parse date \'day\' d \'of\' MM (\'\'DD\'\'), yy'); - var currentYear = new Date().getFullYear(); + currentYear = new Date().getFullYear(); equalsDate($.datepicker.parseDate('y-m-d', (currentYear - 2000) + '-02-03'), new Date(currentYear, 2 - 1, 3), 'Parse date y-m-d - default cutuff'); equalsDate($.datepicker.parseDate('y-m-d', (currentYear - 2000 + 10) + '-02-03'), @@ -808,12 +799,12 @@ test('parseDate', function() { new Date(currentYear + 60, 2 - 1, 3), 'Parse date y-m-d - cutoff +60'); equalsDate($.datepicker.parseDate('y-m-d', (currentYear - 2000 + 61) + '-02-03', {shortYearCutoff: '+60'}), new Date(currentYear - 39, 2 - 1, 3), 'Parse date y-m-d - cutoff +60'); - var gmtDate = new Date(2001, 2 - 1, 3); + gmtDate = new Date(2001, 2 - 1, 3); gmtDate.setMinutes(gmtDate.getMinutes() - gmtDate.getTimezoneOffset()); equalsDate($.datepicker.parseDate('@', '981158400000'), gmtDate, 'Parse date @'); equalsDate($.datepicker.parseDate('!', '631167552000000000'), gmtDate, 'Parse date !'); - var fr = $.datepicker.regional['fr']; - var settings = {dayNamesShort: fr.dayNamesShort, dayNames: fr.dayNames, + fr = $.datepicker.regional.fr; + settings = {dayNamesShort: fr.dayNamesShort, dayNames: fr.dayNames, monthNamesShort: fr.monthNamesShort, monthNames: fr.monthNames}; equalsDate($.datepicker.parseDate('D d M y', 'Lun. 9 Avril 01', settings), new Date(2001, 4 - 1, 9), 'Parse date D M y with settings'); @@ -825,14 +816,15 @@ test('parseDate', function() { 'jour 9 de Avril (\'Lundi\'), 2001', settings), new Date(2001, 4 - 1, 9), 'Parse date \'jour\' d \'de\' MM (\'\'DD\'\'), yy with settings'); - var zh = $.datepicker.regional['zh-CN']; + zh = $.datepicker.regional['zh-CN']; equalsDate($.datepicker.parseDate('yy M d', '2011 十一 22', zh), new Date(2011, 11 - 1, 22), 'Parse date yy M d with zh-CN'); }); test('parseDateErrors', function() { init('#inp'); - var expectError = function(expr, value, error) { + var fr, settings; + function expectError(expr, value, error) { try { expr(); ok(false, 'Parsed error ' + value); @@ -840,7 +832,7 @@ test('parseDateErrors', function() { catch (e) { equal(e, error, 'Parsed error ' + value); } - }; + } expectError(function() { $.datepicker.parseDate(null, 'Sat 2 01'); }, 'Sat 2 01', 'Invalid arguments'); expectError(function() { $.datepicker.parseDate('d m y', null); }, @@ -872,8 +864,8 @@ test('parseDateErrors', function() { 'day 3 of Mon2 ("Day7"), 2001', 'Unexpected literal at position 19'); expectError(function() { $.datepicker.parseDate('d m y', '29 2 01'); }, '29 2 01 - d m y', 'Invalid date'); - var fr = $.datepicker.regional['fr']; - var settings = {dayNamesShort: fr.dayNamesShort, dayNames: fr.dayNames, + fr = $.datepicker.regional.fr; + settings = {dayNamesShort: fr.dayNamesShort, dayNames: fr.dayNames, monthNamesShort: fr.monthNamesShort, monthNames: fr.monthNames}; expectError(function() { $.datepicker.parseDate('D d M y', 'Mon 9 Avr 01', settings); }, 'Mon 9 Avr 01 - D d M y', 'Unknown name at position 0'); @@ -883,6 +875,7 @@ test('parseDateErrors', function() { test('formatDate', function() { init('#inp'); + var gmtDate, fr, settings; equal($.datepicker.formatDate('d m y', new Date(2001, 2 - 1, 3)), '3 2 01', 'Format date d m y'); equal($.datepicker.formatDate('dd mm yy', new Date(2001, 2 - 1, 3)), @@ -904,12 +897,12 @@ test('formatDate', function() { equal($.datepicker.formatDate('\'day\' d \'of\' MM (\'\'DD\'\'), yy', new Date(2001, 2 - 1, 3)), 'day 3 of February (\'Saturday\'), 2001', 'Format date \'day\' d \'of\' MM (\'\'DD\'\'), yy'); - var gmtDate = new Date(2001, 2 - 1, 3); + gmtDate = new Date(2001, 2 - 1, 3); gmtDate.setMinutes(gmtDate.getMinutes() - gmtDate.getTimezoneOffset()); equal($.datepicker.formatDate('@', gmtDate), '981158400000', 'Format date @'); equal($.datepicker.formatDate('!', gmtDate), '631167552000000000', 'Format date !'); - var fr = $.datepicker.regional['fr']; - var settings = {dayNamesShort: fr.dayNamesShort, dayNames: fr.dayNames, + fr = $.datepicker.regional.fr; + settings = {dayNamesShort: fr.dayNamesShort, dayNames: fr.dayNames, monthNamesShort: fr.monthNamesShort, monthNames: fr.monthNames}; equal($.datepicker.formatDate('D M y', new Date(2001, 4 - 1, 9), settings), 'Lun. Avril 01', 'Format date D M y with settings'); diff --git a/tests/unit/datepicker/datepicker_tickets.js b/tests/unit/datepicker/datepicker_tickets.js index fcf712370..105be63a6 100644 --- a/tests/unit/datepicker/datepicker_tickets.js +++ b/tests/unit/datepicker/datepicker_tickets.js @@ -7,8 +7,8 @@ module("datepicker: tickets"); // http://forum.jquery.com/topic/several-breaking-changes-in-jquery-ui-1-8rc1 test('beforeShowDay-getDate', function() { - var inp = init('#inp', {beforeShowDay: function(date) { inp.datepicker('getDate'); return [true, '']; }}); - var dp = $('#ui-datepicker-div'); + var inp = init('#inp', {beforeShowDay: function(date) { inp.datepicker('getDate'); return [true, '']; }}), + dp = $('#ui-datepicker-div'); inp.val('01/01/2010').datepicker('show'); // contains non-breaking space equal($('div.ui-datepicker-title').text(), 'January 2010', 'Initial month'); @@ -26,11 +26,11 @@ test('beforeShowDay-getDate', function() { test('Ticket 7602: Stop datepicker from appearing with beforeShow event handler', function(){ var inp = init('#inp',{ - beforeShow: function(){ - return false; - } - }); - var dp = $('#ui-datepicker-div'); + beforeShow: function(){ + return false; + } + }), + dp = $('#ui-datepicker-div'); inp.datepicker('show'); equal(dp.css('display'), 'none',"beforeShow returns false"); inp.datepicker('destroy'); -- cgit v1.2.3 From 0e8d9dde20e6bb4481fbfa94a2066125179066b0 Mon Sep 17 00:00:00 2001 From: Scott González Date: Thu, 19 Apr 2012 11:21:24 -0400 Subject: Tests: Lint. --- grunt.js | 9 +++++---- tests/unit/widget/widget_extend.js | 17 ++++++++--------- 2 files changed, 13 insertions(+), 13 deletions(-) (limited to 'tests/unit') diff --git a/grunt.js b/grunt.js index 07bd7a6ed..a2f47ae51 100644 --- a/grunt.js +++ b/grunt.js @@ -271,9 +271,8 @@ grunt.initConfig({ // TODO remove items from this list once rewritten return !( /(effects.core|mouse|datepicker|draggable|droppable|resizable|selectable|sortable)\.js$/ ).test( file ); }), - grunt: "grunt.js" - // TODO enabled once fixed up - // tests: "tests/unit/**/*.js" + grunt: "grunt.js", + tests: "tests/unit/**/*.js" }, csslint: { // nothing: [] @@ -343,7 +342,9 @@ grunt.initConfig({ tests: { options: extend({ browser: true, - jquery: true + jquery: true, + // TODO: this is only for document.write() + evil: true }, defaults ), // TODO: don't create so many globals in tests globals: { diff --git a/tests/unit/widget/widget_extend.js b/tests/unit/widget/widget_extend.js index 36cd999dd..ae9855929 100644 --- a/tests/unit/widget/widget_extend.js +++ b/tests/unit/widget/widget_extend.js @@ -12,7 +12,14 @@ test( "$.widget.extend()", function() { deep2copy = { foo: { baz: true }, foo2: document }, deepmerged = { foo: { bar: true, baz: true }, foo2: document }, arr = [1, 2, 3], - nestedarray = { arr: arr }; + nestedarray = { arr: arr }, + defaults = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" }, + defaultsCopy = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" }, + options1 = { xnumber2: 1, xstring2: "x" }, + options1Copy = { xnumber2: 1, xstring2: "x" }, + options2 = { xstring2: "xx", xxx: "newstringx" }, + options2Copy = { xstring2: "xx", xxx: "newstringx" }, + merged2 = { xnumber1: 5, xnumber2: 1, xstring1: "peter", xstring2: "xx", xxx: "newstringx" }; $.widget.extend( settings, options ); deepEqual( settings, merged, "Check if extended: settings must be extended" ); @@ -79,14 +86,6 @@ test( "$.widget.extend()", function() { $.widget.extend( obj, { foo:"notnull" } ); equal( obj.foo, "notnull", "Make sure a null value can be overwritten" ); - var defaults = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" }, - defaultsCopy = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" }, - options1 = { xnumber2: 1, xstring2: "x" }, - options1Copy = { xnumber2: 1, xstring2: "x" }, - options2 = { xstring2: "xx", xxx: "newstringx" }, - options2Copy = { xstring2: "xx", xxx: "newstringx" }, - merged2 = { xnumber1: 5, xnumber2: 1, xstring1: "peter", xstring2: "xx", xxx: "newstringx" }; - settings = $.widget.extend( {}, defaults, options1, options2 ); deepEqual( settings, merged2, "Check if extended: settings must be extended" ); deepEqual( defaults, defaultsCopy, "Check if not modified: options1 must not be modified" ); -- cgit v1.2.3 From 163555d7bf27fe5d272e404de3c4439902710f54 Mon Sep 17 00:00:00 2001 From: Scott González Date: Thu, 19 Apr 2012 11:37:33 -0400 Subject: Accordion tests: Don't polloute the global namespace with helpers. --- grunt.js | 4 +- tests/unit/accordion/accordion_core.js | 7 +- tests/unit/accordion/accordion_deprecated.js | 94 ++++++++++++++------------ tests/unit/accordion/accordion_events.js | 21 +++--- tests/unit/accordion/accordion_methods.js | 18 +++-- tests/unit/accordion/accordion_options.js | 74 ++++++++++---------- tests/unit/accordion/accordion_test_helpers.js | 58 ++++++++-------- tests/unit/testsuite.js | 2 + 8 files changed, 149 insertions(+), 129 deletions(-) (limited to 'tests/unit') diff --git a/grunt.js b/grunt.js index a2f47ae51..78303180d 100644 --- a/grunt.js +++ b/grunt.js @@ -348,9 +348,6 @@ grunt.initConfig({ }, defaults ), // TODO: don't create so many globals in tests globals: { - accordion_equalHeights: true, - accordion_setupTeardown: true, - accordion_state: true, addMonths: true, asyncTest: true, commonWidgetTests: true, @@ -396,6 +393,7 @@ grunt.initConfig({ tabs_state: true, tabs_disabled: true, test: true, + TestHelpers: true, widthAfter: true } } diff --git a/tests/unit/accordion/accordion_core.js b/tests/unit/accordion/accordion_core.js index b08a5caea..7a1d56c18 100644 --- a/tests/unit/accordion/accordion_core.js +++ b/tests/unit/accordion/accordion_core.js @@ -1,6 +1,9 @@ (function( $ ) { -module( "accordion: core", accordion_setupTeardown() ); +var setupTeardown = TestHelpers.accordion.setupTeardown, + state = TestHelpers.accordion.state; + +module( "accordion: core", setupTeardown() ); $.each( { div: "#list1", ul: "#navigation", dl: "#accordion-dl" }, function( type, selector ) { test( "markup structure: " + type, function() { @@ -21,7 +24,7 @@ test( "handle click on header-descendant", function() { expect( 1 ); var element = $( "#navigation" ).accordion(); $( "#navigation h2:eq(1) a" ).click(); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); }); test( "accessibility", function () { diff --git a/tests/unit/accordion/accordion_deprecated.js b/tests/unit/accordion/accordion_deprecated.js index 47180e785..8d8e8a0d6 100644 --- a/tests/unit/accordion/accordion_deprecated.js +++ b/tests/unit/accordion/accordion_deprecated.js @@ -1,70 +1,74 @@ (function( $ ) { -module( "accordion (deprecated): expanded active option, activate method", accordion_setupTeardown() ); +var equalHeights = TestHelpers.accordion.equalHeights, + setupTeardown = TestHelpers.accordion.setupTeardown, + state = TestHelpers.accordion.state; + +module( "accordion (deprecated): expanded active option, activate method", setupTeardown() ); test( "activate, numeric", function() { expect( 5 ); var element = $( "#list1" ).accordion({ active: 1 }); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); element.accordion( "activate", 2 ); - accordion_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); element.accordion( "activate", 0 ); - accordion_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); element.accordion( "activate", 1 ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); element.accordion( "activate", 2 ); - accordion_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); }); test( "activate, numeric, collapsible:true", function() { expect( 3 ); var element = $( "#list1" ).accordion({ collapsible: true }); element.accordion( "activate", 2 ); - accordion_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); element.accordion( "activate", 0 ); - accordion_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); element.accordion( "activate", -1 ); - accordion_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); }); test( "activate, boolean, collapsible: true", function() { expect( 2 ); var element = $( "#list1" ).accordion({ collapsible: true }); element.accordion( "activate", 2 ); - accordion_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); element.accordion( "activate", false ); - accordion_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); }); test( "activate, boolean, collapsible: false", function() { expect( 2 ); var element = $( "#list1" ).accordion(); element.accordion( "activate", 2 ); - accordion_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); element.accordion( "activate", false ); - accordion_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); }); test( "activate, string expression", function() { expect( 4 ); var element = $( "#list1" ).accordion({ active: "h3:last" }); - accordion_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); element.accordion( "activate", ":first" ); - accordion_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); element.accordion( "activate", ":eq(1)" ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); element.accordion( "activate", ":last" ); - accordion_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); }); test( "activate, jQuery or DOM element", function() { expect( 3 ); var element = $( "#list1" ).accordion({ active: $( "#list1 h3:last" ) }); - accordion_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); element.accordion( "activate", $( "#list1 h3:first" ) ); - accordion_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); element.accordion( "activate", $( "#list1 h3" )[ 1 ] ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); }); test( "{ active: Selector }", function() { @@ -72,9 +76,9 @@ test( "{ active: Selector }", function() { var element = $("#list1").accordion({ active: "h3:last" }); - accordion_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); element.accordion( "option", "active", "h3:eq(1)" ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); }); test( "{ active: Element }", function() { @@ -82,9 +86,9 @@ test( "{ active: Element }", function() { var element = $( "#list1" ).accordion({ active: $( "#list1 h3:last" )[ 0 ] }); - accordion_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); element.accordion( "option", "active", $( "#list1 h3:eq(1)" )[ 0 ] ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); }); test( "{ active: jQuery Object }", function() { @@ -92,20 +96,20 @@ test( "{ active: jQuery Object }", function() { var element = $( "#list1" ).accordion({ active: $( "#list1 h3:last" ) }); - accordion_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); element.accordion( "option", "active", $( "#list1 h3:eq(1)" ) ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); }); -module( "accordion (deprecated) - height options", accordion_setupTeardown() ); +module( "accordion (deprecated) - height options", setupTeardown() ); test( "{ autoHeight: true }, default", function() { expect( 3 ); - accordion_equalHeights( $( "#navigation" ).accordion({ autoHeight: true }), 95, 130 ); + equalHeights( $( "#navigation" ).accordion({ autoHeight: true }), 95, 130 ); }); test( "{ autoHeight: false }", function() { @@ -124,7 +128,7 @@ test( "{ fillSpace: true }", function() { expect( 3 ); $( "#navigationWrapper" ).height( 500 ); var element = $( "#navigation" ).accordion({ fillSpace: true }); - accordion_equalHeights( element, 446, 458 ); + equalHeights( element, 446, 458 ); }); test( "{ fillSapce: true } with sibling", function() { @@ -138,7 +142,7 @@ test( "{ fillSapce: true } with sibling", function() { }) .prependTo( "#navigationWrapper" ); var element = $( "#navigation" ).accordion({ fillSpace: true }); - accordion_equalHeights( element , 346, 358); + equalHeights( element , 346, 358); }); test( "{ fillSpace: true } with multiple siblings", function() { @@ -167,14 +171,14 @@ test( "{ fillSpace: true } with multiple siblings", function() { }) .prependTo( "#navigationWrapper" ); var element = $( "#navigation" ).accordion({ fillSpace: true }); - accordion_equalHeights( element, 296, 308 ); + equalHeights( element, 296, 308 ); }); -module( "accordion (deprecated) - icons", accordion_setupTeardown() ); +module( "accordion (deprecated) - icons", setupTeardown() ); test( "icons, headerSelected", function() { expect( 3 ); @@ -191,7 +195,7 @@ test( "icons, headerSelected", function() { -module( "accordion (deprecated) - resize", accordion_setupTeardown() ); +module( "accordion (deprecated) - resize", setupTeardown() ); test( "resize", function() { expect( 6 ); @@ -202,18 +206,18 @@ test( "resize", function() { .accordion({ heightStyle: "fill" }); - accordion_equalHeights( element, 246, 258 ); + equalHeights( element, 246, 258 ); element.parent().height( 500 ); element.accordion( "resize" ); - accordion_equalHeights( element, 446, 458 ); + equalHeights( element, 446, 458 ); }); -module( "accordion (deprecated) - navigation", accordion_setupTeardown() ); +module( "accordion (deprecated) - navigation", setupTeardown() ); test( "{ navigation: true, navigationFilter: header }", function() { expect( 2 ); @@ -224,7 +228,7 @@ test( "{ navigation: true, navigationFilter: header }", function() { } }); equal( element.accordion( "option", "active" ), 2 ); - accordion_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); }); test( "{ navigation: true, navigationFilter: content }", function() { @@ -236,14 +240,14 @@ test( "{ navigation: true, navigationFilter: content }", function() { } }); equal( element.accordion( "option", "active" ), 2 ); - accordion_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); }); -module( "accordion (deprecated) - changestart/change events", accordion_setupTeardown() ); +module( "accordion (deprecated) - changestart/change events", setupTeardown() ); test( "changestart", function() { expect( 26 ); @@ -261,10 +265,10 @@ test( "changestart", function() { strictEqual( ui.newHeader[ 0 ], headers[ 0 ] ); equal( ui.newContent.size(), 1 ); strictEqual( ui.newContent[ 0 ], content[ 0 ] ); - accordion_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); }); element.accordion( "option", "active", 0 ); - accordion_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); element.one( "accordionchangestart", function( event, ui ) { equal( ui.oldHeader.size(), 1 ); @@ -275,10 +279,10 @@ test( "changestart", function() { strictEqual( ui.newHeader[ 0 ], headers[ 1 ] ); equal( ui.newContent.size(), 1 ); strictEqual( ui.newContent[ 0 ], content[ 1 ] ); - accordion_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); }); headers.eq( 1 ).click(); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); element.one( "accordionchangestart", function( event, ui ) { equal( ui.oldHeader.size(), 1 ); @@ -287,10 +291,10 @@ test( "changestart", function() { strictEqual( ui.oldContent[ 0 ], content[ 1 ] ); equal( ui.newHeader.size(), 0 ); equal( ui.newContent.size(), 0 ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); }); element.accordion( "option", "active", false ); - accordion_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); }); test( "change", function() { diff --git a/tests/unit/accordion/accordion_events.js b/tests/unit/accordion/accordion_events.js index 7e3d1f8d0..932e4637d 100644 --- a/tests/unit/accordion/accordion_events.js +++ b/tests/unit/accordion/accordion_events.js @@ -1,6 +1,9 @@ (function( $ ) { -module( "accordion: events", accordion_setupTeardown() ); +var setupTeardown = TestHelpers.accordion.setupTeardown, + state = TestHelpers.accordion.state; + +module( "accordion: events", setupTeardown() ); test( "create", function() { expect( 10 ); @@ -58,10 +61,10 @@ test( "beforeActivate", function() { strictEqual( ui.newHeader[ 0 ], headers[ 0 ] ); equal( ui.newContent.size(), 1 ); strictEqual( ui.newContent[ 0 ], content[ 0 ] ); - accordion_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); }); element.accordion( "option", "active", 0 ); - accordion_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); element.one( "accordionbeforeactivate", function( event, ui ) { equal( event.originalEvent.type, "click" ); @@ -73,10 +76,10 @@ test( "beforeActivate", function() { strictEqual( ui.newHeader[ 0 ], headers[ 1 ] ); equal( ui.newContent.size(), 1 ); strictEqual( ui.newContent[ 0 ], content[ 1 ] ); - accordion_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); }); headers.eq( 1 ).click(); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); element.one( "accordionbeforeactivate", function( event, ui ) { ok( !( "originalEvent" in event ) ); @@ -86,10 +89,10 @@ test( "beforeActivate", function() { strictEqual( ui.oldContent[ 0 ], content[ 1 ] ); equal( ui.newHeader.size(), 0 ); equal( ui.newContent.size(), 0 ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); }); element.accordion( "option", "active", false ); - accordion_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); element.one( "accordionbeforeactivate", function( event, ui ) { ok( !( "originalEvent" in event ) ); @@ -100,10 +103,10 @@ test( "beforeActivate", function() { equal( ui.newContent.size(), 1 ); strictEqual( ui.newContent[ 0 ], content[ 2 ] ); event.preventDefault(); - accordion_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); }); element.accordion( "option", "active", 2 ); - accordion_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); }); test( "activate", function() { diff --git a/tests/unit/accordion/accordion_methods.js b/tests/unit/accordion/accordion_methods.js index 2f4722070..2c5b36632 100644 --- a/tests/unit/accordion/accordion_methods.js +++ b/tests/unit/accordion/accordion_methods.js @@ -1,6 +1,10 @@ (function( $ ) { -module( "accordion: methods", accordion_setupTeardown() ); +var equalHeights = TestHelpers.accordion.equalHeights, + setupTeardown = TestHelpers.accordion.setupTeardown, + state = TestHelpers.accordion.state; + +module( "accordion: methods", setupTeardown() ); test( "destroy", function() { expect( 1 ); @@ -12,17 +16,17 @@ test( "destroy", function() { test( "enable/disable", function() { expect( 4 ); var element = $( "#list1" ).accordion(); - accordion_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); element.accordion( "disable" ); // event does nothing element.find( ".ui-accordion-header" ).eq( 1 ).trigger( "click" ); - accordion_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); // option still works element.accordion( "option", "active", 1 ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); element.accordion( "enable" ); element.accordion( "option", "active", 2 ); - accordion_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); }); test( "refresh", function() { @@ -34,11 +38,11 @@ test( "refresh", function() { .accordion({ heightStyle: "fill" }); - accordion_equalHeights( element, 246, 258 ); + equalHeights( element, 246, 258 ); element.parent().height( 500 ); element.accordion( "refresh" ); - accordion_equalHeights( element, 446, 458 ); + equalHeights( element, 446, 458 ); }); }( jQuery ) ); diff --git a/tests/unit/accordion/accordion_options.js b/tests/unit/accordion/accordion_options.js index a29c7f07d..f64ddc675 100644 --- a/tests/unit/accordion/accordion_options.js +++ b/tests/unit/accordion/accordion_options.js @@ -1,12 +1,16 @@ (function( $ ) { -module( "accordion: options", accordion_setupTeardown() ); +var equalHeights = TestHelpers.accordion.equalHeights, + setupTeardown = TestHelpers.accordion.setupTeardown, + state = TestHelpers.accordion.state; + +module( "accordion: options", setupTeardown() ); test( "{ active: default }", function() { expect( 2 ); var element = $( "#list1" ).accordion(); equal( element.accordion( "option", "active" ), 0 ); - accordion_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); }); test( "{ active: false }", function() { @@ -15,19 +19,19 @@ test( "{ active: false }", function() { active: false, collapsible: true }); - accordion_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); equal( element.find( ".ui-accordion-header.ui-state-active" ).size(), 0, "no headers selected" ); equal( element.accordion( "option", "active" ), false ); element.accordion( "option", "collapsible", false ); - accordion_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); equal( element.accordion( "option", "active" ), 0 ); element.accordion( "destroy" ); element.accordion({ active: false }); - accordion_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); strictEqual( element.accordion( "option", "active" ), 0 ); }); @@ -37,19 +41,19 @@ test( "{ active: Number }", function() { active: 2 }); equal( element.accordion( "option", "active" ), 2 ); - accordion_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); element.accordion( "option", "active", 0 ); equal( element.accordion( "option", "active" ), 0 ); - accordion_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); element.find( ".ui-accordion-header" ).eq( 1 ).click(); equal( element.accordion( "option", "active" ), 1 ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); element.accordion( "option", "active", 10 ); equal( element.accordion( "option", "active" ), 1 ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); }); if ( $.uiBackCompat === false ) { @@ -59,19 +63,19 @@ if ( $.uiBackCompat === false ) { active: -1 }); equal( element.accordion( "option", "active" ), 2 ); - accordion_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); element.accordion( "option", "active", -2 ); equal( element.accordion( "option", "active" ), 1 ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); element.accordion( "option", "active", -10 ); equal( element.accordion( "option", "active" ), 1 ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); element.accordion( "option", "active", -3 ); equal( element.accordion( "option", "active" ), 0 ); - accordion_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); }); } @@ -252,11 +256,11 @@ test( "{ collapsible: false }", function() { }); element.accordion( "option", "active", false ); equal( element.accordion( "option", "active" ), 1 ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); element.find( ".ui-accordion-header" ).eq( 1 ).click(); equal( element.accordion( "option", "active" ), 1 ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); }); test( "{ collapsible: true }", function() { @@ -268,15 +272,15 @@ test( "{ collapsible: true }", function() { element.accordion( "option", "active", false ); equal( element.accordion( "option", "active" ), false ); - accordion_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); element.accordion( "option", "active", 1 ); equal( element.accordion( "option", "active" ), 1 ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); element.find( ".ui-accordion-header" ).eq( 1 ).click(); equal( element.accordion( "option", "active" ), false ); - accordion_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); }); test( "{ event: null }", function() { @@ -284,16 +288,16 @@ test( "{ event: null }", function() { var element = $( "#list1" ).accordion({ event: null }); - accordion_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); element.accordion( "option", "active", 1 ); equal( element.accordion( "option", "active" ), 1 ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); // ensure default click handler isn't bound element.find( ".ui-accordion-header" ).eq( 2 ).click(); equal( element.accordion( "option", "active" ), 1 ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); }); test( "{ event: custom }", function() { @@ -301,20 +305,20 @@ test( "{ event: custom }", function() { var element = $( "#list1" ).accordion({ event: "custom1 custom2" }); - accordion_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); element.find( ".ui-accordion-header" ).eq( 1 ).trigger( "custom1" ); equal( element.accordion( "option", "active" ), 1 ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); // ensure default click handler isn't bound element.find( ".ui-accordion-header" ).eq( 2 ).trigger( "click" ); equal( element.accordion( "option", "active" ), 1 ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); element.find( ".ui-accordion-header" ).eq( 2 ).trigger( "custom2" ); equal( element.accordion( "option", "active" ), 2 ); - accordion_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); element.accordion( "option", "event", "custom3" ); @@ -322,20 +326,20 @@ test( "{ event: custom }", function() { element.find( ".ui-accordion-header" ).eq( 1 ).trigger( "custom1" ); element.find( ".ui-accordion-header" ).eq( 1 ).trigger( "custom2" ); equal( element.accordion( "option", "active" ), 2 ); - accordion_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); element.find( ".ui-accordion-header" ).eq( 1 ).trigger( "custom3" ); equal( element.accordion( "option", "active" ), 1 ); - accordion_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); }); test( "{ header: default }", function() { expect( 2 ); // default: > li > :first-child,> :not(li):even // > :not(li):even - accordion_state( $( "#list1" ).accordion(), 1, 0, 0); + state( $( "#list1" ).accordion(), 1, 0, 0); // > li > :first-child - accordion_state( $( "#navigation" ).accordion(), 1, 0, 0); + state( $( "#navigation" ).accordion(), 1, 0, 0); }); test( "{ header: custom }", function() { @@ -347,15 +351,15 @@ test( "{ header: custom }", function() { ok( $( this ).hasClass( "ui-accordion-header" ) ); }); equal( element.find( ".ui-accordion-header" ).length, 3 ); - accordion_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); element.accordion( "option", "active", 2 ); - accordion_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); }); test( "{ heightStyle: 'auto' }", function() { expect( 3 ); var element = $( "#navigation" ).accordion({ heightStyle: "auto" }); - accordion_equalHeights( element, 95, 130 ); + equalHeights( element, 95, 130 ); }); test( "{ heightStyle: 'content' }", function() { @@ -373,7 +377,7 @@ test( "{ heightStyle: 'fill' }", function() { expect( 3 ); $( "#navigationWrapper" ).height( 500 ); var element = $( "#navigation" ).accordion({ heightStyle: "fill" }); - accordion_equalHeights( element, 446, 458 ); + equalHeights( element, 446, 458 ); }); test( "{ heightStyle: 'fill' } with sibling", function() { @@ -387,7 +391,7 @@ test( "{ heightStyle: 'fill' } with sibling", function() { }) .prependTo( "#navigationWrapper" ); var element = $( "#navigation" ).accordion({ heightStyle: "fill" }); - accordion_equalHeights( element , 346, 358); + equalHeights( element , 346, 358); }); test( "{ heightStyle: 'fill' } with multiple siblings", function() { @@ -416,7 +420,7 @@ test( "{ heightStyle: 'fill' } with multiple siblings", function() { }) .prependTo( "#navigationWrapper" ); var element = $( "#navigation" ).accordion({ heightStyle: "fill" }); - accordion_equalHeights( element, 296, 308 ); + equalHeights( element, 296, 308 ); }); test( "{ icons: false }", function() { diff --git a/tests/unit/accordion/accordion_test_helpers.js b/tests/unit/accordion/accordion_test_helpers.js index 889608fba..56967793d 100644 --- a/tests/unit/accordion/accordion_test_helpers.js +++ b/tests/unit/accordion/accordion_test_helpers.js @@ -1,30 +1,32 @@ -function accordion_state( accordion ) { - var expected = $.makeArray( arguments ).slice( 1 ), - actual = accordion.find( ".ui-accordion-content" ).map(function() { - return $( this ).css( "display" ) === "none" ? 0 : 1; - }).get(); - QUnit.push( QUnit.equiv(actual, expected), actual, expected ); -} +TestHelpers.accordion = { + equalHeights: function( accordion, min, max ) { + var sizes = []; + accordion.find( ".ui-accordion-content" ).each(function() { + sizes.push( $( this ).outerHeight() ); + }); + ok( sizes[ 0 ] >= min && sizes[ 0 ] <= max, + "must be within " + min + " and " + max + ", was " + sizes[ 0 ] ); + deepEqual( sizes[ 0 ], sizes[ 1 ] ); + deepEqual( sizes[ 0 ], sizes[ 2 ] ); + }, -function accordion_equalHeights( accordion, min, max ) { - var sizes = []; - accordion.find( ".ui-accordion-content" ).each(function() { - sizes.push( $( this ).outerHeight() ); - }); - ok( sizes[ 0 ] >= min && sizes[ 0 ] <= max, - "must be within " + min + " and " + max + ", was " + sizes[ 0 ] ); - deepEqual( sizes[ 0 ], sizes[ 1 ] ); - deepEqual( sizes[ 0 ], sizes[ 2 ] ); -} + setupTeardown: function() { + var animate = $.ui.accordion.prototype.options.animate; + return { + setup: function() { + $.ui.accordion.prototype.options.animate = false; + }, + teardown: function() { + $.ui.accordion.prototype.options.animate = animate; + } + }; + }, -function accordion_setupTeardown() { - var animate = $.ui.accordion.prototype.options.animate; - return { - setup: function() { - $.ui.accordion.prototype.options.animate = false; - }, - teardown: function() { - $.ui.accordion.prototype.options.animate = animate; - } - }; -} + state: function( accordion ) { + var expected = $.makeArray( arguments ).slice( 1 ), + actual = accordion.find( ".ui-accordion-content" ).map(function() { + return $( this ).css( "display" ) === "none" ? 0 : 1; + }).get(); + QUnit.push( QUnit.equiv(actual, expected), actual, expected ); + } +}; diff --git a/tests/unit/testsuite.js b/tests/unit/testsuite.js index 2ef6bf472..648b302ee 100644 --- a/tests/unit/testsuite.js +++ b/tests/unit/testsuite.js @@ -1,5 +1,7 @@ (function() { +window.TestHelpers = {}; + function testWidgetDefaults( widget, defaults ) { var pluginDefaults = $.ui[ widget ].prototype.options; -- cgit v1.2.3 From c16bd7c510cff4e0b01d9c191128af014523da7c Mon Sep 17 00:00:00 2001 From: kborchers Date: Thu, 19 Apr 2012 11:19:52 -0500 Subject: Menu tests: Don't pollute the global namespace with helpers. --- grunt.js | 2 - tests/unit/menu/menu_events.js | 175 ++++++++++++++++++----------------- tests/unit/menu/menu_methods.js | 17 ++-- tests/unit/menu/menu_options.js | 19 ++-- tests/unit/menu/menu_test_helpers.js | 28 +++--- 5 files changed, 125 insertions(+), 116 deletions(-) (limited to 'tests/unit') diff --git a/grunt.js b/grunt.js index 78303180d..33ae33829 100644 --- a/grunt.js +++ b/grunt.js @@ -368,8 +368,6 @@ grunt.initConfig({ init: true, isNotOpen: true, isOpen: true, - menu_click: true, - menu_log: true, modal: true, module: true, moved: true, diff --git a/tests/unit/menu/menu_events.js b/tests/unit/menu/menu_events.js index dccb5f7a2..a0051c70b 100644 --- a/tests/unit/menu/menu_events.js +++ b/tests/unit/menu/menu_events.js @@ -3,21 +3,24 @@ */ (function($) { +var log = TestHelpers.menu.log, + click = TestHelpers.menu.click; + module("menu: events"); test("handle click on menu", function() { expect(1); var menu = $('#menu1').menu({ select: function(event, ui) { - menu_log(); + log(); } }); - menu_log("click",true); - menu_click($('#menu1'),"1"); - menu_log("afterclick"); - menu_click( menu,"2"); - menu_click($('#menu1'),"3"); - menu_click( menu,"1"); + log("click",true); + click($('#menu1'),"1"); + log("afterclick"); + click( menu,"2"); + click($('#menu1'),"3"); + click( menu,"1"); equal( $("#log").html(), "1,3,2,afterclick,1,click,", "Click order not valid."); }); @@ -25,16 +28,16 @@ test("handle click on custom item menu", function() { expect(1); var menu = $('#menu5').menu({ select: function(event, ui) { - menu_log(); + log(); }, menus: "div" }); - menu_log("click",true); - menu_click($('#menu5'),"1"); - menu_log("afterclick"); - menu_click( menu,"2"); - menu_click($('#menu5'),"3"); - menu_click( menu,"1"); + log("click",true); + click($('#menu5'),"1"); + log("afterclick"); + click( menu,"2"); + click($('#menu5'),"3"); + click( menu,"1"); equal( $("#log").html(), "1,3,2,afterclick,1,click,", "Click order not valid."); }); @@ -75,7 +78,7 @@ test( "handle blur on custom item menu: click", function() { items: "div" }); - menu_click($('#menu5'),"1"); + click($('#menu5'),"1"); $( "", { id: "remove"} ).appendTo("body").trigger( "click" ); $("#remove").remove(); @@ -144,60 +147,60 @@ test("handle keyboard navigation on menu without scroll and without submenus", f expect(12); var element = $('#menu1').menu({ select: function(event, ui) { - menu_log($(ui.item[0]).text()); + log($(ui.item[0]).text()); }, focus: function( event, ui ) { - menu_log($(event.target).find(".ui-state-focus").parent().index()); + log($(event.target).find(".ui-state-focus").parent().index()); } }); - menu_log("keydown",true); + log("keydown",true); element.focus(); element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); equal( $("#log").html(), "2,1,0,keydown,", "Keydown DOWN"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.UP } ); equal( $("#log").html(), "1,keydown,", "Keydown UP"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } ); equal( $("#log").html(), "keydown,", "Keydown LEFT (no effect)"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } ); equal( $("#log").html(), "keydown,", "Keydown RIGHT (no effect)"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN } ); equal( $("#log").html(), "4,keydown,", "Keydown PAGE_DOWN"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN } ); equal( $("#log").html(), "keydown,", "Keydown PAGE_DOWN (no effect)"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_UP } ); equal( $("#log").html(), "0,keydown,", "Keydown PAGE_UP"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_UP } ); equal( $("#log").html(), "keydown,", "Keydown PAGE_UP (no effect)"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.END } ); equal( $("#log").html(), "4,keydown,", "Keydown END"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.HOME } ); equal( $("#log").html(), "0,keydown,", "Keydown HOME"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.ESCAPE } ); equal( $("#log").html(), "keydown,", "Keydown ESCAPE (no effect)"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } ); equal( $("#log").html(), "Aberdeen,keydown,", "Keydown ENTER"); }); @@ -206,14 +209,14 @@ asyncTest("handle keyboard navigation on menu without scroll and with submenus", expect(14); var element = $('#menu2').menu({ select: function(event, ui) { - menu_log($(ui.item[0]).text()); + log($(ui.item[0]).text()); }, focus: function( event, ui ) { - menu_log($(event.target).find(".ui-state-focus").parent().index()); + log($(event.target).find(".ui-state-focus").parent().index()); } }); - menu_log("keydown",true); + log("keydown",true); element.one( "menufocus", function( event, ui ) { element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); @@ -223,16 +226,16 @@ asyncTest("handle keyboard navigation on menu without scroll and with submenus", element.focus(); function menukeyboard1() { - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.UP } ); element.simulate( "keydown", { keyCode: $.ui.keyCode.UP } ); equal( $("#log").html(), "0,1,keydown,", "Keydown UP"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } ); equal( $("#log").html(), "keydown,", "Keydown LEFT (no effect)"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); @@ -246,7 +249,7 @@ asyncTest("handle keyboard navigation on menu without scroll and with submenus", } function menukeyboard2() { - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } ); equal( $("#log").html(), "4,keydown,", "Keydown LEFT (close submenu)"); @@ -256,35 +259,35 @@ asyncTest("handle keyboard navigation on menu without scroll and with submenus", } function menukeyboard3() { - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN } ); equal( $("#log").html(), "2,keydown,", "Keydown PAGE_DOWN"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN } ); equal( $("#log").html(), "keydown,", "Keydown PAGE_DOWN (no effect)"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_UP } ); equal( $("#log").html(), "0,keydown,", "Keydown PAGE_UP"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_UP } ); equal( $("#log").html(), "keydown,", "Keydown PAGE_UP (no effect)"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.END } ); equal( $("#log").html(), "2,keydown,", "Keydown END"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.HOME } ); equal( $("#log").html(), "0,keydown,", "Keydown HOME"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.ESCAPE } ); equal( $("#log").html(), "4,keydown,", "Keydown ESCAPE (close submenu)"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } ); setTimeout( menukeyboard4, 50 ); } @@ -292,7 +295,7 @@ asyncTest("handle keyboard navigation on menu without scroll and with submenus", function menukeyboard4() { equal( $("#log").html(), "0,keydown,", "Keydown ENTER (open submenu)"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } ); equal( $("#log").html(), "Ada,keydown,", "Keydown ENTER (select item)"); @@ -304,69 +307,69 @@ test("handle keyboard navigation on menu with scroll and without submenus", func expect(14); var element = $('#menu3').menu({ select: function(event, ui) { - menu_log($(ui.item[0]).text()); + log($(ui.item[0]).text()); }, focus: function( event, ui ) { - menu_log($(event.target).find(".ui-state-focus").parent().index()); + log($(event.target).find(".ui-state-focus").parent().index()); } }); - menu_log("keydown",true); + log("keydown",true); element.focus(); element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); equal( $("#log").html(), "2,1,0,keydown,", "Keydown DOWN"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.UP } ); element.simulate( "keydown", { keyCode: $.ui.keyCode.UP } ); equal( $("#log").html(), "0,1,keydown,", "Keydown UP"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } ); equal( $("#log").html(), "keydown,", "Keydown LEFT (no effect)"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } ); equal( $("#log").html(), "keydown,", "Keydown RIGHT (no effect)"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN } ); equal( $("#log").html(), "10,keydown,", "Keydown PAGE_DOWN"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN } ); equal( $("#log").html(), "20,keydown,", "Keydown PAGE_DOWN"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_UP } ); equal( $("#log").html(), "10,keydown,", "Keydown PAGE_UP"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_UP } ); equal( $("#log").html(), "0,keydown,", "Keydown PAGE_UP"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_UP } ); equal( $("#log").html(), "keydown,", "Keydown PAGE_UP (no effect)"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.END } ); equal( $("#log").html(), "37,keydown,", "Keydown END"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN } ); equal( $("#log").html(), "keydown,", "Keydown PAGE_DOWN (no effect)"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.HOME } ); equal( $("#log").html(), "0,keydown,", "Keydown HOME"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.ESCAPE } ); equal( $("#log").html(), "keydown,", "Keydown ESCAPE (no effect)"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } ); equal( $("#log").html(), "Aberdeen,keydown,", "Keydown ENTER"); }); @@ -375,14 +378,14 @@ asyncTest("handle keyboard navigation on menu with scroll and with submenus", fu expect(14); var element = $('#menu4').menu({ select: function(event, ui) { - menu_log($(ui.item[0]).text()); + log($(ui.item[0]).text()); }, focus: function( event, ui ) { - menu_log($(event.target).find(".ui-state-focus").parent().index()); + log($(event.target).find(".ui-state-focus").parent().index()); } }); - menu_log("keydown",true); + log("keydown",true); element.one( "menufocus", function( event, ui ) { element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); @@ -393,16 +396,16 @@ asyncTest("handle keyboard navigation on menu with scroll and with submenus", fu function menukeyboard1() { - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.UP } ); element.simulate( "keydown", { keyCode: $.ui.keyCode.UP } ); equal( $("#log").html(), "0,1,keydown,", "Keydown UP"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } ); equal( $("#log").html(), "keydown,", "Keydown LEFT (no effect)"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); element.simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } ); @@ -413,7 +416,7 @@ asyncTest("handle keyboard navigation on menu with scroll and with submenus", fu } function menukeyboard2() { - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } ); equal( $("#log").html(), "1,keydown,", "Keydown LEFT (close submenu)"); @@ -423,35 +426,35 @@ asyncTest("handle keyboard navigation on menu with scroll and with submenus", fu } function menukeyboard3() { - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN } ); equal( $("#log").html(), "10,keydown,", "Keydown PAGE_DOWN"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN } ); equal( $("#log").html(), "20,keydown,", "Keydown PAGE_DOWN"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_UP } ); equal( $("#log").html(), "10,keydown,", "Keydown PAGE_UP"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_UP } ); equal( $("#log").html(), "0,keydown,", "Keydown PAGE_UP"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.END } ); equal( $("#log").html(), "27,keydown,", "Keydown END"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.HOME } ); equal( $("#log").html(), "0,keydown,", "Keydown HOME"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.ESCAPE } ); equal( $("#log").html(), "1,keydown,", "Keydown ESCAPE (close submenu)"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } ); setTimeout( menukeyboard4, 50 ); } @@ -459,7 +462,7 @@ asyncTest("handle keyboard navigation on menu with scroll and with submenus", fu function menukeyboard4() { equal( $("#log").html(), "0,keydown,", "Keydown ENTER (open submenu)"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } ); equal( $("#log").html(), "Aberdeen,keydown,", "Keydown ENTER (select item)"); @@ -471,14 +474,14 @@ asyncTest("handle keyboard navigation and mouse click on menu with disabled item expect(6); var element = $('#menu6').menu({ select: function(event, ui) { - menu_log($(ui.item[0]).text()); + log($(ui.item[0]).text()); }, focus: function( event, ui ) { - menu_log($(event.target).find(".ui-state-focus").parent().index()); + log($(event.target).find(".ui-state-focus").parent().index()); } }); - menu_log("keydown",true); + log("keydown",true); element.one( "menufocus", function( event, ui ) { element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); element.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } ); @@ -489,29 +492,29 @@ asyncTest("handle keyboard navigation and mouse click on menu with disabled item function menukeyboard1() { - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); equal( $("#log").html(), "4,3,2,keydown,", "Keydown focus disabled item with submenu"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } ); equal( $("#log").html(), "keydown,", "Keydown LEFT (no effect)"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } ); setTimeout( function() { equal( $("#log").html(), "keydown,", "Keydown RIGHT (no effect on disabled sub-menu)"); - menu_log("keydown",true); + log("keydown",true); element.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } ); setTimeout( function() { equal( $("#log").html(), "keydown,", "Keydown ENTER (no effect on disabled sub-menu)"); - menu_log("click",true); - menu_click( element, "1" ); + log("click",true); + click( element, "1" ); equal( $("#log").html(), "click,", "Click disabled item (no effect)"); start(); }, 50); diff --git a/tests/unit/menu/menu_methods.js b/tests/unit/menu/menu_methods.js index 200ea4427..6ad7bc134 100644 --- a/tests/unit/menu/menu_methods.js +++ b/tests/unit/menu/menu_methods.js @@ -3,25 +3,28 @@ */ (function($) { +var log = TestHelpers.menu.log, + click = TestHelpers.menu.click; + module("menu: methods"); test( "enable/disable", function() { expect( 3 ); var menu = $( "#menu1" ).menu({ select: function(event, ui) { - menu_log(); + log(); } }); menu.menu("disable"); ok(menu.is(".ui-state-disabled"),"Missing ui-state-disabled class"); - menu_log("click",true); - menu_click(menu,"1"); - menu_log("afterclick"); + log("click",true); + click(menu,"1"); + log("afterclick"); menu.menu("enable"); ok(menu.not(".ui-state-disabled"),"Has ui-state-disabled class"); - menu_log("click"); - menu_click(menu,"1"); - menu_log("afterclick"); + log("click"); + click(menu,"1"); + log("afterclick"); equal( $("#log").html(), "afterclick,1,click,afterclick,click,", "Click order not valid."); }); diff --git a/tests/unit/menu/menu_options.js b/tests/unit/menu/menu_options.js index cda52d88d..e651fd2d1 100644 --- a/tests/unit/menu/menu_options.js +++ b/tests/unit/menu/menu_options.js @@ -3,6 +3,9 @@ */ (function($) { +var log = TestHelpers.menu.log, + click = TestHelpers.menu.click; + module("menu: options"); test( "{ disabled: true }", function() { @@ -10,13 +13,13 @@ test( "{ disabled: true }", function() { var menu = $( "#menu1" ).menu({ disabled: true, select: function(event, ui) { - menu_log(); + log(); } }); ok(menu.is(".ui-state-disabled"),"Missing ui-state-disabled class"); - menu_log("click",true); - menu_click(menu,"1"); - menu_log("afterclick"); + log("click",true); + click(menu,"1"); + log("afterclick"); equal( $("#log").html(), "afterclick,click,", "Click order not valid."); }); @@ -25,13 +28,13 @@ test( "{ disabled: false }", function() { var menu = $( "#menu1" ).menu({ disabled: false, select: function(event, ui) { - menu_log(); + log(); } }); ok(menu.not(".ui-state-disabled"),"Has ui-state-disabled class"); - menu_log("click",true); - menu_click(menu,"1"); - menu_log("afterclick"); + log("click",true); + click(menu,"1"); + log("afterclick"); equal( $("#log").html(), "afterclick,1,click,", "Click order not valid."); }); diff --git a/tests/unit/menu/menu_test_helpers.js b/tests/unit/menu/menu_test_helpers.js index e83795e5a..a576af19a 100644 --- a/tests/unit/menu/menu_test_helpers.js +++ b/tests/unit/menu/menu_test_helpers.js @@ -1,14 +1,16 @@ -function menu_log( message, clear ) { - if ( clear ) { - $( "#log" ).empty(); - } - if ( message === undefined ) { - message = $( "#log" ).data( "lastItem" ); - } - $( "#log" ).prepend( $.trim( message ) + "," ); -} +TestHelpers.menu = { + log: function( message, clear ) { + if ( clear ) { + $( "#log" ).empty(); + } + if ( message === undefined ) { + message = $( "#log" ).data( "lastItem" ); + } + $( "#log" ).prepend( $.trim( message ) + "," ); + }, -function menu_click( menu, item ) { - $( "#log" ).data( "lastItem", item ); - menu.children( ":eq(" + item + ")" ).find( "a:first" ).trigger( "click" ); -} \ No newline at end of file + click: function( menu, item ) { + $( "#log" ).data( "lastItem", item ); + menu.children( ":eq(" + item + ")" ).find( "a:first" ).trigger( "click" ); + } +}; \ No newline at end of file -- cgit v1.2.3 From 33e93ef7f0aff6b6117177638a94e24e02dbc1be Mon Sep 17 00:00:00 2001 From: Scott González Date: Thu, 19 Apr 2012 12:53:06 -0400 Subject: Tabs tests: Don't pollute the global namespace with helpers. --- grunt.js | 2 - tests/unit/tabs/tabs.html | 57 +---------------------- tests/unit/tabs/tabs_core.js | 4 +- tests/unit/tabs/tabs_deprecated.html | 57 +---------------------- tests/unit/tabs/tabs_deprecated.js | 90 ++++++++++++++++++------------------ tests/unit/tabs/tabs_events.js | 48 ++++++++++--------- tests/unit/tabs/tabs_methods.js | 87 +++++++++++++++++----------------- tests/unit/tabs/tabs_options.js | 71 ++++++++++++++-------------- tests/unit/tabs/tabs_test_helpers.js | 61 ++++++++++++++++++++++++ 9 files changed, 219 insertions(+), 258 deletions(-) create mode 100644 tests/unit/tabs/tabs_test_helpers.js (limited to 'tests/unit') diff --git a/grunt.js b/grunt.js index 33ae33829..e0a085a38 100644 --- a/grunt.js +++ b/grunt.js @@ -388,8 +388,6 @@ grunt.initConfig({ start: true, strictEqual: true, stop: true, - tabs_state: true, - tabs_disabled: true, test: true, TestHelpers: true, widthAfter: true diff --git a/tests/unit/tabs/tabs.html b/tests/unit/tabs/tabs.html index fc494e013..7f60ad277 100644 --- a/tests/unit/tabs/tabs.html +++ b/tests/unit/tabs/tabs.html @@ -25,68 +25,13 @@ + - diff --git a/tests/unit/tabs/tabs_core.js b/tests/unit/tabs/tabs_core.js index 21250fb33..b9bd81987 100644 --- a/tests/unit/tabs/tabs_core.js +++ b/tests/unit/tabs/tabs_core.js @@ -1,5 +1,7 @@ (function( $ ) { +var state = TestHelpers.tabs.state; + module( "tabs: core" ); test( "markup structure", function() { @@ -89,7 +91,7 @@ test( "#4033 - IE expands hash to full url and misinterprets tab as ajax", funct }); equal( element.find( ".ui-tabs-nav a" ).attr( "aria-controls" ), "tab", "aria-contorls attribute is correct" ); - tabs_state( element, 1 ); + state( element, 1 ); }); }( jQuery ) ); diff --git a/tests/unit/tabs/tabs_deprecated.html b/tests/unit/tabs/tabs_deprecated.html index 410aebc40..c22ec3369 100644 --- a/tests/unit/tabs/tabs_deprecated.html +++ b/tests/unit/tabs/tabs_deprecated.html @@ -23,6 +23,7 @@ + @@ -30,62 +31,6 @@ - diff --git a/tests/unit/tabs/tabs_deprecated.js b/tests/unit/tabs/tabs_deprecated.js index c8f0e2881..8386a13ac 100644 --- a/tests/unit/tabs/tabs_deprecated.js +++ b/tests/unit/tabs/tabs_deprecated.js @@ -1,5 +1,7 @@ (function( $ ) { +var state = TestHelpers.tabs.state; + module( "tabs (deprecated): core" ); test( "panel ids", function() { @@ -48,17 +50,17 @@ asyncTest( "cache", function() { cache: true }); element.one( "tabsshow", function( event, ui ) { - tabs_state( element, 0, 0, 1, 0, 0 ); + state( element, 0, 0, 1, 0, 0 ); }); element.one( "tabsload", function( event, ui ) { ok( true, "tabsload" ); setTimeout(function() { element.tabs( "option", "active", 0 ); - tabs_state( element, 1, 0, 0, 0, 0 ); + state( element, 1, 0, 0, 0, 0 ); element.one( "tabsshow", function( event, ui ) { - tabs_state( element, 0, 0, 1, 0, 0 ); + state( element, 0, 0, 1, 0, 0 ); }); element.one( "tabsload", function( event, ui ) { ok( false, "should be cached" ); @@ -68,7 +70,7 @@ asyncTest( "cache", function() { }, 1 ); }); element.tabs( "option", "active", 2 ); - tabs_state( element, 0, 0, 1, 0, 0 ); + state( element, 0, 0, 1, 0, 0 ); }); test( "idPrefix", function() { @@ -171,50 +173,50 @@ test( "selected", function() { var element = $( "#tabs1" ).tabs(); equal( element.tabs( "option", "selected" ), 0, "should be 0 by default" ); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); element.tabs( "destroy" ); location.hash = "#fragment-3"; element = $( "#tabs1" ).tabs(); equal( element.tabs( "option", "selected" ), 2, "should be 2 based on URL" ); - tabs_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); element.tabs( "destroy" ); el = $('#tabs1').tabs({ selected: -1, collapsible: true }); - tabs_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); equal( element.find( ".ui-tabs-nav .ui-state-active" ).size(), 0, "no tabs selected" ); strictEqual( element.tabs( "option", "selected" ), -1 ); element.tabs( "option", "collapsible", false ); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); equal( element.tabs( "option", "selected" ), 0 ); element.tabs( "destroy" ); element.tabs({ selected: -1 }); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); strictEqual( element.tabs( "option", "selected" ), 0 ); element.tabs( "destroy" ); element.tabs({ selected: 2 }); equal( element.tabs( "option", "selected" ), 2 ); - tabs_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); element.tabs( "option", "selected", 0 ); equal( element.tabs( "option", "selected" ), 0 ); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); element.find( ".ui-tabs-nav a" ).eq( 1 ).click(); equal( element.tabs( "option", "selected" ), 1 ); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); element.tabs( "option", "selected", 10 ); equal( element.tabs( "option", "selected" ), 1 ); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); location.hash = "#"; }); @@ -237,7 +239,7 @@ asyncTest( "load", function() { strictEqual( ui.tab, tab[ 0 ], "tab" ); strictEqual( ui.panel, panel[ 0 ], "panel" ); equal( $( ui.panel ).find( "p" ).length, 1, "panel html" ); - tabs_state( element, 0, 0, 1, 0, 0 ); + state( element, 0, 0, 1, 0, 0 ); tabsload1(); }); element.tabs({ active: 2 }); @@ -253,7 +255,7 @@ asyncTest( "load", function() { strictEqual( ui.tab, tab[ 0 ], "tab" ); strictEqual( ui.panel, panel[ 0 ], "panel" ); equal( $( ui.panel ).find( "p" ).length, 1, "panel html" ); - tabs_state( element, 0, 0, 0, 1, 0 ); + state( element, 0, 0, 0, 1, 0 ); tabsload2(); }); element.tabs( "option", "active", 3 ); @@ -270,7 +272,7 @@ asyncTest( "load", function() { strictEqual( ui.tab, tab[ 0 ], "tab" ); strictEqual( ui.panel, panel[ 0 ], "panel" ); equal( $( ui.panel ).find( "p" ).length, 1, "panel html" ); - tabs_state( element, 0, 0, 0, 0, 1 ); + state( element, 0, 0, 0, 0, 1 ); start(); }); element.find( ".ui-tabs-nav a" ).eq( 4 ).click(); @@ -325,10 +327,10 @@ test( "show", function() { strictEqual( ui.tab, tabs[ 0 ], "ui.tab" ); strictEqual( ui.panel, panels[ 0 ], "ui.panel" ); equal( ui.index, 0, "ui.index" ); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); }); element.tabs( "option", "active", 0 ); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); // switching tabs element.one( "tabsshow", function( event, ui ) { @@ -336,17 +338,17 @@ test( "show", function() { strictEqual( ui.tab, tabs[ 1 ], "ui.tab" ); strictEqual( ui.panel, panels[ 1 ], "ui.panel" ); equal( ui.index, 1, "ui.index" ); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); }); tabs.eq( 1 ).click(); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); // collapsing element.one( "tabsshow", function( event, ui ) { ok( false, "collapsing" ); }); element.tabs( "option", "active", false ); - tabs_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); }); test( "select", function() { @@ -365,10 +367,10 @@ test( "select", function() { strictEqual( ui.tab, tabs[ 0 ], "ui.tab" ); strictEqual( ui.panel, panels[ 0 ], "ui.panel" ); equal( ui.index, 0, "ui.index" ); - tabs_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); }); element.tabs( "option", "active", 0 ); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); // switching tabs element.one( "tabsselect", function( event, ui ) { @@ -376,17 +378,17 @@ test( "select", function() { strictEqual( ui.tab, tabs[ 1 ], "ui.tab" ); strictEqual( ui.panel, panels[ 1 ], "ui.panel" ); equal( ui.index, 1, "ui.index" ); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); }); tabs.eq( 1 ).click(); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); // collapsing element.one( "tabsselect", function( event, ui ) { ok( false, "collapsing" ); }); element.tabs( "option", "active", false ); - tabs_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); }); module( "tabs (deprecated): methods" ); @@ -396,7 +398,7 @@ test( "add", function() { var tab, anchor, element = $( "#tabs1" ).tabs(); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); // add without index element.one( "tabsadd", function( event, ui ) { @@ -405,7 +407,7 @@ test( "add", function() { equal( ui.panel.id, "new", "ui.panel" ); }); element.tabs( "add", "#new", "New" ); - tabs_state( element, 1, 0, 0, 0 ); + state( element, 1, 0, 0, 0 ); tab = element.find( ".ui-tabs-nav li" ).last(); anchor = tab.find( "a" ); equal( tab.text(), "New", "label" ); @@ -415,7 +417,7 @@ test( "add", function() { anchor.simulate( "mouseover" ); ok( tab.hasClass( "ui-state-hover" ), "hovered" ); anchor.simulate( "click" ); - tabs_state( element, 0, 0, 0, 1 ); + state( element, 0, 0, 0, 1 ); // add remote tab with index element.one( "tabsadd", function( event, ui ) { @@ -424,7 +426,7 @@ test( "add", function() { equal( ui.panel.id, $( ui.tab ).attr( "aria-controls" ), "ui.panel" ); }); element.tabs( "add", "data/test.html", "New Remote", 1 ); - tabs_state( element, 0, 0, 0, 0, 1 ); + state( element, 0, 0, 0, 0, 1 ); tab = element.find( ".ui-tabs-nav li" ).eq( 1 ); anchor = tab.find( "a" ); equal( tab.text(), "New Remote", "label" ); @@ -434,7 +436,7 @@ test( "add", function() { anchor.simulate( "mouseover" ); ok( tab.hasClass( "ui-state-hover" ), "hovered" ); anchor.simulate( "click" ); - tabs_state( element, 0, 1, 0, 0, 0 ); + state( element, 0, 1, 0, 0, 0 ); // add to empty tab set element = $( "
      " ).tabs(); @@ -445,7 +447,7 @@ test( "add", function() { equal( ui.panel.id, "first", "ui.panel" ); }); element.tabs( "add", "#first", "First" ); - tabs_state( element, 1 ); + state( element, 1 ); equal( element.tabs( "option", "active" ), 0, "active: 0 after add" ); }); @@ -462,7 +464,7 @@ test( "remove", function() { expect( 17 ); var element = $( "#tabs1" ).tabs({ active: 1 }); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); element.one( "tabsremove", function( event, ui ) { equal( ui.index, -1, "ui.index" ); @@ -470,7 +472,7 @@ test( "remove", function() { equal( ui.panel.id, "fragment-2", "ui.panel" ); }); element.tabs( "remove", 1 ); - tabs_state( element, 0, 1 ); + state( element, 0, 1 ); equal( element.tabs( "option", "active" ), 1 ); equal( element.find( ".ui-tabs-nav li a[href$='fragment-2']" ).length, 0, "remove correct list item" ); @@ -482,7 +484,7 @@ test( "remove", function() { equal( ui.panel.id, "fragment-3", "ui.panel" ); }); element.tabs( "remove", 1 ); - tabs_state( element, 1 ); + state( element, 1 ); equal( element.tabs( "option", "active"), 0 ); element.one( "tabsremove", function( event, ui ) { @@ -498,43 +500,43 @@ test( "select", function() { expect( 23 ); var element = $( "#tabs1" ).tabs(); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); element.tabs( "select", 1 ); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); equal( element.tabs( "option", "active" ), 1, "active" ); equal( element.tabs( "option", "selected" ), 1, "selected" ); element.tabs( "destroy" ); element.tabs({ collapsible: true }); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); element.tabs( "select", 0 ); - tabs_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); equal( element.tabs( "option", "active" ), false, "active" ); equal( element.tabs( "option", "selected" ), -1, "selected" ); element.tabs( "destroy" ); element.tabs({ collapsible: true }); element.tabs( "select", -1 ); - tabs_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); equal( element.tabs( "option", "active" ), false, "active" ); equal( element.tabs( "option", "selected" ), -1, "selected" ); element.tabs( "destroy" ); element.tabs(); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); equal( element.tabs( "option", "active" ), 0, "active" ); equal( element.tabs( "option", "selected" ), 0, "selected" ); element.tabs( "select", 0 ); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); equal( element.tabs( "option", "active" ), 0, "active" ); equal( element.tabs( "option", "selected" ), 0, "selected" ); element.tabs( "select", -1 ); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); equal( element.tabs( "option", "active" ), 0, "active" ); equal( element.tabs( "option", "selected" ), 0, "selected" ); element.tabs( "select", "#fragment-2" ); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); equal( element.tabs( "option", "active" ), 1, "active" ); equal( element.tabs( "option", "selected" ), 1, "selected" ); }); diff --git a/tests/unit/tabs/tabs_events.js b/tests/unit/tabs/tabs_events.js index 4f9269b62..3f6ec14d0 100644 --- a/tests/unit/tabs/tabs_events.js +++ b/tests/unit/tabs/tabs_events.js @@ -1,5 +1,7 @@ (function( $ ) { +var state = TestHelpers.tabs.state; + module( "tabs: events" ); test( "create", function() { @@ -60,10 +62,10 @@ test( "beforeActivate", function() { strictEqual( ui.newTab[ 0 ], tabs[ 0 ], "newTab" ); equal( ui.newPanel.size(), 1, "newPanel size" ); strictEqual( ui.newPanel[ 0 ], panels[ 0 ], "newPanel" ); - tabs_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); }); element.tabs( "option", "active", 0 ); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); // switching tabs element.one( "tabsbeforeactivate", function( event, ui ) { @@ -76,10 +78,10 @@ test( "beforeActivate", function() { strictEqual( ui.newTab[ 0 ], tabs[ 1 ], "newTab" ); equal( ui.newPanel.size(), 1, "newPanel size" ); strictEqual( ui.newPanel[ 0 ], panels[ 1 ], "newPanel" ); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); }); tabs.eq( 1 ).click(); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); // collapsing element.one( "tabsbeforeactivate", function( event, ui ) { @@ -90,10 +92,10 @@ test( "beforeActivate", function() { strictEqual( ui.oldPanel[ 0 ], panels[ 1 ], "oldPanel" ); equal( ui.newTab.size(), 0, "newTab size" ); equal( ui.newPanel.size(), 0, "newPanel size" ); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); }); element.tabs( "option", "active", false ); - tabs_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); // prevent activation element.one( "tabsbeforeactivate", function( event, ui ) { @@ -105,10 +107,10 @@ test( "beforeActivate", function() { equal( ui.newPanel.size(), 1, "newPanel size" ); strictEqual( ui.newPanel[ 0 ], panels[ 1 ], "newPanel" ); event.preventDefault(); - tabs_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); }); element.tabs( "option", "active", 1 ); - tabs_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); }); test( "activate", function() { @@ -130,10 +132,10 @@ test( "activate", function() { strictEqual( ui.newTab[ 0 ], tabs[ 0 ], "newTab" ); equal( ui.newPanel.size(), 1, "newPanel size" ); strictEqual( ui.newPanel[ 0 ], panels[ 0 ], "newPanel" ); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); }); element.tabs( "option", "active", 0 ); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); // switching tabs element.one( "tabsactivate", function( event, ui ) { @@ -146,10 +148,10 @@ test( "activate", function() { strictEqual( ui.newTab[ 0 ], tabs[ 1 ], "newTab" ); equal( ui.newPanel.size(), 1, "newPanel size" ); strictEqual( ui.newPanel[ 0 ], panels[ 1 ], "newPanel" ); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); }); tabs.eq( 1 ).click(); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); // collapsing element.one( "tabsactivate", function( event, ui ) { @@ -160,10 +162,10 @@ test( "activate", function() { strictEqual( ui.oldPanel[ 0 ], panels[ 1 ], "oldPanel" ); equal( ui.newTab.size(), 0, "newTab size" ); equal( ui.newPanel.size(), 0, "newPanel size" ); - tabs_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); }); element.tabs( "option", "active", false ); - tabs_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); // prevent activation element.one( "tabsbeforeactivate", function( event ) { @@ -197,10 +199,10 @@ test( "beforeLoad", function() { strictEqual( ui.panel[ 0 ], panel[ 0 ], "panel" ); equal( ui.panel.html(), "", "panel html" ); event.preventDefault(); - tabs_state( element, 0, 0, 1, 0, 0 ); + state( element, 0, 0, 1, 0, 0 ); }); element.tabs({ active: 2 }); - tabs_state( element, 0, 0, 1, 0, 0 ); + state( element, 0, 0, 1, 0, 0 ); equal( panel.html(), "", "panel html after" ); element.tabs( "destroy" ); @@ -219,11 +221,11 @@ test( "beforeLoad", function() { strictEqual( ui.panel[ 0 ], panel[ 0 ], "panel" ); equal( ui.panel.html(), "", "panel html" ); event.preventDefault(); - tabs_state( element, 1, 0, 0, 0, 0 ); + state( element, 1, 0, 0, 0, 0 ); }); element.tabs(); element.tabs( "option", "active", 2 ); - tabs_state( element, 0, 0, 1, 0, 0 ); + state( element, 0, 0, 1, 0, 0 ); equal( panel.html(), "", "panel html after" ); // click, change panel content @@ -241,10 +243,10 @@ test( "beforeLoad", function() { strictEqual( ui.panel[ 0 ], panel[ 0 ], "panel" ); ui.panel.html( "

      testing

      " ); event.preventDefault(); - tabs_state( element, 0, 0, 1, 0, 0 ); + state( element, 0, 0, 1, 0, 0 ); }); element.find( ".ui-tabs-nav a" ).eq( 3 ).click(); - tabs_state( element, 0, 0, 0, 1, 0 ); + state( element, 0, 0, 0, 1, 0 ); // .toLowerCase() is needed to convert

      to

      in old IEs equal( panel.html().toLowerCase(), "

      testing

      ", "panel html after" ); }); @@ -268,7 +270,7 @@ if ( $.uiBackCompat === false ) { equal( ui.panel.size(), 1, "panel size" ); strictEqual( ui.panel[ 0 ], panel[ 0 ], "panel" ); equal( ui.panel.find( "p" ).length, 1, "panel html" ); - tabs_state( element, 0, 0, 1, 0, 0 ); + state( element, 0, 0, 1, 0, 0 ); tabsload1(); }); element.tabs({ active: 2 }); @@ -286,7 +288,7 @@ if ( $.uiBackCompat === false ) { equal( ui.panel.size(), 1, "panel size" ); strictEqual( ui.panel[ 0 ], panel[ 0 ], "panel" ); equal( ui.panel.find( "p" ).length, 1, "panel html" ); - tabs_state( element, 0, 0, 0, 1, 0 ); + state( element, 0, 0, 0, 1, 0 ); tabsload2(); }); element.tabs( "option", "active", 3 ); @@ -305,7 +307,7 @@ if ( $.uiBackCompat === false ) { equal( ui.panel.size(), 1, "panel size" ); strictEqual( ui.panel[ 0 ], panel[ 0 ], "panel" ); equal( ui.panel.find( "p" ).length, 1, "panel html" ); - tabs_state( element, 0, 0, 0, 0, 1 ); + state( element, 0, 0, 0, 0, 1 ); start(); }); element.find( ".ui-tabs-nav a" ).eq( 4 ).click(); diff --git a/tests/unit/tabs/tabs_methods.js b/tests/unit/tabs/tabs_methods.js index 0a59ae302..61ce78189 100644 --- a/tests/unit/tabs/tabs_methods.js +++ b/tests/unit/tabs/tabs_methods.js @@ -1,5 +1,8 @@ (function( $ ) { +var disabled = TestHelpers.tabs.disabled, + state = TestHelpers.tabs.state; + module( "tabs: methods" ); test( "destroy", function() { @@ -12,95 +15,95 @@ test( "enable", function() { expect( 8 ); var element = $( "#tabs1" ).tabs({ disabled: true }); - tabs_disabled( element, true ); + disabled( element, true ); element.tabs( "enable" ); - tabs_disabled( element, false ); + disabled( element, false ); element.tabs( "destroy" ); element.tabs({ disabled: [ 0, 1 ] }); - tabs_disabled( element, [ 0, 1 ] ); + disabled( element, [ 0, 1 ] ); element.tabs( "enable" ); - tabs_disabled( element, false ); + disabled( element, false ); }); test( "enable( index )", function() { expect( 10 ); var element = $( "#tabs1" ).tabs({ disabled: true }); - tabs_disabled( element, true ); + disabled( element, true ); // fully disabled -> partially disabled element.tabs( "enable", 1 ); - tabs_disabled( element, [ 0, 2 ] ); + disabled( element, [ 0, 2 ] ); // partially disabled -> partially disabled element.tabs( "enable", 2 ); - tabs_disabled( element, [ 0 ] ); + disabled( element, [ 0 ] ); // already enabled tab, no change element.tabs( "enable", 2 ); - tabs_disabled( element, [ 0 ] ); + disabled( element, [ 0 ] ); // partially disabled -> fully enabled element.tabs( "enable", 0 ); - tabs_disabled( element, false ); + disabled( element, false ); }); test( "disable", function() { expect( 8 ); var element = $( "#tabs1" ).tabs({ disabled: false }); - tabs_disabled( element, false ); + disabled( element, false ); element.tabs( "disable" ); - tabs_disabled( element, true ); + disabled( element, true ); element.tabs( "destroy" ); element.tabs({ disabled: [ 0, 1 ] }); - tabs_disabled( element, [ 0, 1 ] ); + disabled( element, [ 0, 1 ] ); element.tabs( "disable" ); - tabs_disabled( element, true ); + disabled( element, true ); }); test( "disable( index )", function() { expect( 10 ); var element = $( "#tabs1" ).tabs({ disabled: false }); - tabs_disabled( element, false ); + disabled( element, false ); // fully enabled -> partially disabled element.tabs( "disable", 1 ); - tabs_disabled( element, [ 1 ] ); + disabled( element, [ 1 ] ); // partially disabled -> partially disabled element.tabs( "disable", 2 ); - tabs_disabled( element, [ 1, 2 ] ); + disabled( element, [ 1, 2 ] ); // already disabled tab, no change element.tabs( "disable", 2 ); - tabs_disabled( element, [ 1, 2 ] ); + disabled( element, [ 1, 2 ] ); // partially disabled -> fully disabled element.tabs( "disable", 0 ); - tabs_disabled( element, true ); + disabled( element, true ); }); test( "refresh", function() { expect( 27 ); var element = $( "#tabs1" ).tabs(); - tabs_state( element, 1, 0, 0 ); - tabs_disabled( element, false ); + state( element, 1, 0, 0 ); + disabled( element, false ); // disable tab via markup element.find( ".ui-tabs-nav li" ).eq( 1 ).addClass( "ui-state-disabled" ); element.tabs( "refresh" ); - tabs_state( element, 1, 0, 0 ); - tabs_disabled( element, [ 1 ] ); + state( element, 1, 0, 0 ); + disabled( element, [ 1 ] ); // add remote tab element.find( ".ui-tabs-nav" ).append( "
    • new
    • " ); element.tabs( "refresh" ); - tabs_state( element, 1, 0, 0, 0 ); - tabs_disabled( element, [ 1 ] ); + state( element, 1, 0, 0, 0 ); + disabled( element, [ 1 ] ); equal( element.find( "#" + $( "#newTab a" ).attr( "aria-controls" ) ).length, 1, "panel added for remote tab" ); // remove all tabs element.find( ".ui-tabs-nav li, .ui-tabs-panel" ).remove(); element.tabs( "refresh" ); - tabs_state( element ); + state( element ); equal( element.tabs( "option", "active" ), false, "no active tab" ); // add tabs @@ -115,34 +118,34 @@ test( "refresh", function() { .append( "
      new 4
      " ) .append( "
      new 5
      " ); element.tabs( "refresh" ); - tabs_state( element, 0, 0, 0, 0 ); - tabs_disabled( element, [ 0 ] ); + state( element, 0, 0, 0, 0 ); + disabled( element, [ 0 ] ); // activate third tab element.tabs( "option", "active", 2 ); - tabs_state( element, 0, 0, 1, 0 ); - tabs_disabled( element, [ 0 ] ); + state( element, 0, 0, 1, 0 ); + disabled( element, [ 0 ] ); // remove fourth tab, third tab should stay active element.find( ".ui-tabs-nav li" ).eq( 3 ).remove(); element.find( ".ui-tabs-panel" ).eq( 3 ).remove(); element.tabs( "refresh" ); - tabs_state( element, 0, 0, 1 ); - tabs_disabled( element, [ 0 ] ); + state( element, 0, 0, 1 ); + disabled( element, [ 0 ] ); // remove third (active) tab, second tab should become active element.find( ".ui-tabs-nav li" ).eq( 2 ).remove(); element.find( ".ui-tabs-panel" ).eq( 2 ).remove(); element.tabs( "refresh" ); - tabs_state( element, 0, 1 ); - tabs_disabled( element, [ 0 ] ); + state( element, 0, 1 ); + disabled( element, [ 0 ] ); // remove first tab, previously active tab (now first) should stay active element.find( ".ui-tabs-nav li" ).eq( 0 ).remove(); element.find( ".ui-tabs-panel" ).eq( 0 ).remove(); element.tabs( "refresh" ); - tabs_state( element, 1 ); - tabs_disabled( element, false ); + state( element, 1 ); + disabled( element, false ); }); asyncTest( "load", function() { @@ -162,7 +165,7 @@ asyncTest( "load", function() { strictEqual( ui.tab[ 0 ], tab[ 0 ], "tab" ); equal( ui.panel.size(), 1, "panel size" ); strictEqual( ui.panel[ 0 ], panel[ 0 ], "panel" ); - tabs_state( element, 1, 0, 0, 0, 0 ); + state( element, 1, 0, 0, 0, 0 ); }); element.one( "tabsload", function( event, ui ) { // TODO: remove wrapping in 2.0 @@ -178,11 +181,11 @@ asyncTest( "load", function() { equal( uiPanel.size(), 1, "panel size" ); strictEqual( uiPanel[ 0 ], panel[ 0 ], "panel" ); equal( uiPanel.find( "p" ).length, 1, "panel html" ); - tabs_state( element, 1, 0, 0, 0, 0 ); + state( element, 1, 0, 0, 0, 0 ); setTimeout( tabsload1, 100 ); }); element.tabs( "load", 3 ); - tabs_state( element, 1, 0, 0, 0, 0 ); + state( element, 1, 0, 0, 0, 0 ); function tabsload1() { // no need to test details of event (tested in events tests) @@ -194,7 +197,7 @@ asyncTest( "load", function() { setTimeout( tabsload2, 100 ); }); element.tabs( "option", "active", 3 ); - tabs_state( element, 0, 0, 0, 1, 0 ); + state( element, 0, 0, 0, 1, 0 ); } function tabsload2() { @@ -209,7 +212,7 @@ asyncTest( "load", function() { strictEqual( ui.tab[ 0 ], tab[ 0 ], "tab" ); equal( ui.panel.size(), 1, "panel size" ); strictEqual( ui.panel[ 0 ], panel[ 0 ], "panel" ); - tabs_state( element, 0, 0, 0, 1, 0 ); + state( element, 0, 0, 0, 1, 0 ); }); element.one( "tabsload", function( event, ui ) { // TODO: remove wrapping in 2.0 @@ -224,11 +227,11 @@ asyncTest( "load", function() { strictEqual( uiTab[ 0 ], tab[ 0 ], "tab" ); equal( uiPanel.size(), 1, "panel size" ); strictEqual( uiPanel[ 0 ], panel[ 0 ], "panel" ); - tabs_state( element, 0, 0, 0, 1, 0 ); + state( element, 0, 0, 0, 1, 0 ); start(); }); element.tabs( "load", 3 ); - tabs_state( element, 0, 0, 0, 1, 0 ); + state( element, 0, 0, 0, 1, 0 ); } }); diff --git a/tests/unit/tabs/tabs_options.js b/tests/unit/tabs/tabs_options.js index e1ebf5efa..40d4ceaa7 100644 --- a/tests/unit/tabs/tabs_options.js +++ b/tests/unit/tabs/tabs_options.js @@ -1,5 +1,8 @@ (function( $ ) { +var disabled = TestHelpers.tabs.disabled, + state = TestHelpers.tabs.state; + module( "tabs: options" ); test( "{ active: default }", function() { @@ -7,13 +10,13 @@ test( "{ active: default }", function() { var element = $( "#tabs1" ).tabs(); equal( element.tabs( "option", "active" ), 0, "should be 0 by default" ); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); element.tabs( "destroy" ); location.hash = "#fragment-3"; element = $( "#tabs1" ).tabs(); equal( element.tabs( "option", "active" ), 2, "should be 2 based on URL" ); - tabs_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); element.tabs( "destroy" ); location.hash = "#"; }); @@ -25,19 +28,19 @@ test( "{ active: false }", function() { active: false, collapsible: true }); - tabs_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); equal( element.find( ".ui-tabs-nav .ui-state-active" ).size(), 0, "no tabs selected" ); strictEqual( element.tabs( "option", "active" ), false ); element.tabs( "option", "collapsible", false ); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); equal( element.tabs( "option", "active" ), 0 ); element.tabs( "destroy" ); element.tabs({ active: false }); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); strictEqual( element.tabs( "option", "active" ), 0 ); }); @@ -48,19 +51,19 @@ test( "{ active: Number }", function() { active: 2 }); equal( element.tabs( "option", "active" ), 2 ); - tabs_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); element.tabs( "option", "active", 0 ); equal( element.tabs( "option", "active" ), 0 ); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); element.find( ".ui-tabs-nav a" ).eq( 1 ).click(); equal( element.tabs( "option", "active" ), 1 ); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); element.tabs( "option", "active", 10 ); equal( element.tabs( "option", "active" ), 1 ); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); }); if ( $.uiBackCompat === false ) { @@ -69,19 +72,19 @@ if ( $.uiBackCompat === false ) { active: -1 }); equal( element.tabs( "option", "active" ), 2 ); - tabs_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); element.tabs( "option", "active", -2 ); equal( element.tabs( "option", "active" ), 1 ); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); element.tabs( "option", "active", -10 ); equal( element.tabs( "option", "active" ), 1 ); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); element.tabs( "option", "active", -3 ); equal( element.tabs( "option", "active" ), 0 ); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); }); } @@ -91,9 +94,9 @@ test( "active - mismatched tab/panel order", function() { location.hash = "#tabs7-2"; var element = $( "#tabs7" ).tabs(); equal( element.tabs( "option", "active" ), 1, "should be 1 based on URL" ); - tabs_state( element, 0, 1 ); + state( element, 0, 1 ); element.tabs( "option", "active", 0 ); - tabs_state( element, 1, 0 ); + state( element, 1, 0 ); location.hash = "#"; }); @@ -105,11 +108,11 @@ test( "{ collapsible: false }", function() { }); element.tabs( "option", "active", false ); equal( element.tabs( "option", "active" ), 1 ); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); element.find( ".ui-state-active a" ).eq( 1 ).click(); equal( element.tabs( "option", "active" ), 1 ); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); }); test( "{ collapsible: true }", function() { @@ -122,15 +125,15 @@ test( "{ collapsible: true }", function() { element.tabs( "option", "active", false ); equal( element.tabs( "option", "active" ), false ); - tabs_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); element.tabs( "option", "active", 1 ); equal( element.tabs( "option", "active" ), 1 ); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); element.find( ".ui-state-active a" ).click(); equal( element.tabs( "option", "active" ), false ); - tabs_state( element, 0, 0, 0 ); + state( element, 0, 0, 0 ); }); test( "disabled", function() { @@ -138,23 +141,23 @@ test( "disabled", function() { // fully enabled by default var element = $( "#tabs1" ).tabs(); - tabs_disabled( element, false ); + disabled( element, false ); // disable single tab element.tabs( "option", "disabled", [ 1 ] ); - tabs_disabled( element, [ 1 ] ); + disabled( element, [ 1 ] ); // disabled active tab element.tabs( "option", "disabled", [ 0, 1 ] ); - tabs_disabled( element, [ 0, 1 ] ); + disabled( element, [ 0, 1 ] ); // disable all tabs element.tabs( "option", "disabled", [ 0, 1, 2 ] ); - tabs_disabled( element, true ); + disabled( element, true ); // enable all tabs element.tabs( "option", "disabled", [] ); - tabs_disabled( element, false ); + disabled( element, false ); }); test( "{ event: null }", function() { @@ -163,16 +166,16 @@ test( "{ event: null }", function() { var element = $( "#tabs1" ).tabs({ event: null }); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); element.tabs( "option", "active", 1 ); equal( element.tabs( "option", "active" ), 1 ); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); // ensure default click handler isn't bound element.find( ".ui-tabs-nav a" ).eq( 2 ).click(); equal( element.tabs( "option", "active" ), 1 ); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); }); test( "{ event: custom }", function() { @@ -181,31 +184,31 @@ test( "{ event: custom }", function() { var element = $( "#tabs1" ).tabs({ event: "custom1 custom2" }); - tabs_state( element, 1, 0, 0 ); + state( element, 1, 0, 0 ); element.find( ".ui-tabs-nav a" ).eq( 1 ).trigger( "custom1" ); equal( element.tabs( "option", "active" ), 1 ); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); // ensure default click handler isn't bound element.find( ".ui-tabs-nav a" ).eq( 2 ).trigger( "click" ); equal( element.tabs( "option", "active" ), 1 ); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); element.find( ".ui-tabs-nav a" ).eq( 2 ).trigger( "custom2" ); equal( element.tabs( "option", "active" ), 2 ); - tabs_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); element.tabs( "option", "event", "custom3" ); // ensure old event handlers are unbound element.find( ".ui-tabs-nav a" ).eq( 1 ).trigger( "custom1" ); equal( element.tabs( "option", "active" ), 2 ); - tabs_state( element, 0, 0, 1 ); + state( element, 0, 0, 1 ); element.find( ".ui-tabs-nav a" ).eq( 1 ).trigger( "custom3" ); equal( element.tabs( "option", "active" ), 1 ); - tabs_state( element, 0, 1, 0 ); + state( element, 0, 1, 0 ); }); // TODO: add animation tests diff --git a/tests/unit/tabs/tabs_test_helpers.js b/tests/unit/tabs/tabs_test_helpers.js new file mode 100644 index 000000000..9f592c074 --- /dev/null +++ b/tests/unit/tabs/tabs_test_helpers.js @@ -0,0 +1,61 @@ +TestHelpers.tabs = { + disabled: function( tabs, state ) { + var expected, actual, + internalState = tabs.tabs( "option", "disabled" ); + + if ( internalState === false ) { + internalState = []; + } + if ( internalState === true ) { + internalState = $.map( new Array( tabs.find( ".ui-tabs-nav li" ).length ), function( _, index ) { + return index; + }); + } + + expected = $.map( new Array( tabs.find ( ".ui-tabs-nav li" ).length ), function( _, index ) { + if ( typeof state === "boolean" ) { + return state ? 1 : 0; + } else { + return $.inArray( index, state ) !== -1 ? 1 : 0; + } + }); + + actual = tabs.find( ".ui-tabs-nav li" ).map(function( index ) { + var tab = $( this ), + tabIsDisabled = tab.hasClass( "ui-state-disabled" ); + + if ( tabIsDisabled && $.inArray( index, internalState ) !== -1 ) { + return 1; + } + if ( !tabIsDisabled && $.inArray( index, internalState ) === -1 ) { + return 0; + } + // mixed state - invalid + return -1; + }).get(); + + deepEqual( tabs.tabs( "option", "disabled" ), state ); + deepEqual( actual, expected ); + }, + + state: function( tabs ) { + var expected = $.makeArray( arguments ).slice( 1 ), + actual = tabs.find( ".ui-tabs-nav li" ).map(function() { + var tab = $( this ), + panel = $( $.ui.tabs.prototype._sanitizeSelector( + "#" + tab.find( "a" ).attr( "aria-controls" ) ) ), + tabIsActive = tab.hasClass( "ui-state-active" ), + panelIsActive = panel.css( "display" ) !== "none"; + + if ( tabIsActive && panelIsActive ) { + return 1; + } + if ( !tabIsActive && !panelIsActive ) { + return 0; + } + return -1; // mixed state - invalid + }).get(); + deepEqual( actual, expected ); + } +}; + -- cgit v1.2.3 From e9d5079b04bfc6bf4103630e936be3022d83353c Mon Sep 17 00:00:00 2001 From: Scott González Date: Thu, 19 Apr 2012 13:03:21 -0400 Subject: Tests: Move commonWidgetTests() to TestHelpers. --- grunt.js | 1 - tests/unit/accordion/accordion_defaults.js | 2 +- .../accordion/accordion_defaults_deprecated.js | 2 +- tests/unit/autocomplete/autocomplete_defaults.js | 2 +- tests/unit/button/button_defaults.js | 2 +- tests/unit/datepicker/datepicker_defaults.js | 2 +- tests/unit/dialog/dialog_defaults.js | 2 +- tests/unit/draggable/draggable_defaults.js | 68 ++++++++++------------ tests/unit/droppable/droppable_defaults.js | 2 +- tests/unit/menu/menu_defaults.js | 2 +- tests/unit/progressbar/progressbar_defaults.js | 2 +- tests/unit/resizable/resizable_defaults.js | 52 ++++++++--------- tests/unit/selectable/selectable_defaults.js | 28 ++++----- tests/unit/slider/slider_defaults.js | 2 +- tests/unit/sortable/sortable_defaults.js | 64 ++++++++++---------- tests/unit/spinner/spinner_defaults.js | 2 +- tests/unit/tabs/tabs_defaults.js | 2 +- tests/unit/tabs/tabs_defaults_deprecated.js | 2 +- tests/unit/testsuite.js | 2 +- tests/unit/tooltip/tooltip_defaults.js | 2 +- 20 files changed, 113 insertions(+), 130 deletions(-) (limited to 'tests/unit') diff --git a/grunt.js b/grunt.js index e0a085a38..82e7fe1e8 100644 --- a/grunt.js +++ b/grunt.js @@ -350,7 +350,6 @@ grunt.initConfig({ globals: { addMonths: true, asyncTest: true, - commonWidgetTests: true, container: true, deepEqual: true, d1: true, diff --git a/tests/unit/accordion/accordion_defaults.js b/tests/unit/accordion/accordion_defaults.js index 9ad85bbce..ef24cf25e 100644 --- a/tests/unit/accordion/accordion_defaults.js +++ b/tests/unit/accordion/accordion_defaults.js @@ -1,4 +1,4 @@ -commonWidgetTests( "accordion", { +TestHelpers.commonWidgetTests( "accordion", { defaults: { active: 0, animate: {}, diff --git a/tests/unit/accordion/accordion_defaults_deprecated.js b/tests/unit/accordion/accordion_defaults_deprecated.js index 99f5ac827..22d5e1289 100644 --- a/tests/unit/accordion/accordion_defaults_deprecated.js +++ b/tests/unit/accordion/accordion_defaults_deprecated.js @@ -1,4 +1,4 @@ -commonWidgetTests( "accordion", { +TestHelpers.commonWidgetTests( "accordion", { defaults: { active: 0, animate: null, diff --git a/tests/unit/autocomplete/autocomplete_defaults.js b/tests/unit/autocomplete/autocomplete_defaults.js index ac83eaea4..c090ce4df 100644 --- a/tests/unit/autocomplete/autocomplete_defaults.js +++ b/tests/unit/autocomplete/autocomplete_defaults.js @@ -1,4 +1,4 @@ -commonWidgetTests( "autocomplete", { +TestHelpers.commonWidgetTests( "autocomplete", { defaults: { appendTo: "body", autoFocus: false, diff --git a/tests/unit/button/button_defaults.js b/tests/unit/button/button_defaults.js index 96c7e5bfa..ef22d3011 100644 --- a/tests/unit/button/button_defaults.js +++ b/tests/unit/button/button_defaults.js @@ -1,4 +1,4 @@ -commonWidgetTests( "button", { +TestHelpers.commonWidgetTests( "button", { defaults: { disabled: null, icons: { diff --git a/tests/unit/datepicker/datepicker_defaults.js b/tests/unit/datepicker/datepicker_defaults.js index 4243cf187..28e150791 100644 --- a/tests/unit/datepicker/datepicker_defaults.js +++ b/tests/unit/datepicker/datepicker_defaults.js @@ -6,4 +6,4 @@ var datepicker_defaults = { disabled: false }; -//commonWidgetTests('datepicker', { defaults: datepicker_defaults }); +//TestHelpers.commonWidgetTests('datepicker', { defaults: datepicker_defaults }); diff --git a/tests/unit/dialog/dialog_defaults.js b/tests/unit/dialog/dialog_defaults.js index 9f2e4c6a8..623908da7 100644 --- a/tests/unit/dialog/dialog_defaults.js +++ b/tests/unit/dialog/dialog_defaults.js @@ -1,4 +1,4 @@ -commonWidgetTests( "dialog", { +TestHelpers.commonWidgetTests( "dialog", { defaults: { autoOpen: true, buttons: {}, diff --git a/tests/unit/draggable/draggable_defaults.js b/tests/unit/draggable/draggable_defaults.js index 4b0aaca19..b47b139cd 100644 --- a/tests/unit/draggable/draggable_defaults.js +++ b/tests/unit/draggable/draggable_defaults.js @@ -1,36 +1,32 @@ -/* - * draggable_defaults.js - */ - -var draggable_defaults = { - addClasses: true, - appendTo: "parent", - axis: false, - cancel: ":input,option", - connectToSortable: false, - containment: false, - cursor: "auto", - cursorAt: false, - delay: 0, - disabled: false, - distance: 1, - grid: false, - handle: false, - helper: "original", - iframeFix: false, - opacity: false, - refreshPositions: false, - revert: false, - revertDuration: 500, - scroll: true, - scrollSensitivity: 20, - scrollSpeed: 20, - scope: "default", - snap: false, - snapMode: "both", - snapTolerance: 20, - stack: false, - zIndex: false -}; - -commonWidgetTests('draggable', { defaults: draggable_defaults }); +TestHelpers.commonWidgetTests( "draggable", { + defaults: { + addClasses: true, + appendTo: "parent", + axis: false, + cancel: ":input,option", + connectToSortable: false, + containment: false, + cursor: "auto", + cursorAt: false, + delay: 0, + disabled: false, + distance: 1, + grid: false, + handle: false, + helper: "original", + iframeFix: false, + opacity: false, + refreshPositions: false, + revert: false, + revertDuration: 500, + scroll: true, + scrollSensitivity: 20, + scrollSpeed: 20, + scope: "default", + snap: false, + snapMode: "both", + snapTolerance: 20, + stack: false, + zIndex: false + } +}); diff --git a/tests/unit/droppable/droppable_defaults.js b/tests/unit/droppable/droppable_defaults.js index 5a1a4198c..985dba06d 100644 --- a/tests/unit/droppable/droppable_defaults.js +++ b/tests/unit/droppable/droppable_defaults.js @@ -1,4 +1,4 @@ -commonWidgetTests( "droppable", { +TestHelpers.commonWidgetTests( "droppable", { defaults: { accept: "*", activeClass: false, diff --git a/tests/unit/menu/menu_defaults.js b/tests/unit/menu/menu_defaults.js index 018ac8ccf..ddcdbebf2 100644 --- a/tests/unit/menu/menu_defaults.js +++ b/tests/unit/menu/menu_defaults.js @@ -1,4 +1,4 @@ -commonWidgetTests( "menu", { +TestHelpers.commonWidgetTests( "menu", { defaults: { disabled: false, menus: "ul", diff --git a/tests/unit/progressbar/progressbar_defaults.js b/tests/unit/progressbar/progressbar_defaults.js index 3856e31a0..2f97a78bb 100644 --- a/tests/unit/progressbar/progressbar_defaults.js +++ b/tests/unit/progressbar/progressbar_defaults.js @@ -1,4 +1,4 @@ -commonWidgetTests( "progressbar", { +TestHelpers.commonWidgetTests( "progressbar", { defaults: { disabled: false, value: 0, diff --git a/tests/unit/resizable/resizable_defaults.js b/tests/unit/resizable/resizable_defaults.js index f69e5217c..c46e10781 100644 --- a/tests/unit/resizable/resizable_defaults.js +++ b/tests/unit/resizable/resizable_defaults.js @@ -1,28 +1,24 @@ -/* - * resizable_defaults.js - */ - -var resizable_defaults = { - alsoResize: false, - animate: false, - animateDuration: 'slow', - animateEasing: 'swing', - aspectRatio: false, - autoHide: false, - cancel: ':input,option', - containment: false, - delay: 0, - disabled: false, - distance: 1, - ghost: false, - grid: false, - handles: 'e,s,se', - helper: false, - maxHeight: null, - maxWidth: null, - minHeight: 10, - minWidth: 10, - zIndex: 1000 -}; - -commonWidgetTests('resizable', { defaults: resizable_defaults }); +TestHelpers.commonWidgetTests('resizable', { + defaults: { + alsoResize: false, + animate: false, + animateDuration: 'slow', + animateEasing: 'swing', + aspectRatio: false, + autoHide: false, + cancel: ':input,option', + containment: false, + delay: 0, + disabled: false, + distance: 1, + ghost: false, + grid: false, + handles: 'e,s,se', + helper: false, + maxHeight: null, + maxWidth: null, + minHeight: 10, + minWidth: 10, + zIndex: 1000 + } +}); diff --git a/tests/unit/selectable/selectable_defaults.js b/tests/unit/selectable/selectable_defaults.js index dbf799a43..27714d0ae 100644 --- a/tests/unit/selectable/selectable_defaults.js +++ b/tests/unit/selectable/selectable_defaults.js @@ -1,16 +1,12 @@ -/* - * 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 }); +TestHelpers.commonWidgetTests('selectable', { + defaults: { + appendTo: 'body', + autoRefresh: true, + cancel: ':input,option', + delay: 0, + disabled: false, + distance: 0, + filter: '*', + tolerance: 'touch' + } +}); diff --git a/tests/unit/slider/slider_defaults.js b/tests/unit/slider/slider_defaults.js index 8049fe969..8a0b347f3 100644 --- a/tests/unit/slider/slider_defaults.js +++ b/tests/unit/slider/slider_defaults.js @@ -1,4 +1,4 @@ -commonWidgetTests( "slider", { +TestHelpers.commonWidgetTests( "slider", { defaults: { animate: false, cancel: ':input,option', diff --git a/tests/unit/sortable/sortable_defaults.js b/tests/unit/sortable/sortable_defaults.js index 7681addad..b5fc05a5d 100644 --- a/tests/unit/sortable/sortable_defaults.js +++ b/tests/unit/sortable/sortable_defaults.js @@ -1,34 +1,30 @@ -/* - * sortable_defaults.js - */ - -var sortable_defaults = { - appendTo: "parent", - axis: false, - cancel: ":input,option", - connectWith: false, - containment: false, - cursor: 'auto', - cursorAt: false, - delay: 0, - disabled: false, - distance: 1, - dropOnEmpty: true, - forcePlaceholderSize: false, - forceHelperSize: false, - grid: false, - handle: false, - helper: "original", - items: "> *", - opacity: false, - placeholder: false, - revert: false, - scroll: true, - scrollSensitivity: 20, - scrollSpeed: 20, - scope: "default", - tolerance: "intersect", - zIndex: 1000 -}; - -commonWidgetTests('sortable', { defaults: sortable_defaults }); +TestHelpers.commonWidgetTests( "sortable", { + defaults: { + appendTo: "parent", + axis: false, + cancel: ":input,option", + connectWith: false, + containment: false, + cursor: "auto", + cursorAt: false, + delay: 0, + disabled: false, + distance: 1, + dropOnEmpty: true, + forcePlaceholderSize: false, + forceHelperSize: false, + grid: false, + handle: false, + helper: "original", + items: "> *", + opacity: false, + placeholder: false, + revert: false, + scroll: true, + scrollSensitivity: 20, + scrollSpeed: 20, + scope: "default", + tolerance: "intersect", + zIndex: 1000 + } +}); diff --git a/tests/unit/spinner/spinner_defaults.js b/tests/unit/spinner/spinner_defaults.js index 0a4e7c236..4f05b1e63 100644 --- a/tests/unit/spinner/spinner_defaults.js +++ b/tests/unit/spinner/spinner_defaults.js @@ -1,4 +1,4 @@ -commonWidgetTests( "spinner", { +TestHelpers.commonWidgetTests( "spinner", { defaults: { culture: null, disabled: false, diff --git a/tests/unit/tabs/tabs_defaults.js b/tests/unit/tabs/tabs_defaults.js index 52b6f8a71..7ffb05da4 100644 --- a/tests/unit/tabs/tabs_defaults.js +++ b/tests/unit/tabs/tabs_defaults.js @@ -1,4 +1,4 @@ -commonWidgetTests( "tabs", { +TestHelpers.commonWidgetTests( "tabs", { defaults: { active: null, collapsible: false, diff --git a/tests/unit/tabs/tabs_defaults_deprecated.js b/tests/unit/tabs/tabs_defaults_deprecated.js index 1a56297e9..fdcff21b3 100644 --- a/tests/unit/tabs/tabs_defaults_deprecated.js +++ b/tests/unit/tabs/tabs_defaults_deprecated.js @@ -1,4 +1,4 @@ -commonWidgetTests( "tabs", { +TestHelpers.commonWidgetTests( "tabs", { defaults: { active: null, ajaxOptions: null, diff --git a/tests/unit/testsuite.js b/tests/unit/testsuite.js index 648b302ee..a877e38af 100644 --- a/tests/unit/testsuite.js +++ b/tests/unit/testsuite.js @@ -56,7 +56,7 @@ function testBasicUsage( widget ) { }); } -window.commonWidgetTests = function( widget, settings ) { +TestHelpers.commonWidgetTests = function( widget, settings ) { module( widget + ": common widget" ); testWidgetDefaults( widget, settings.defaults ); diff --git a/tests/unit/tooltip/tooltip_defaults.js b/tests/unit/tooltip/tooltip_defaults.js index b8b41bf47..d12ee9519 100644 --- a/tests/unit/tooltip/tooltip_defaults.js +++ b/tests/unit/tooltip/tooltip_defaults.js @@ -1,4 +1,4 @@ -commonWidgetTests( "tooltip", { +TestHelpers.commonWidgetTests( "tooltip", { defaults: { content: function() {}, disabled: false, -- cgit v1.2.3 From d62d9d4eff764220be9696acc7ffe8bf0d24c570 Mon Sep 17 00:00:00 2001 From: Scott González Date: Thu, 19 Apr 2012 13:12:23 -0400 Subject: Spinner tests: Don't pollute the global namespace with helpers. --- grunt.js | 1 - tests/unit/spinner/spinner_core.js | 42 ++++++++++++------------ tests/unit/spinner/spinner_events.js | 52 ++++++++++++++++-------------- tests/unit/spinner/spinner_methods.js | 12 ++++--- tests/unit/spinner/spinner_options.js | 2 ++ tests/unit/spinner/spinner_test_helpers.js | 11 ++++--- 6 files changed, 65 insertions(+), 55 deletions(-) (limited to 'tests/unit') diff --git a/grunt.js b/grunt.js index 82e7fe1e8..d03acdca9 100644 --- a/grunt.js +++ b/grunt.js @@ -383,7 +383,6 @@ grunt.initConfig({ shouldnotmove: true, shouldnotresize: true, shouldresize: true, - spinner_simulateKeyDownUp: true, start: true, strictEqual: true, stop: true, diff --git a/tests/unit/spinner/spinner_core.js b/tests/unit/spinner/spinner_core.js index e38b467a3..a1179bb35 100644 --- a/tests/unit/spinner/spinner_core.js +++ b/tests/unit/spinner/spinner_core.js @@ -1,5 +1,7 @@ (function( $ ) { +var simulateKeyDownUp = TestHelpers.spinner.simulateKeyDownUp; + module( "spinner: core" ); test( "keydown UP on input, increases value not greater than max", function() { @@ -9,15 +11,15 @@ test( "keydown UP on input, increases value not greater than max", function() { step: 10 }); - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); + simulateKeyDownUp( element, $.ui.keyCode.UP ); equal( element.val(), 80 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); + simulateKeyDownUp( element, $.ui.keyCode.UP ); equal( element.val(), 90 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); + simulateKeyDownUp( element, $.ui.keyCode.UP ); equal( element.val(), 100 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); + simulateKeyDownUp( element, $.ui.keyCode.UP ); equal( element.val(), 100 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); + simulateKeyDownUp( element, $.ui.keyCode.UP ); equal( element.val(), 100 ); }); @@ -28,15 +30,15 @@ test( "keydown DOWN on input, decreases value not less than min", function() { step: 10 }); - spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.DOWN ); equal( element.val(), 40 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.DOWN ); equal( element.val(), 30 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.DOWN ); equal( element.val(), 20 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.DOWN ); equal( element.val(), 20 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.DOWN ); equal( element.val(), 20 ); }); @@ -47,15 +49,15 @@ test( "keydown PAGE_UP on input, increases value not greater than max", function page: 10 }); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); equal( element.val(), 80 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); equal( element.val(), 90 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); equal( element.val(), 100 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); equal( element.val(), 100 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); equal( element.val(), 100 ); }); @@ -66,15 +68,15 @@ test( "keydown PAGE_DOWN on input, decreases value not less than min", function( page: 10 }); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); equal( element.val(), 40 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); equal( element.val(), 30 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); equal( element.val(), 20 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); equal( element.val(), 20 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); equal( element.val(), 20 ); }); diff --git a/tests/unit/spinner/spinner_events.js b/tests/unit/spinner/spinner_events.js index e43ba3365..133a8d5a2 100644 --- a/tests/unit/spinner/spinner_events.js +++ b/tests/unit/spinner/spinner_events.js @@ -1,5 +1,7 @@ (function( $ ) { +var simulateKeyDownUp = TestHelpers.spinner.simulateKeyDownUp; + module( "spinner: events" ); test( "start", function() { @@ -13,14 +15,14 @@ test( "start", function() { } shouldStart( true, "key UP" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); + simulateKeyDownUp( element, $.ui.keyCode.UP ); shouldStart( true, "key DOWN" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.DOWN ); shouldStart( true, "key PAGE_UP" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); shouldStart( true, "key PAGE_DOWN" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); shouldStart( true, "button up" ); element.spinner( "widget" ).find( ".ui-spinner-up" ).mousedown().mouseup(); @@ -52,14 +54,14 @@ test( "spin", function() { } shouldSpin( true, "key UP" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); + simulateKeyDownUp( element, $.ui.keyCode.UP ); shouldSpin( true, "key DOWN" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.DOWN ); shouldSpin( true, "key PAGE_UP" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); shouldSpin( true, "key PAGE_DOWN" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); shouldSpin( true, "button up" ); element.spinner( "widget" ).find( ".ui-spinner-up" ).mousedown().mouseup(); @@ -91,14 +93,14 @@ test( "stop", function() { } shouldStop( true, "key UP" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); + simulateKeyDownUp( element, $.ui.keyCode.UP ); shouldStop( true, "key DOWN" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.DOWN ); shouldStop( true, "key PAGE_UP" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); shouldStop( true, "key PAGE_DOWN" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); shouldStop( true, "button up" ); element.spinner( "widget" ).find( ".ui-spinner-up" ).mousedown().mouseup(); @@ -131,42 +133,42 @@ test( "change", function() { element.focus(); shouldChange( false, "key UP, before blur" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); + simulateKeyDownUp( element, $.ui.keyCode.UP ); shouldChange( true, "blur after key UP" ); element.blur(); element.focus(); shouldChange( false, "key DOWN, before blur" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.DOWN ); shouldChange( true, "blur after key DOWN" ); element.blur(); element.focus(); shouldChange( false, "key PAGE_UP, before blur" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); shouldChange( true, "blur after key PAGE_UP" ); element.blur(); element.focus(); shouldChange( false, "key PAGE_DOWN, before blur" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); shouldChange( true, "blur after key PAGE_DOWN" ); element.blur(); shouldChange( false, "many keys, before blur" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.UP ); + simulateKeyDownUp( element, $.ui.keyCode.UP ); + simulateKeyDownUp( element, $.ui.keyCode.UP ); + simulateKeyDownUp( element, $.ui.keyCode.DOWN ); shouldChange( true, "blur after many keys" ); element.blur(); shouldChange( false, "many keys, same final value, before blur" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.UP ); + simulateKeyDownUp( element, $.ui.keyCode.UP ); + simulateKeyDownUp( element, $.ui.keyCode.DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.DOWN ); shouldChange( false, "blur after many keys, same final value" ); shouldChange( false, "button up, before blur" ); diff --git a/tests/unit/spinner/spinner_methods.js b/tests/unit/spinner/spinner_methods.js index 2cb3c849f..bafd949a7 100644 --- a/tests/unit/spinner/spinner_methods.js +++ b/tests/unit/spinner/spinner_methods.js @@ -1,5 +1,7 @@ (function( $ ) { +var simulateKeyDownUp = TestHelpers.spinner.simulateKeyDownUp; + module( "spinner: methods" ); test( "destroy", function() { @@ -21,16 +23,16 @@ test( "disable", function() { ok( wrapper.hasClass( "ui-spinner-disabled" ), "after: wrapper has ui-spinner-disabled class" ); ok( element.is( ":disabled"), "after: input has disabled attribute" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); + simulateKeyDownUp( element, $.ui.keyCode.UP ); equal( 2, element.val(), "keyboard - value does not change on key UP" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.DOWN ); equal( 2, element.val(), "keyboard - value does not change on key DOWN" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); equal( 2, element.val(), "keyboard - value does not change on key PGUP" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); + simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); equal( 2, element.val(), "keyboard - value does not change on key PGDN" ); wrapper.find( ".ui-spinner-up" ).trigger( "mousedown" ).trigger( "mouseup" ); @@ -65,7 +67,7 @@ test( "enable", function() { ok( !wrapper.hasClass( ".ui-spinner-disabled" ), "after: wrapper does not have ui-spinner-disabled class" ); ok( !element.is( ":disabled" ), "after: input does not have disabled attribute" ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); + simulateKeyDownUp( element, $.ui.keyCode.UP ); equal( 2, element.val(), "keyboard - value changes on key UP" ); }); diff --git a/tests/unit/spinner/spinner_options.js b/tests/unit/spinner/spinner_options.js index 6f5090d3a..e21852630 100644 --- a/tests/unit/spinner/spinner_options.js +++ b/tests/unit/spinner/spinner_options.js @@ -1,5 +1,7 @@ (function( $ ) { +var simulateKeyDownUp = TestHelpers.spinner.simulateKeyDownUp; + module( "spinner: options" ); // culture is tested after numberFormat, since it depends on numberFormat diff --git a/tests/unit/spinner/spinner_test_helpers.js b/tests/unit/spinner/spinner_test_helpers.js index af555dbf2..2021e8f7a 100644 --- a/tests/unit/spinner/spinner_test_helpers.js +++ b/tests/unit/spinner/spinner_test_helpers.js @@ -1,5 +1,8 @@ -var spinner_simulateKeyDownUp = function( element, keyCode, shift ) { - element - .simulate( "keydown", { keyCode: keyCode, shiftKey: shift || false } ) - .simulate( "keyup", { keyCode: keyCode, shiftKey: shift || false } ); +TestHelpers.spinner = { + simulateKeyDownUp: function( element, keyCode, shift ) { + element + .simulate( "keydown", { keyCode: keyCode, shiftKey: shift || false } ) + .simulate( "keyup", { keyCode: keyCode, shiftKey: shift || false } ); + } }; + -- cgit v1.2.3 From 6150abae49f77a3b2f67c39a3c60a06792b4de8f Mon Sep 17 00:00:00 2001 From: TJ VanToll Date: Mon, 9 Jan 2012 21:42:56 -0500 Subject: Resizable: Apply zIndex option to all handles. Partial Fix for #7960- Modal dialog does not disable resizables on the page. --- tests/unit/resizable/resizable_options.js | 9 +++++++++ themes/base/jquery.ui.resizable.css | 2 +- ui/jquery.ui.resizable.js | 5 ++--- 3 files changed, 12 insertions(+), 4 deletions(-) (limited to 'tests/unit') diff --git a/tests/unit/resizable/resizable_options.js b/tests/unit/resizable/resizable_options.js index 76cca560a..275639ca1 100644 --- a/tests/unit/resizable/resizable_options.js +++ b/tests/unit/resizable/resizable_options.js @@ -187,4 +187,13 @@ test("ui-resizable-nw { handles: 'all', minWidth: 60, minHeight: 60, maxWidth: 1 equal( target.height(), 100, "compare maxHeight" ); }); +test("zIndex, applied to all handles", function() { + expect(8); + + var target = $('
      ').resizable({ handles: 'all', zIndex: 100 }); + target.children( '.ui-resizable-handle' ).each( function( index, handle ) { + equals( $( handle ).css( 'zIndex' ), 100, 'compare zIndex' ); + }); +}); + })(jQuery); diff --git a/themes/base/jquery.ui.resizable.css b/themes/base/jquery.ui.resizable.css index 0bf680482..0bb688d5b 100644 --- a/themes/base/jquery.ui.resizable.css +++ b/themes/base/jquery.ui.resizable.css @@ -8,7 +8,7 @@ * http://docs.jquery.com/UI/Resizable#theming */ .ui-resizable { position: relative;} -.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; } +.ui-resizable-handle { position: absolute;font-size: 0.1px; display: block; } .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } diff --git a/ui/jquery.ui.resizable.js b/ui/jquery.ui.resizable.js index 9be33927e..c00602cc8 100644 --- a/ui/jquery.ui.resizable.js +++ b/ui/jquery.ui.resizable.js @@ -99,9 +99,8 @@ $.widget("ui.resizable", $.ui.mouse, { var handle = $.trim(n[i]), hname = 'ui-resizable-'+handle; var axis = $('
      '); - // increase zIndex of sw, se, ne, nw axis - //TODO : this modifies original option - if(/sw|se|ne|nw/.test(handle)) axis.css({ zIndex: ++o.zIndex }); + // Apply zIndex to all handles - see #7960 + axis.css({ zIndex: o.zIndex }); //TODO : What's going on here? if ('se' == handle) { -- cgit v1.2.3 From 33df9b788d3f60459c43acbfefdfeef8a07ce632 Mon Sep 17 00:00:00 2001 From: kborchers Date: Thu, 19 Apr 2012 23:50:52 -0500 Subject: Menu tests: Update tests to test mouseenter instead of mouseover --- tests/unit/menu/menu_events.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'tests/unit') diff --git a/tests/unit/menu/menu_events.js b/tests/unit/menu/menu_events.js index a0051c70b..4cb083240 100644 --- a/tests/unit/menu/menu_events.js +++ b/tests/unit/menu/menu_events.js @@ -87,11 +87,12 @@ test( "handle blur on custom item menu: click", function() { asyncTest( "handle submenu auto collapse: mouseleave", function() { expect( 4 ); - var $menu = $( "#menu2" ).menu(); + var $menu = $( "#menu2" ).menu(), + event = $.Event( "mouseenter" ); function menumouseleave1() { equal( $menu.find( "ul[aria-expanded='true']" ).length, 1, "first submenu expanded" ); - $menu.find( "li:nth-child(7) li:first" ).trigger( "mouseover" ); + $menu.menu( "focus", event, $menu.find( "li:nth-child(7) li:first" ) ); setTimeout( menumouseleave2, 350 ); } function menumouseleave2() { @@ -109,17 +110,18 @@ asyncTest( "handle submenu auto collapse: mouseleave", function() { start(); } - $menu.find( "li:nth-child(7)" ).trigger( "mouseover" ); + $menu.find( "li:nth-child(7)" ).trigger( "mouseenter" ); setTimeout( menumouseleave1, 350 ); }); asyncTest( "handle submenu auto collapse: mouseleave", function() { expect( 4 ); - var $menu = $( "#menu5" ).menu( { menus: "div" } ); + var $menu = $( "#menu5" ).menu( { menus: "div" } ), + event = $.Event( "mouseenter" ); function menumouseleave1() { equal( $menu.find( "div[aria-expanded='true']" ).length, 1, "first submenu expanded" ); - $menu.find( ":nth-child(7)" ).find( "div" ).eq( 0 ).children().eq( 0 ).trigger( "mouseover" ); + $menu.menu( "focus", event, $menu.find( ":nth-child(7)" ).find( "div" ).eq( 0 ).children().eq( 0 ) ); setTimeout( menumouseleave2, 350 ); } function menumouseleave2() { @@ -137,7 +139,7 @@ asyncTest( "handle submenu auto collapse: mouseleave", function() { start(); } - $menu.find( ":nth-child(7)" ).trigger( "mouseover" ); + $menu.find( ":nth-child(7)" ).trigger( "mouseenter" ); setTimeout( menumouseleave1, 350 ); }); -- cgit v1.2.3 From 31f3d0e6a3af33918cad6f0a12efecc522740d47 Mon Sep 17 00:00:00 2001 From: Scott González Date: Fri, 20 Apr 2012 11:20:50 -0400 Subject: Resizabe tests: Use equal() instead of equals(). --- tests/unit/resizable/resizable_options.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tests/unit') diff --git a/tests/unit/resizable/resizable_options.js b/tests/unit/resizable/resizable_options.js index 275639ca1..e10a55a31 100644 --- a/tests/unit/resizable/resizable_options.js +++ b/tests/unit/resizable/resizable_options.js @@ -189,10 +189,10 @@ test("ui-resizable-nw { handles: 'all', minWidth: 60, minHeight: 60, maxWidth: 1 test("zIndex, applied to all handles", function() { expect(8); - + var target = $('
      ').resizable({ handles: 'all', zIndex: 100 }); target.children( '.ui-resizable-handle' ).each( function( index, handle ) { - equals( $( handle ).css( 'zIndex' ), 100, 'compare zIndex' ); + equal( $( handle ).css( 'zIndex' ), 100, 'compare zIndex' ); }); }); -- cgit v1.2.3 From c090fe9486700e1c10defba35f272e78459ad566 Mon Sep 17 00:00:00 2001 From: Scott González Date: Fri, 20 Apr 2012 11:23:37 -0400 Subject: Resizable tests: Remove all bad tests. --- tests/unit/resizable/resizable_defaults.js | 5 ++- tests/unit/resizable/resizable_events.js | 12 ------- tests/unit/resizable/resizable_methods.js | 55 ------------------------------ 3 files changed, 4 insertions(+), 68 deletions(-) (limited to 'tests/unit') diff --git a/tests/unit/resizable/resizable_defaults.js b/tests/unit/resizable/resizable_defaults.js index c46e10781..617cdd2ad 100644 --- a/tests/unit/resizable/resizable_defaults.js +++ b/tests/unit/resizable/resizable_defaults.js @@ -19,6 +19,9 @@ TestHelpers.commonWidgetTests('resizable', { maxWidth: null, minHeight: 10, minWidth: 10, - zIndex: 1000 + zIndex: 1000, + + // callbacks + create: null } }); diff --git a/tests/unit/resizable/resizable_events.js b/tests/unit/resizable/resizable_events.js index e8041f064..52d55731c 100644 --- a/tests/unit/resizable/resizable_events.js +++ b/tests/unit/resizable/resizable_events.js @@ -5,16 +5,4 @@ module("resizable: events"); -test("start", function() { - ok(false, "missing test - untested code is broken code."); -}); - -test("resize", function() { - ok(false, "missing test - untested code is broken code."); -}); - -test("stop", function() { - ok(false, "missing test - untested code is broken code."); -}); - })(jQuery); diff --git a/tests/unit/resizable/resizable_methods.js b/tests/unit/resizable/resizable_methods.js index 2b4c4256c..87859acf7 100644 --- a/tests/unit/resizable/resizable_methods.js +++ b/tests/unit/resizable/resizable_methods.js @@ -5,60 +5,5 @@ module("resizable: methods"); -test("init", function() { - expect(6); - - $("
      ").appendTo('body').resizable().remove(); - ok(true, '.resizable() called on element'); - - $([]).resizable().remove(); - ok(true, '.resizable() called on empty collection'); - - $('
      ').resizable().remove(); - ok(true, '.resizable() called on disconnected DOMElement'); - - $('
      ').resizable().resizable("foo").remove(); - ok(true, 'arbitrary method called after init'); - - el = $('
      ').resizable(); - var foo = el.resizable("option", "foo"); - el.remove(); - ok(true, 'arbitrary option getter after init'); - - $('
      ').resizable().resizable("option", "foo", "bar").remove(); - ok(true, 'arbitrary option setter after init'); -}); - -test("destroy", function() { - $("
      ").appendTo('body').resizable().resizable("destroy").remove(); - ok(true, '.resizable("destroy") called on element'); - - $([]).resizable().resizable("destroy").remove(); - ok(true, '.resizable("destroy") called on empty collection'); - - $('
      ').resizable().resizable("destroy").remove(); - ok(true, '.resizable("destroy") called on disconnected DOMElement'); - - $('
      ').resizable().resizable("destroy").resizable("foo").remove(); - ok(true, 'arbitrary method called after destroy'); - - var expected = $('
      ').resizable(), - actual = expected.resizable('destroy'); - equal(actual, expected, 'destroy is chainable'); -}); - -test("enable", function() { - var expected = $('
      ').resizable(), - actual = expected.resizable('enable'); - equal(actual, expected, 'enable is chainable'); - ok(false, "missing test - untested code is broken code."); -}); - -test("disable", function() { - var expected = $('
      ').resizable(), - actual = expected.resizable('disable'); - equal(actual, expected, 'disable is chainable'); - ok(false, "missing test - untested code is broken code."); -}); })(jQuery); -- cgit v1.2.3 From ce3c7fab938c755b10d5e55bddccdde1be4819f1 Mon Sep 17 00:00:00 2001 From: Jörn Zaefferer Date: Sat, 21 Apr 2012 17:49:11 +0200 Subject: Update to official qunit composite addon --- tests/unit/accordion/all.html | 4 +- tests/unit/all-active.html | 4 +- tests/unit/all.html | 4 +- tests/unit/autocomplete/all.html | 4 +- tests/unit/button/all.html | 4 +- tests/unit/core/all.html | 4 +- tests/unit/datepicker/all.html | 4 +- tests/unit/dialog/all.html | 4 +- tests/unit/draggable/all.html | 4 +- tests/unit/droppable/all.html | 4 +- tests/unit/effects/all.html | 4 +- tests/unit/menu/all.html | 4 +- tests/unit/position/all.html | 4 +- tests/unit/progressbar/all.html | 4 +- tests/unit/qunit-composite.css | 13 +++++ tests/unit/qunit-composite.js | 102 +++++++++++++++++++++++++++++++++++++++ tests/unit/resizable/all.html | 4 +- tests/unit/selectable/all.html | 4 +- tests/unit/slider/all.html | 4 +- tests/unit/sortable/all.html | 4 +- tests/unit/spinner/all.html | 4 +- tests/unit/subsuiteRunner.css | 8 --- tests/unit/subsuiteRunner.js | 88 --------------------------------- tests/unit/tabs/all.html | 4 +- tests/unit/tooltip/all.html | 4 +- tests/unit/widget/all.html | 4 +- 26 files changed, 159 insertions(+), 140 deletions(-) create mode 100644 tests/unit/qunit-composite.css create mode 100644 tests/unit/qunit-composite.js delete mode 100644 tests/unit/subsuiteRunner.css delete mode 100644 tests/unit/subsuiteRunner.js (limited to 'tests/unit') diff --git a/tests/unit/accordion/all.html b/tests/unit/accordion/all.html index ec9c003d9..2fb783c1c 100644 --- a/tests/unit/accordion/all.html +++ b/tests/unit/accordion/all.html @@ -7,9 +7,9 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + " ); + asyncTest( "JSHint", function() { + expect( 1 ); + + $.when( + $.ajax({ + url: "../../../ui/.jshintrc", + dataType: "json" + }), + $.ajax({ + url: "../../../ui/jquery.ui." + widget + ".js", + dataType: "text" + }) + ).done(function( hintArgs, srcArgs ) { + var passed = JSHINT( srcArgs[ 0 ], hintArgs[ 0 ] ), + errors = $.map( JSHINT.errors, function( error ) { + return "[L" + error.line + ":C" + error.character + "] " + + error.reason + "\n" + error.evidence + "\n"; + }).join( "\n" ); + ok( passed, errors ); + start(); + }) + .fail(function() { + ok( false, "error loading source" ); + start(); + }); + }); +} + function testWidgetDefaults( widget, defaults ) { var pluginDefaults = $.ui[ widget ].prototype.options; @@ -59,6 +93,7 @@ function testBasicUsage( widget ) { TestHelpers.commonWidgetTests = function( widget, settings ) { module( widget + ": common widget" ); + testJshint( widget ); testWidgetDefaults( widget, settings.defaults ); testWidgetOverrides( widget ); testBasicUsage( widget ); @@ -106,4 +141,4 @@ window.domEqual = function( selector, modifier, message ) { QUnit.push( QUnit.equiv(actual, expected), actual, expected, message ); }; -}()); +}( jQuery )); -- cgit v1.2.3 From 7a5a77da50e5e2401043410434c49971ce504653 Mon Sep 17 00:00:00 2001 From: Scott González Date: Mon, 23 Apr 2012 10:15:17 -0400 Subject: Tests: Rename {widget}_defaults.js -> {widget}_common.js --- tests/unit/accordion/accordion.html | 8 ++--- tests/unit/accordion/accordion_common.js | 20 +++++++++++++ .../unit/accordion/accordion_common_deprecated.js | 29 ++++++++++++++++++ tests/unit/accordion/accordion_defaults.js | 20 ------------- .../accordion/accordion_defaults_deprecated.js | 29 ------------------ tests/unit/accordion/accordion_deprecated.html | 8 ++--- tests/unit/autocomplete/autocomplete.html | 2 +- tests/unit/autocomplete/autocomplete_common.js | 25 ++++++++++++++++ tests/unit/autocomplete/autocomplete_defaults.js | 25 ---------------- tests/unit/button/button.html | 2 +- tests/unit/button/button_common.js | 14 +++++++++ tests/unit/button/button_defaults.js | 14 --------- tests/unit/dialog/dialog.html | 2 +- tests/unit/dialog/dialog_common.js | 34 ++++++++++++++++++++++ tests/unit/dialog/dialog_defaults.js | 34 ---------------------- tests/unit/draggable/draggable.html | 2 +- tests/unit/draggable/draggable_common.js | 32 ++++++++++++++++++++ tests/unit/draggable/draggable_defaults.js | 32 -------------------- tests/unit/droppable/droppable.html | 2 +- tests/unit/droppable/droppable_common.js | 12 ++++++++ tests/unit/droppable/droppable_defaults.js | 12 -------- tests/unit/menu/menu.html | 2 +- tests/unit/menu/menu_common.js | 16 ++++++++++ tests/unit/menu/menu_defaults.js | 16 ---------- tests/unit/progressbar/progressbar.html | 2 +- tests/unit/progressbar/progressbar_common.js | 10 +++++++ tests/unit/progressbar/progressbar_defaults.js | 10 ------- tests/unit/resizable/resizable.html | 2 +- tests/unit/resizable/resizable_common.js | 27 +++++++++++++++++ tests/unit/resizable/resizable_defaults.js | 27 ----------------- tests/unit/selectable/selectable.html | 2 +- tests/unit/selectable/selectable_common.js | 12 ++++++++ tests/unit/selectable/selectable_defaults.js | 12 -------- tests/unit/slider/slider.html | 2 +- tests/unit/slider/slider_common.js | 19 ++++++++++++ tests/unit/slider/slider_defaults.js | 19 ------------ tests/unit/sortable/sortable.html | 2 +- tests/unit/sortable/sortable_common.js | 30 +++++++++++++++++++ tests/unit/sortable/sortable_defaults.js | 30 ------------------- tests/unit/spinner/spinner.html | 4 +-- tests/unit/spinner/spinner_common.js | 19 ++++++++++++ tests/unit/spinner/spinner_defaults.js | 19 ------------ tests/unit/tabs/tabs.html | 2 +- tests/unit/tabs/tabs_common.js | 16 ++++++++++ tests/unit/tabs/tabs_common_deprecated.js | 29 ++++++++++++++++++ tests/unit/tabs/tabs_defaults.js | 16 ---------- tests/unit/tabs/tabs_defaults_deprecated.js | 29 ------------------ tests/unit/tabs/tabs_deprecated.html | 2 +- tests/unit/tooltip/tooltip.html | 2 +- tests/unit/tooltip/tooltip_common.js | 20 +++++++++++++ tests/unit/tooltip/tooltip_defaults.js | 20 ------------- 51 files changed, 388 insertions(+), 388 deletions(-) create mode 100644 tests/unit/accordion/accordion_common.js create mode 100644 tests/unit/accordion/accordion_common_deprecated.js delete mode 100644 tests/unit/accordion/accordion_defaults.js delete mode 100644 tests/unit/accordion/accordion_defaults_deprecated.js create mode 100644 tests/unit/autocomplete/autocomplete_common.js delete mode 100644 tests/unit/autocomplete/autocomplete_defaults.js create mode 100644 tests/unit/button/button_common.js delete mode 100644 tests/unit/button/button_defaults.js create mode 100644 tests/unit/dialog/dialog_common.js delete mode 100644 tests/unit/dialog/dialog_defaults.js create mode 100644 tests/unit/draggable/draggable_common.js delete mode 100644 tests/unit/draggable/draggable_defaults.js create mode 100644 tests/unit/droppable/droppable_common.js delete mode 100644 tests/unit/droppable/droppable_defaults.js create mode 100644 tests/unit/menu/menu_common.js delete mode 100644 tests/unit/menu/menu_defaults.js create mode 100644 tests/unit/progressbar/progressbar_common.js delete mode 100644 tests/unit/progressbar/progressbar_defaults.js create mode 100644 tests/unit/resizable/resizable_common.js delete mode 100644 tests/unit/resizable/resizable_defaults.js create mode 100644 tests/unit/selectable/selectable_common.js delete mode 100644 tests/unit/selectable/selectable_defaults.js create mode 100644 tests/unit/slider/slider_common.js delete mode 100644 tests/unit/slider/slider_defaults.js create mode 100644 tests/unit/sortable/sortable_common.js delete mode 100644 tests/unit/sortable/sortable_defaults.js create mode 100644 tests/unit/spinner/spinner_common.js delete mode 100644 tests/unit/spinner/spinner_defaults.js create mode 100644 tests/unit/tabs/tabs_common.js create mode 100644 tests/unit/tabs/tabs_common_deprecated.js delete mode 100644 tests/unit/tabs/tabs_defaults.js delete mode 100644 tests/unit/tabs/tabs_defaults_deprecated.js create mode 100644 tests/unit/tooltip/tooltip_common.js delete mode 100644 tests/unit/tooltip/tooltip_defaults.js (limited to 'tests/unit') diff --git a/tests/unit/accordion/accordion.html b/tests/unit/accordion/accordion.html index 5c9169ea3..ec7839019 100644 --- a/tests/unit/accordion/accordion.html +++ b/tests/unit/accordion/accordion.html @@ -26,7 +26,7 @@ - + @@ -93,7 +93,7 @@
    • Amps
    • Effects
    • Accessories
    • - +
    • Bass

      @@ -105,7 +105,7 @@
    • Accessories
    • Accessories
    • Accessories
    • - +
    • Drums

      @@ -113,7 +113,7 @@
    • Acoustic
    • Electronic
    • Accessories
    • - +
      diff --git a/tests/unit/accordion/accordion_common.js b/tests/unit/accordion/accordion_common.js new file mode 100644 index 000000000..ef24cf25e --- /dev/null +++ b/tests/unit/accordion/accordion_common.js @@ -0,0 +1,20 @@ +TestHelpers.commonWidgetTests( "accordion", { + defaults: { + active: 0, + animate: {}, + collapsible: false, + disabled: false, + event: "click", + header: "> li > :first-child,> :not(li):even", + heightStyle: "auto", + icons: { + "activeHeader": "ui-icon-triangle-1-s", + "header": "ui-icon-triangle-1-e" + }, + + // callbacks + activate: null, + beforeActivate: null, + create: null + } +}); diff --git a/tests/unit/accordion/accordion_common_deprecated.js b/tests/unit/accordion/accordion_common_deprecated.js new file mode 100644 index 000000000..22d5e1289 --- /dev/null +++ b/tests/unit/accordion/accordion_common_deprecated.js @@ -0,0 +1,29 @@ +TestHelpers.commonWidgetTests( "accordion", { + defaults: { + active: 0, + animate: null, + animated: "slide", + autoHeight: true, + clearStyle: false, + collapsible: false, + disabled: false, + event: "click", + fillSpace: false, + header: "> li > :first-child,> :not(li):even", + heightStyle: null, + icons: { + "activeHeader": null, + "header": "ui-icon-triangle-1-e", + "headerSelected": "ui-icon-triangle-1-s" + }, + navigation: false, + navigationFilter: function() {}, + + // callbacks + activate: null, + beforeActivate: null, + change: null, + changestart: null, + create: null + } +}); diff --git a/tests/unit/accordion/accordion_defaults.js b/tests/unit/accordion/accordion_defaults.js deleted file mode 100644 index ef24cf25e..000000000 --- a/tests/unit/accordion/accordion_defaults.js +++ /dev/null @@ -1,20 +0,0 @@ -TestHelpers.commonWidgetTests( "accordion", { - defaults: { - active: 0, - animate: {}, - collapsible: false, - disabled: false, - event: "click", - header: "> li > :first-child,> :not(li):even", - heightStyle: "auto", - icons: { - "activeHeader": "ui-icon-triangle-1-s", - "header": "ui-icon-triangle-1-e" - }, - - // callbacks - activate: null, - beforeActivate: null, - create: null - } -}); diff --git a/tests/unit/accordion/accordion_defaults_deprecated.js b/tests/unit/accordion/accordion_defaults_deprecated.js deleted file mode 100644 index 22d5e1289..000000000 --- a/tests/unit/accordion/accordion_defaults_deprecated.js +++ /dev/null @@ -1,29 +0,0 @@ -TestHelpers.commonWidgetTests( "accordion", { - defaults: { - active: 0, - animate: null, - animated: "slide", - autoHeight: true, - clearStyle: false, - collapsible: false, - disabled: false, - event: "click", - fillSpace: false, - header: "> li > :first-child,> :not(li):even", - heightStyle: null, - icons: { - "activeHeader": null, - "header": "ui-icon-triangle-1-e", - "headerSelected": "ui-icon-triangle-1-s" - }, - navigation: false, - navigationFilter: function() {}, - - // callbacks - activate: null, - beforeActivate: null, - change: null, - changestart: null, - create: null - } -}); diff --git a/tests/unit/accordion/accordion_deprecated.html b/tests/unit/accordion/accordion_deprecated.html index 116eb43b5..f3494c6fc 100644 --- a/tests/unit/accordion/accordion_deprecated.html +++ b/tests/unit/accordion/accordion_deprecated.html @@ -23,7 +23,7 @@ - + @@ -91,7 +91,7 @@
    • Amps
    • Effects
    • Accessories
    • - +
    • Bass

      @@ -103,7 +103,7 @@
    • Accessories
    • Accessories
    • Accessories
    • - +
    • Drums

      @@ -111,7 +111,7 @@
    • Acoustic
    • Electronic
    • Accessories
    • - +
      diff --git a/tests/unit/autocomplete/autocomplete.html b/tests/unit/autocomplete/autocomplete.html index 70d2ecfd1..259def349 100644 --- a/tests/unit/autocomplete/autocomplete.html +++ b/tests/unit/autocomplete/autocomplete.html @@ -24,7 +24,7 @@ - + diff --git a/tests/unit/autocomplete/autocomplete_common.js b/tests/unit/autocomplete/autocomplete_common.js new file mode 100644 index 000000000..c090ce4df --- /dev/null +++ b/tests/unit/autocomplete/autocomplete_common.js @@ -0,0 +1,25 @@ +TestHelpers.commonWidgetTests( "autocomplete", { + defaults: { + appendTo: "body", + autoFocus: false, + delay: 300, + disabled: false, + minLength: 1, + position: { + my: "left top", + at: "left bottom", + collision: "none" + }, + source: null, + + // callbacks + change: null, + close: null, + create: null, + focus: null, + open: null, + response: null, + search: null, + select: null + } +}); diff --git a/tests/unit/autocomplete/autocomplete_defaults.js b/tests/unit/autocomplete/autocomplete_defaults.js deleted file mode 100644 index c090ce4df..000000000 --- a/tests/unit/autocomplete/autocomplete_defaults.js +++ /dev/null @@ -1,25 +0,0 @@ -TestHelpers.commonWidgetTests( "autocomplete", { - defaults: { - appendTo: "body", - autoFocus: false, - delay: 300, - disabled: false, - minLength: 1, - position: { - my: "left top", - at: "left bottom", - collision: "none" - }, - source: null, - - // callbacks - change: null, - close: null, - create: null, - focus: null, - open: null, - response: null, - search: null, - select: null - } -}); diff --git a/tests/unit/button/button.html b/tests/unit/button/button.html index 5ec7e316a..5f27740c4 100644 --- a/tests/unit/button/button.html +++ b/tests/unit/button/button.html @@ -22,8 +22,8 @@ + - diff --git a/tests/unit/button/button_common.js b/tests/unit/button/button_common.js new file mode 100644 index 000000000..ef22d3011 --- /dev/null +++ b/tests/unit/button/button_common.js @@ -0,0 +1,14 @@ +TestHelpers.commonWidgetTests( "button", { + defaults: { + disabled: null, + icons: { + primary: null, + secondary: null + }, + label: null, + text: true, + + // callbacks + create: null + } +}); diff --git a/tests/unit/button/button_defaults.js b/tests/unit/button/button_defaults.js deleted file mode 100644 index ef22d3011..000000000 --- a/tests/unit/button/button_defaults.js +++ /dev/null @@ -1,14 +0,0 @@ -TestHelpers.commonWidgetTests( "button", { - defaults: { - disabled: null, - icons: { - primary: null, - secondary: null - }, - label: null, - text: true, - - // callbacks - create: null - } -}); diff --git a/tests/unit/dialog/dialog.html b/tests/unit/dialog/dialog.html index 94b20a225..1f940400c 100644 --- a/tests/unit/dialog/dialog.html +++ b/tests/unit/dialog/dialog.html @@ -27,8 +27,8 @@ + - diff --git a/tests/unit/dialog/dialog_common.js b/tests/unit/dialog/dialog_common.js new file mode 100644 index 000000000..623908da7 --- /dev/null +++ b/tests/unit/dialog/dialog_common.js @@ -0,0 +1,34 @@ +TestHelpers.commonWidgetTests( "dialog", { + defaults: { + autoOpen: true, + buttons: {}, + closeOnEscape: true, + closeText: 'close', + disabled: false, + dialogClass: '', + draggable: true, + height: 'auto', + hide: null, + maxHeight: false, + maxWidth: false, + minHeight: 150, + minWidth: 150, + modal: false, + position: { + my: 'center', + at: 'center', + of: window, + collision: 'fit', + using: $.ui.dialog.prototype.options.position.using + }, + resizable: true, + show: null, + stack: true, + title: '', + width: 300, + zIndex: 1000, + + // callbacks + create: null + } +}); diff --git a/tests/unit/dialog/dialog_defaults.js b/tests/unit/dialog/dialog_defaults.js deleted file mode 100644 index 623908da7..000000000 --- a/tests/unit/dialog/dialog_defaults.js +++ /dev/null @@ -1,34 +0,0 @@ -TestHelpers.commonWidgetTests( "dialog", { - defaults: { - autoOpen: true, - buttons: {}, - closeOnEscape: true, - closeText: 'close', - disabled: false, - dialogClass: '', - draggable: true, - height: 'auto', - hide: null, - maxHeight: false, - maxWidth: false, - minHeight: 150, - minWidth: 150, - modal: false, - position: { - my: 'center', - at: 'center', - of: window, - collision: 'fit', - using: $.ui.dialog.prototype.options.position.using - }, - resizable: true, - show: null, - stack: true, - title: '', - width: 300, - zIndex: 1000, - - // callbacks - create: null - } -}); diff --git a/tests/unit/draggable/draggable.html b/tests/unit/draggable/draggable.html index 5be71f460..acc50effe 100644 --- a/tests/unit/draggable/draggable.html +++ b/tests/unit/draggable/draggable.html @@ -23,8 +23,8 @@ + - diff --git a/tests/unit/draggable/draggable_common.js b/tests/unit/draggable/draggable_common.js new file mode 100644 index 000000000..b47b139cd --- /dev/null +++ b/tests/unit/draggable/draggable_common.js @@ -0,0 +1,32 @@ +TestHelpers.commonWidgetTests( "draggable", { + defaults: { + addClasses: true, + appendTo: "parent", + axis: false, + cancel: ":input,option", + connectToSortable: false, + containment: false, + cursor: "auto", + cursorAt: false, + delay: 0, + disabled: false, + distance: 1, + grid: false, + handle: false, + helper: "original", + iframeFix: false, + opacity: false, + refreshPositions: false, + revert: false, + revertDuration: 500, + scroll: true, + scrollSensitivity: 20, + scrollSpeed: 20, + scope: "default", + snap: false, + snapMode: "both", + snapTolerance: 20, + stack: false, + zIndex: false + } +}); diff --git a/tests/unit/draggable/draggable_defaults.js b/tests/unit/draggable/draggable_defaults.js deleted file mode 100644 index b47b139cd..000000000 --- a/tests/unit/draggable/draggable_defaults.js +++ /dev/null @@ -1,32 +0,0 @@ -TestHelpers.commonWidgetTests( "draggable", { - defaults: { - addClasses: true, - appendTo: "parent", - axis: false, - cancel: ":input,option", - connectToSortable: false, - containment: false, - cursor: "auto", - cursorAt: false, - delay: 0, - disabled: false, - distance: 1, - grid: false, - handle: false, - helper: "original", - iframeFix: false, - opacity: false, - refreshPositions: false, - revert: false, - revertDuration: 500, - scroll: true, - scrollSensitivity: 20, - scrollSpeed: 20, - scope: "default", - snap: false, - snapMode: "both", - snapTolerance: 20, - stack: false, - zIndex: false - } -}); diff --git a/tests/unit/droppable/droppable.html b/tests/unit/droppable/droppable.html index abf94f0c7..eb2215763 100644 --- a/tests/unit/droppable/droppable.html +++ b/tests/unit/droppable/droppable.html @@ -24,8 +24,8 @@ + - diff --git a/tests/unit/droppable/droppable_common.js b/tests/unit/droppable/droppable_common.js new file mode 100644 index 000000000..985dba06d --- /dev/null +++ b/tests/unit/droppable/droppable_common.js @@ -0,0 +1,12 @@ +TestHelpers.commonWidgetTests( "droppable", { + defaults: { + accept: "*", + activeClass: false, + addClasses: true, + disabled: false, + greedy: false, + hoverClass: false, + scope: "default", + tolerance: "intersect" + } +}); diff --git a/tests/unit/droppable/droppable_defaults.js b/tests/unit/droppable/droppable_defaults.js deleted file mode 100644 index 985dba06d..000000000 --- a/tests/unit/droppable/droppable_defaults.js +++ /dev/null @@ -1,12 +0,0 @@ -TestHelpers.commonWidgetTests( "droppable", { - defaults: { - accept: "*", - activeClass: false, - addClasses: true, - disabled: false, - greedy: false, - hoverClass: false, - scope: "default", - tolerance: "intersect" - } -}); diff --git a/tests/unit/menu/menu.html b/tests/unit/menu/menu.html index 9a598ec8d..54a2ecaa0 100644 --- a/tests/unit/menu/menu.html +++ b/tests/unit/menu/menu.html @@ -23,8 +23,8 @@ + - diff --git a/tests/unit/menu/menu_common.js b/tests/unit/menu/menu_common.js new file mode 100644 index 000000000..ddcdbebf2 --- /dev/null +++ b/tests/unit/menu/menu_common.js @@ -0,0 +1,16 @@ +TestHelpers.commonWidgetTests( "menu", { + defaults: { + disabled: false, + menus: "ul", + position: { + my: "left top", + at: "right top" + }, + + // callbacks + blur: null, + create: null, + focus: null, + select: null + } +}); diff --git a/tests/unit/menu/menu_defaults.js b/tests/unit/menu/menu_defaults.js deleted file mode 100644 index ddcdbebf2..000000000 --- a/tests/unit/menu/menu_defaults.js +++ /dev/null @@ -1,16 +0,0 @@ -TestHelpers.commonWidgetTests( "menu", { - defaults: { - disabled: false, - menus: "ul", - position: { - my: "left top", - at: "right top" - }, - - // callbacks - blur: null, - create: null, - focus: null, - select: null - } -}); diff --git a/tests/unit/progressbar/progressbar.html b/tests/unit/progressbar/progressbar.html index 8b55f5a89..f6156d0bb 100644 --- a/tests/unit/progressbar/progressbar.html +++ b/tests/unit/progressbar/progressbar.html @@ -22,8 +22,8 @@ + - diff --git a/tests/unit/progressbar/progressbar_common.js b/tests/unit/progressbar/progressbar_common.js new file mode 100644 index 000000000..2f97a78bb --- /dev/null +++ b/tests/unit/progressbar/progressbar_common.js @@ -0,0 +1,10 @@ +TestHelpers.commonWidgetTests( "progressbar", { + defaults: { + disabled: false, + value: 0, + max: 100, + + //callbacks + create: null + } +}); diff --git a/tests/unit/progressbar/progressbar_defaults.js b/tests/unit/progressbar/progressbar_defaults.js deleted file mode 100644 index 2f97a78bb..000000000 --- a/tests/unit/progressbar/progressbar_defaults.js +++ /dev/null @@ -1,10 +0,0 @@ -TestHelpers.commonWidgetTests( "progressbar", { - defaults: { - disabled: false, - value: 0, - max: 100, - - //callbacks - create: null - } -}); diff --git a/tests/unit/resizable/resizable.html b/tests/unit/resizable/resizable.html index 4e886d2fd..028087842 100644 --- a/tests/unit/resizable/resizable.html +++ b/tests/unit/resizable/resizable.html @@ -23,8 +23,8 @@ + - diff --git a/tests/unit/resizable/resizable_common.js b/tests/unit/resizable/resizable_common.js new file mode 100644 index 000000000..617cdd2ad --- /dev/null +++ b/tests/unit/resizable/resizable_common.js @@ -0,0 +1,27 @@ +TestHelpers.commonWidgetTests('resizable', { + defaults: { + alsoResize: false, + animate: false, + animateDuration: 'slow', + animateEasing: 'swing', + aspectRatio: false, + autoHide: false, + cancel: ':input,option', + containment: false, + delay: 0, + disabled: false, + distance: 1, + ghost: false, + grid: false, + handles: 'e,s,se', + helper: false, + maxHeight: null, + maxWidth: null, + minHeight: 10, + minWidth: 10, + zIndex: 1000, + + // callbacks + create: null + } +}); diff --git a/tests/unit/resizable/resizable_defaults.js b/tests/unit/resizable/resizable_defaults.js deleted file mode 100644 index 617cdd2ad..000000000 --- a/tests/unit/resizable/resizable_defaults.js +++ /dev/null @@ -1,27 +0,0 @@ -TestHelpers.commonWidgetTests('resizable', { - defaults: { - alsoResize: false, - animate: false, - animateDuration: 'slow', - animateEasing: 'swing', - aspectRatio: false, - autoHide: false, - cancel: ':input,option', - containment: false, - delay: 0, - disabled: false, - distance: 1, - ghost: false, - grid: false, - handles: 'e,s,se', - helper: false, - maxHeight: null, - maxWidth: null, - minHeight: 10, - minWidth: 10, - zIndex: 1000, - - // callbacks - create: null - } -}); diff --git a/tests/unit/selectable/selectable.html b/tests/unit/selectable/selectable.html index 4f70e8dd4..af4e6d20e 100644 --- a/tests/unit/selectable/selectable.html +++ b/tests/unit/selectable/selectable.html @@ -23,8 +23,8 @@ + - diff --git a/tests/unit/selectable/selectable_common.js b/tests/unit/selectable/selectable_common.js new file mode 100644 index 000000000..27714d0ae --- /dev/null +++ b/tests/unit/selectable/selectable_common.js @@ -0,0 +1,12 @@ +TestHelpers.commonWidgetTests('selectable', { + defaults: { + appendTo: 'body', + autoRefresh: true, + cancel: ':input,option', + delay: 0, + disabled: false, + distance: 0, + filter: '*', + tolerance: 'touch' + } +}); diff --git a/tests/unit/selectable/selectable_defaults.js b/tests/unit/selectable/selectable_defaults.js deleted file mode 100644 index 27714d0ae..000000000 --- a/tests/unit/selectable/selectable_defaults.js +++ /dev/null @@ -1,12 +0,0 @@ -TestHelpers.commonWidgetTests('selectable', { - defaults: { - appendTo: 'body', - autoRefresh: true, - cancel: ':input,option', - delay: 0, - disabled: false, - distance: 0, - filter: '*', - tolerance: 'touch' - } -}); diff --git a/tests/unit/slider/slider.html b/tests/unit/slider/slider.html index 60d124b7a..a63196219 100644 --- a/tests/unit/slider/slider.html +++ b/tests/unit/slider/slider.html @@ -23,8 +23,8 @@ + - diff --git a/tests/unit/slider/slider_common.js b/tests/unit/slider/slider_common.js new file mode 100644 index 000000000..8a0b347f3 --- /dev/null +++ b/tests/unit/slider/slider_common.js @@ -0,0 +1,19 @@ +TestHelpers.commonWidgetTests( "slider", { + defaults: { + animate: false, + cancel: ':input,option', + delay: 0, + disabled: false, + distance: 0, + max: 100, + min: 0, + orientation: 'horizontal', + range: false, + step: 1, + value: 0, + values: null, + + // callbacks + create: null + } +}); diff --git a/tests/unit/slider/slider_defaults.js b/tests/unit/slider/slider_defaults.js deleted file mode 100644 index 8a0b347f3..000000000 --- a/tests/unit/slider/slider_defaults.js +++ /dev/null @@ -1,19 +0,0 @@ -TestHelpers.commonWidgetTests( "slider", { - defaults: { - animate: false, - cancel: ':input,option', - delay: 0, - disabled: false, - distance: 0, - max: 100, - min: 0, - orientation: 'horizontal', - range: false, - step: 1, - value: 0, - values: null, - - // callbacks - create: null - } -}); diff --git a/tests/unit/sortable/sortable.html b/tests/unit/sortable/sortable.html index a20eb7109..4ed4f92ce 100644 --- a/tests/unit/sortable/sortable.html +++ b/tests/unit/sortable/sortable.html @@ -23,8 +23,8 @@ + - diff --git a/tests/unit/sortable/sortable_common.js b/tests/unit/sortable/sortable_common.js new file mode 100644 index 000000000..b5fc05a5d --- /dev/null +++ b/tests/unit/sortable/sortable_common.js @@ -0,0 +1,30 @@ +TestHelpers.commonWidgetTests( "sortable", { + defaults: { + appendTo: "parent", + axis: false, + cancel: ":input,option", + connectWith: false, + containment: false, + cursor: "auto", + cursorAt: false, + delay: 0, + disabled: false, + distance: 1, + dropOnEmpty: true, + forcePlaceholderSize: false, + forceHelperSize: false, + grid: false, + handle: false, + helper: "original", + items: "> *", + opacity: false, + placeholder: false, + revert: false, + scroll: true, + scrollSensitivity: 20, + scrollSpeed: 20, + scope: "default", + tolerance: "intersect", + zIndex: 1000 + } +}); diff --git a/tests/unit/sortable/sortable_defaults.js b/tests/unit/sortable/sortable_defaults.js deleted file mode 100644 index b5fc05a5d..000000000 --- a/tests/unit/sortable/sortable_defaults.js +++ /dev/null @@ -1,30 +0,0 @@ -TestHelpers.commonWidgetTests( "sortable", { - defaults: { - appendTo: "parent", - axis: false, - cancel: ":input,option", - connectWith: false, - containment: false, - cursor: "auto", - cursorAt: false, - delay: 0, - disabled: false, - distance: 1, - dropOnEmpty: true, - forcePlaceholderSize: false, - forceHelperSize: false, - grid: false, - handle: false, - helper: "original", - items: "> *", - opacity: false, - placeholder: false, - revert: false, - scroll: true, - scrollSensitivity: 20, - scrollSpeed: 20, - scope: "default", - tolerance: "intersect", - zIndex: 1000 - } -}); diff --git a/tests/unit/spinner/spinner.html b/tests/unit/spinner/spinner.html index 0c01a5f48..e495abe1b 100644 --- a/tests/unit/spinner/spinner.html +++ b/tests/unit/spinner/spinner.html @@ -3,7 +3,7 @@ jQuery UI Spinner Test Suite - + @@ -27,8 +27,8 @@ + - diff --git a/tests/unit/spinner/spinner_common.js b/tests/unit/spinner/spinner_common.js new file mode 100644 index 000000000..4f05b1e63 --- /dev/null +++ b/tests/unit/spinner/spinner_common.js @@ -0,0 +1,19 @@ +TestHelpers.commonWidgetTests( "spinner", { + defaults: { + culture: null, + disabled: false, + incremental: true, + max: null, + min: null, + numberFormat: null, + page: 10, + step: 1, + + // callbacks + change: null, + create: null, + spin: null, + start: null, + stop: null + } +}); diff --git a/tests/unit/spinner/spinner_defaults.js b/tests/unit/spinner/spinner_defaults.js deleted file mode 100644 index 4f05b1e63..000000000 --- a/tests/unit/spinner/spinner_defaults.js +++ /dev/null @@ -1,19 +0,0 @@ -TestHelpers.commonWidgetTests( "spinner", { - defaults: { - culture: null, - disabled: false, - incremental: true, - max: null, - min: null, - numberFormat: null, - page: 10, - step: 1, - - // callbacks - change: null, - create: null, - spin: null, - start: null, - stop: null - } -}); diff --git a/tests/unit/tabs/tabs.html b/tests/unit/tabs/tabs.html index 7f60ad277..a79d30e0e 100644 --- a/tests/unit/tabs/tabs.html +++ b/tests/unit/tabs/tabs.html @@ -26,7 +26,7 @@ - + diff --git a/tests/unit/tabs/tabs_common.js b/tests/unit/tabs/tabs_common.js new file mode 100644 index 000000000..7ffb05da4 --- /dev/null +++ b/tests/unit/tabs/tabs_common.js @@ -0,0 +1,16 @@ +TestHelpers.commonWidgetTests( "tabs", { + defaults: { + active: null, + collapsible: false, + disabled: false, + event: "click", + fx: null, + + // callbacks + activate: null, + beforeActivate: null, + beforeLoad: null, + create: null, + load: null + } +}); diff --git a/tests/unit/tabs/tabs_common_deprecated.js b/tests/unit/tabs/tabs_common_deprecated.js new file mode 100644 index 000000000..fdcff21b3 --- /dev/null +++ b/tests/unit/tabs/tabs_common_deprecated.js @@ -0,0 +1,29 @@ +TestHelpers.commonWidgetTests( "tabs", { + defaults: { + active: null, + ajaxOptions: null, + cache: false, + collapsible: false, + cookie: null, + disabled: false, + event: "click", + fx: null, + idPrefix: "ui-tabs-", + panelTemplate: "
      ", + spinner: "Loading…", + tabTemplate: "
    • #{label}
    • ", + + // callbacks + activate: null, + add: null, + beforeActivate: null, + beforeLoad: null, + create: null, + disable: null, + enable: null, + load: null, + remove: null, + select: null, + show: null + } +}); diff --git a/tests/unit/tabs/tabs_defaults.js b/tests/unit/tabs/tabs_defaults.js deleted file mode 100644 index 7ffb05da4..000000000 --- a/tests/unit/tabs/tabs_defaults.js +++ /dev/null @@ -1,16 +0,0 @@ -TestHelpers.commonWidgetTests( "tabs", { - defaults: { - active: null, - collapsible: false, - disabled: false, - event: "click", - fx: null, - - // callbacks - activate: null, - beforeActivate: null, - beforeLoad: null, - create: null, - load: null - } -}); diff --git a/tests/unit/tabs/tabs_defaults_deprecated.js b/tests/unit/tabs/tabs_defaults_deprecated.js deleted file mode 100644 index fdcff21b3..000000000 --- a/tests/unit/tabs/tabs_defaults_deprecated.js +++ /dev/null @@ -1,29 +0,0 @@ -TestHelpers.commonWidgetTests( "tabs", { - defaults: { - active: null, - ajaxOptions: null, - cache: false, - collapsible: false, - cookie: null, - disabled: false, - event: "click", - fx: null, - idPrefix: "ui-tabs-", - panelTemplate: "
      ", - spinner: "Loading…", - tabTemplate: "
    • #{label}
    • ", - - // callbacks - activate: null, - add: null, - beforeActivate: null, - beforeLoad: null, - create: null, - disable: null, - enable: null, - load: null, - remove: null, - select: null, - show: null - } -}); diff --git a/tests/unit/tabs/tabs_deprecated.html b/tests/unit/tabs/tabs_deprecated.html index c22ec3369..9bb8e413e 100644 --- a/tests/unit/tabs/tabs_deprecated.html +++ b/tests/unit/tabs/tabs_deprecated.html @@ -24,7 +24,7 @@ - + diff --git a/tests/unit/tooltip/tooltip.html b/tests/unit/tooltip/tooltip.html index b5e8558e5..d1f54d544 100644 --- a/tests/unit/tooltip/tooltip.html +++ b/tests/unit/tooltip/tooltip.html @@ -23,7 +23,7 @@ - + diff --git a/tests/unit/tooltip/tooltip_common.js b/tests/unit/tooltip/tooltip_common.js new file mode 100644 index 000000000..d12ee9519 --- /dev/null +++ b/tests/unit/tooltip/tooltip_common.js @@ -0,0 +1,20 @@ +TestHelpers.commonWidgetTests( "tooltip", { + defaults: { + content: function() {}, + disabled: false, + hide: true, + items: "[title]", + position: { + my: "left+15 center", + at: "right center", + collision: "flipfit flipfit" + }, + show: true, + tooltipClass: null, + + // callbacks + close: null, + create: null, + open: null + } +}); diff --git a/tests/unit/tooltip/tooltip_defaults.js b/tests/unit/tooltip/tooltip_defaults.js deleted file mode 100644 index d12ee9519..000000000 --- a/tests/unit/tooltip/tooltip_defaults.js +++ /dev/null @@ -1,20 +0,0 @@ -TestHelpers.commonWidgetTests( "tooltip", { - defaults: { - content: function() {}, - disabled: false, - hide: true, - items: "[title]", - position: { - my: "left+15 center", - at: "right center", - collision: "flipfit flipfit" - }, - show: true, - tooltipClass: null, - - // callbacks - close: null, - create: null, - open: null - } -}); -- cgit v1.2.3 From b042f8ebd68e21155edb090917051353fe7a0162 Mon Sep 17 00:00:00 2001 From: Scott González Date: Mon, 23 Apr 2012 10:43:01 -0400 Subject: Tests: Moved loadResources to TestHelpers. --- tests/resource_loader.js | 40 -------------------------- tests/unit/accordion/accordion.html | 12 ++++---- tests/unit/accordion/accordion_deprecated.html | 12 ++++---- tests/unit/autocomplete/autocomplete.html | 12 ++++---- tests/unit/button/button.html | 12 ++++---- tests/unit/core/core.html | 12 ++++---- tests/unit/datepicker/datepicker.html | 12 ++++---- tests/unit/dialog/dialog.html | 12 ++++---- tests/unit/draggable/draggable.html | 12 ++++---- tests/unit/droppable/droppable.html | 12 ++++---- tests/unit/effects/effects.html | 11 ++++--- tests/unit/menu/menu.html | 12 ++++---- tests/unit/position/position.html | 12 ++++---- tests/unit/position/position_deprecated.html | 12 ++++---- tests/unit/progressbar/progressbar.html | 12 ++++---- tests/unit/resizable/resizable.html | 12 ++++---- tests/unit/selectable/selectable.html | 12 ++++---- tests/unit/slider/slider.html | 12 ++++---- tests/unit/sortable/sortable.html | 12 ++++---- tests/unit/spinner/spinner.html | 12 ++++---- tests/unit/tabs/tabs.html | 12 ++++---- tests/unit/tabs/tabs_deprecated.html | 12 ++++---- tests/unit/testsuite.js | 39 +++++++++++++++++++------ tests/unit/tooltip/tooltip.html | 12 ++++---- tests/unit/widget/widget.html | 12 ++++---- 25 files changed, 145 insertions(+), 209 deletions(-) delete mode 100644 tests/resource_loader.js (limited to 'tests/unit') diff --git a/tests/resource_loader.js b/tests/resource_loader.js deleted file mode 100644 index 9a03411a2..000000000 --- a/tests/resource_loader.js +++ /dev/null @@ -1,40 +0,0 @@ -(function( $ ) { - -var parts = document.location.search.slice( 1 ).split( "&" ), - length = parts.length, - i = 0, - current, - min; - -for ( ; i < length; i++ ) { - current = parts[ i ].split( "=" ); - if ( current[ 0 ] === "min" ) { - min = current[ 1 ]; - break; - } -} - -function includeStyle( url ) { - document.write( "" ); -} - -function includeScript( url ) { - document.write( "" ); -} - -window.loadResources = min ? - function() { - // TODO: proper include with theme images - includeStyle( "dist/jquery-ui.min.css" ); - includeScript( "dist/jquery-ui.min.js" ); - } : - function( resources ) { - $.each( resources.css || [], function( i, resource ) { - includeStyle( "themes/base/jquery." + resource + ".css" ); - }); - $.each( resources.js || [], function( i, resource ) { - includeScript( resource ); - }); - }; - -})( jQuery ); diff --git a/tests/unit/accordion/accordion.html b/tests/unit/accordion/accordion.html index ec7839019..b3b7caeae 100644 --- a/tests/unit/accordion/accordion.html +++ b/tests/unit/accordion/accordion.html @@ -8,9 +8,12 @@ - + + + + - - - - - diff --git a/tests/unit/accordion/accordion_deprecated.html b/tests/unit/accordion/accordion_deprecated.html index f3494c6fc..dfb9fa90e 100644 --- a/tests/unit/accordion/accordion_deprecated.html +++ b/tests/unit/accordion/accordion_deprecated.html @@ -5,9 +5,12 @@ jQuery UI Accordion Test Suite - + + + + - - - - - diff --git a/tests/unit/autocomplete/autocomplete.html b/tests/unit/autocomplete/autocomplete.html index 259def349..571c62033 100644 --- a/tests/unit/autocomplete/autocomplete.html +++ b/tests/unit/autocomplete/autocomplete.html @@ -5,9 +5,12 @@ jQuery UI Autocomplete Test Suite - + + + + - - - - - diff --git a/tests/unit/button/button.html b/tests/unit/button/button.html index 5f27740c4..b79ca1dc6 100644 --- a/tests/unit/button/button.html +++ b/tests/unit/button/button.html @@ -5,9 +5,12 @@ jQuery UI Button Test Suite - + + + + - - - - - diff --git a/tests/unit/core/core.html b/tests/unit/core/core.html index 3b1dc1fc8..3baf852bb 100644 --- a/tests/unit/core/core.html +++ b/tests/unit/core/core.html @@ -5,17 +5,15 @@ jQuery UI Core Test Suite - - - + diff --git a/tests/unit/datepicker/datepicker.html b/tests/unit/datepicker/datepicker.html index 592db53cc..bfff32d32 100644 --- a/tests/unit/datepicker/datepicker.html +++ b/tests/unit/datepicker/datepicker.html @@ -5,9 +5,12 @@ jQuery UI Datepicker Test Suite - + + + + - - - - - diff --git a/tests/unit/dialog/dialog.html b/tests/unit/dialog/dialog.html index 1f940400c..d804807f2 100644 --- a/tests/unit/dialog/dialog.html +++ b/tests/unit/dialog/dialog.html @@ -6,9 +6,12 @@ - + + + + - - - - - diff --git a/tests/unit/draggable/draggable.html b/tests/unit/draggable/draggable.html index acc50effe..09bc191c9 100644 --- a/tests/unit/draggable/draggable.html +++ b/tests/unit/draggable/draggable.html @@ -5,9 +5,12 @@ jQuery UI Draggable Test Suite - + + + + - - - - - diff --git a/tests/unit/droppable/droppable.html b/tests/unit/droppable/droppable.html index eb2215763..49ebf6beb 100644 --- a/tests/unit/droppable/droppable.html +++ b/tests/unit/droppable/droppable.html @@ -5,9 +5,12 @@ jQuery UI Droppable Test Suite - + + + + - - - - - diff --git a/tests/unit/effects/effects.html b/tests/unit/effects/effects.html index 06023c55d..1fd94182d 100644 --- a/tests/unit/effects/effects.html +++ b/tests/unit/effects/effects.html @@ -8,9 +8,12 @@ - + + + + - - - - diff --git a/tests/unit/menu/menu.html b/tests/unit/menu/menu.html index 54a2ecaa0..fca45697f 100644 --- a/tests/unit/menu/menu.html +++ b/tests/unit/menu/menu.html @@ -5,9 +5,12 @@ jQuery UI Menu Test Suite - + + + + - - - - - diff --git a/tests/unit/position/position.html b/tests/unit/position/position.html index 115adc3e9..3ea7750d7 100644 --- a/tests/unit/position/position.html +++ b/tests/unit/position/position.html @@ -8,17 +8,15 @@ - - - + diff --git a/tests/unit/position/position_deprecated.html b/tests/unit/position/position_deprecated.html index ee9be189d..c7a9b6bce 100644 --- a/tests/unit/position/position_deprecated.html +++ b/tests/unit/position/position_deprecated.html @@ -5,17 +5,15 @@ jQuery UI Position Test Suite - - - + diff --git a/tests/unit/progressbar/progressbar.html b/tests/unit/progressbar/progressbar.html index f6156d0bb..70a4abe56 100644 --- a/tests/unit/progressbar/progressbar.html +++ b/tests/unit/progressbar/progressbar.html @@ -5,9 +5,12 @@ jQuery UI Progressbar Test Suite - + + + + - - - - - diff --git a/tests/unit/resizable/resizable.html b/tests/unit/resizable/resizable.html index 028087842..9baa67493 100644 --- a/tests/unit/resizable/resizable.html +++ b/tests/unit/resizable/resizable.html @@ -5,9 +5,12 @@ jQuery UI Resizable Test Suite - + + + + - - - - - diff --git a/tests/unit/selectable/selectable.html b/tests/unit/selectable/selectable.html index af4e6d20e..7b0ca6ffe 100644 --- a/tests/unit/selectable/selectable.html +++ b/tests/unit/selectable/selectable.html @@ -5,9 +5,12 @@ jQuery UI Selectable Test Suite - + + + + - - - - - diff --git a/tests/unit/slider/slider.html b/tests/unit/slider/slider.html index a63196219..3aec78b4b 100644 --- a/tests/unit/slider/slider.html +++ b/tests/unit/slider/slider.html @@ -5,9 +5,12 @@ jQuery UI Slider Test Suite - + + + + - - - - - diff --git a/tests/unit/sortable/sortable.html b/tests/unit/sortable/sortable.html index 4ed4f92ce..c84c62197 100644 --- a/tests/unit/sortable/sortable.html +++ b/tests/unit/sortable/sortable.html @@ -5,9 +5,12 @@ jQuery UI Sortable Test Suite - + + + + - - - - - diff --git a/tests/unit/spinner/spinner.html b/tests/unit/spinner/spinner.html index e495abe1b..b7f4a532a 100644 --- a/tests/unit/spinner/spinner.html +++ b/tests/unit/spinner/spinner.html @@ -8,9 +8,12 @@ - + + + + - - - - - diff --git a/tests/unit/tabs/tabs.html b/tests/unit/tabs/tabs.html index a79d30e0e..fc7bfeedf 100644 --- a/tests/unit/tabs/tabs.html +++ b/tests/unit/tabs/tabs.html @@ -8,9 +8,12 @@ - + + + + - - - - - diff --git a/tests/unit/tabs/tabs_deprecated.html b/tests/unit/tabs/tabs_deprecated.html index 9bb8e413e..0c7611c9d 100644 --- a/tests/unit/tabs/tabs_deprecated.html +++ b/tests/unit/tabs/tabs_deprecated.html @@ -6,9 +6,12 @@ - + + + + - - - - - diff --git a/tests/unit/testsuite.js b/tests/unit/testsuite.js index 70d035684..6720000f1 100644 --- a/tests/unit/testsuite.js +++ b/tests/unit/testsuite.js @@ -2,12 +2,35 @@ window.TestHelpers = {}; +function includeStyle( url ) { + document.write( "" ); +} + +function includeScript( url ) { + document.write( "" ); +} + +TestHelpers.loadResources = QUnit.urlParams.min ? + function() { + // TODO: proper include with theme images + includeStyle( "dist/jquery-ui.min.css" ); + includeScript( "dist/jquery-ui.min.js" ); + } : + function( resources ) { + $.each( resources.css || [], function( i, resource ) { + includeStyle( "themes/base/jquery." + resource + ".css" ); + }); + $.each( resources.js || [], function( i, resource ) { + includeScript( resource ); + }); + }; + function testJshint( widget ) { if ( QUnit.urlParams.nojshint ) { return; } - document.write( "" ); + includeScript( "external/jshint.js" ); asyncTest( "JSHint", function() { expect( 1 ); @@ -58,17 +81,15 @@ function testWidgetDefaults( widget, defaults ) { }); } -var privateMethods = [ - "_createWidget", - "destroy", - "option", - "_trigger" -]; - function testWidgetOverrides( widget ) { if ( $.uiBackCompat === false ) { test( "$.widget overrides", function() { - $.each( privateMethods, function( i, method ) { + $.each([ + "_createWidget", + "destroy", + "option", + "_trigger" + ], function( i, method ) { strictEqual( $.ui[ widget ].prototype[ method ], $.Widget.prototype[ method ], "should not override " + method ); }); diff --git a/tests/unit/tooltip/tooltip.html b/tests/unit/tooltip/tooltip.html index d1f54d544..d20ba8578 100644 --- a/tests/unit/tooltip/tooltip.html +++ b/tests/unit/tooltip/tooltip.html @@ -5,9 +5,12 @@ jQuery UI Tooltip Test Suite - + + + + - - - - - diff --git a/tests/unit/widget/widget.html b/tests/unit/widget/widget.html index 6f4caaa6c..15eaee6aa 100644 --- a/tests/unit/widget/widget.html +++ b/tests/unit/widget/widget.html @@ -5,9 +5,12 @@ jQuery UI Widget Test Suite - + + + + - - - - - -- cgit v1.2.3 From 3cb9ab723a23462d5b4e1959db267fd6d147ef40 Mon Sep 17 00:00:00 2001 From: Scott González Date: Mon, 23 Apr 2012 10:47:43 -0400 Subject: Tests: Add custom URL configs to QUnit.config.urlConfig for discoverability. --- tests/unit/testsuite.js | 2 ++ 1 file changed, 2 insertions(+) (limited to 'tests/unit') diff --git a/tests/unit/testsuite.js b/tests/unit/testsuite.js index 6720000f1..7e505979c 100644 --- a/tests/unit/testsuite.js +++ b/tests/unit/testsuite.js @@ -10,6 +10,7 @@ function includeScript( url ) { document.write( "" ); } +QUnit.config.urlConfig.push( "min" ); TestHelpers.loadResources = QUnit.urlParams.min ? function() { // TODO: proper include with theme images @@ -25,6 +26,7 @@ TestHelpers.loadResources = QUnit.urlParams.min ? }); }; +QUnit.config.urlConfig.push( "nojshint" ); function testJshint( widget ) { if ( QUnit.urlParams.nojshint ) { return; -- cgit v1.2.3 From 15705723b2d170f70c3ef408b5b4dca83c84e586 Mon Sep 17 00:00:00 2001 From: Scott González Date: Mon, 23 Apr 2012 12:23:43 -0400 Subject: Position tests: Removed unused elements. --- tests/unit/position/position.html | 8 -------- tests/unit/position/position_deprecated.html | 8 -------- 2 files changed, 16 deletions(-) (limited to 'tests/unit') diff --git a/tests/unit/position/position.html b/tests/unit/position/position.html index 3ea7750d7..396e3e13e 100644 --- a/tests/unit/position/position.html +++ b/tests/unit/position/position.html @@ -49,14 +49,6 @@ elements smaller than 10px have a line-height set on them to avoid a bug in IE6
      -
      -
      -
      -
      -
      -
      -
      -
      diff --git a/tests/unit/position/position_deprecated.html b/tests/unit/position/position_deprecated.html index c7a9b6bce..2a7769107 100644 --- a/tests/unit/position/position_deprecated.html +++ b/tests/unit/position/position_deprecated.html @@ -44,14 +44,6 @@ elements smaller than 10px have a line-height set on them to avoid a bug in IE6
      -
      -
      -
      -
      -
      -
      -
      -
      -- cgit v1.2.3 From 22edb7755923d76c5ecd77f973d49b4c9ce68d1f Mon Sep 17 00:00:00 2001 From: Jörn Zaefferer Date: Mon, 23 Apr 2012 18:44:17 +0200 Subject: Fix various issues in our html files, second batch --- demos/menu/default.html | 4 +- demos/menu/navigationmenu.html | 2 +- demos/menu/topalignmenu.html | 2 +- tests/static/icons.html | 7 +- tests/unit/core/core.html | 12 +-- tests/visual/theme.html | 152 +++++++++++++++++------------------ tests/visual/tooltip/animations.html | 1 + tests/visual/tooltip/tooltip.html | 1 + 8 files changed, 92 insertions(+), 89 deletions(-) (limited to 'tests/unit') diff --git a/demos/menu/default.html b/demos/menu/default.html index 9f2e21622..b1c0b9fbb 100644 --- a/demos/menu/default.html +++ b/demos/menu/default.html @@ -1,7 +1,7 @@ - + jQuery UI Menu - Default demo @@ -15,7 +15,7 @@ }); diff --git a/demos/menu/navigationmenu.html b/demos/menu/navigationmenu.html index 970b20890..8c7b2b993 100644 --- a/demos/menu/navigationmenu.html +++ b/demos/menu/navigationmenu.html @@ -1,7 +1,7 @@ - + jQuery UI Menu - Navigation Menu demo diff --git a/demos/menu/topalignmenu.html b/demos/menu/topalignmenu.html index 42721fe9d..7b7e052e4 100644 --- a/demos/menu/topalignmenu.html +++ b/demos/menu/topalignmenu.html @@ -1,7 +1,7 @@ - + Menu Demo: Top-aligned Menu diff --git a/tests/static/icons.html b/tests/static/icons.html index af2833442..adaf5f1cd 100644 --- a/tests/static/icons.html +++ b/tests/static/icons.html @@ -16,12 +16,13 @@ ul {margin: 0; padding: 0;} td div {margin: 2px; position: relative; padding: 4px 0; cursor: pointer; float: left; list-style: none;} span.ui-icon { float: left; margin: 0 4px;} + .icon-collection { border-spacing: 0; border-collapse: collapse; } @@ -28,26 +28,26 @@ // Accordion $(".accordion").accordion({ header: "h3" }); $(".accordion").last().accordion("option", "icons", false); - - + + // Tabs $('#tabs').tabs(); - - // Dialog + + // Dialog $('#dialog').dialog({ autoOpen: false, width: 600, buttons: { - "Ok": function() { - $(this).dialog("close"); - }, - "Cancel": function() { - $(this).dialog("close"); - } + "Ok": function() { + $(this).dialog("close"); + }, + "Cancel": function() { + $(this).dialog("close"); + } } }); - + // Dialog Link $('#dialog_link').click(function(){ $('#dialog').dialog('open'); @@ -59,19 +59,19 @@ inline: true, showWeek: true }); - + $('#multidatepicker').datepicker({ numberOfMonths: 3, showButtonPanel: true, inline: true }); - + // Slider $('.slider').slider({ range: true, values: [17, 67] }); - + $("#eq > span").each(function() { var value = parseInt($(this).text()); $(this).empty().slider({ @@ -81,19 +81,19 @@ orientation: "vertical" }); }); - - + + // Progressbar $("#progressbar").progressbar({ - value: 20 + value: 20 }); - + //hover states on the static widgets $('#dialog_link, ul#icons li').hover( - function() { $(this).addClass('ui-state-hover'); }, + function() { $(this).addClass('ui-state-hover'); }, function() { $(this).removeClass('ui-state-hover'); } ); - + $(".buttonset > button").button() .next() .button({ @@ -104,8 +104,8 @@ }) .parent() .buttonset(); - - + + $('#beginning').button({ text: false, icons: { @@ -144,7 +144,7 @@ }); $("#shuffle").button(); $("#repeat").buttonset(); - + }); +
      - +

      Accordion

      @@ -201,8 +201,8 @@
      - - + +

      Tabs

      @@ -215,20 +215,20 @@
      Phasellus mattis tincidunt nibh. Cras orci urna, blandit id, pretium vel, aliquet ornare, felis. Maecenas scelerisque sem non nisl. Fusce sed lorem in enim dictum bibendum.
      Nam dui erat, auctor a, dignissim quis, sollicitudin eu, felis. Pellentesque nisi urna, interdum eget, sagittis et, consequat vestibulum, lacus. Mauris porttitor ullamcorper augue.
      - +

      Dialog

      Open Dialog

      - +
      Inline Dialogclose

      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

      - - + +

      Overlay and Shadow Classes (not currently used in UI widgets)

      Lorem ipsum dolor sit amet, Nulla nec tortor. Donec id elit quis purus consectetur consequat.

      Nam congue semper tellus. Sed erat dolor, dapibus sit amet, venenatis ornare, ultrices ut, nisi. Aliquam ante. Suspendisse scelerisque dui nec velit. Duis augue augue, gravida euismod, vulputate ac, facilisis id, sem. Morbi in orci.

      Nulla purus lacus, pulvinar vel, malesuada ac, mattis nec, quam. Nam molestie scelerisque quam. Nullam feugiat cursus lacus.orem ipsum dolor sit amet, consectetur adipiscing elit. Donec libero risus, commodo vitae, pharetra mollis, posuere eu, pede. Nulla nec tortor. Donec id elit quis purus consectetur consequat.

      Nam congue semper tellus. Sed erat dolor, dapibus sit amet, venenatis ornare, ultrices ut, nisi. Aliquam ante. Suspendisse scelerisque dui nec velit. Duis augue augue, gravida euismod, vulputate ac, facilisis id, sem. Morbi in orci. Nulla purus lacus, pulvinar vel, malesuada ac, mattis nec, quam. Nam molestie scelerisque quam.

      Nullam feugiat cursus lacus.orem ipsum dolor sit amet, consectetur adipiscing elit. Donec libero risus, commodo vitae, pharetra mollis, posuere eu, pede. Nulla nec tortor. Donec id elit quis purus consectetur consequat. Nam congue semper tellus. Sed erat dolor, dapibus sit amet, venenatis ornare, ultrices ut, nisi. Aliquam ante.

      Suspendisse scelerisque dui nec velit. Duis augue augue, gravida euismod, vulputate ac, facilisis id, sem. Morbi in orci. Nulla purus lacus, pulvinar vel, malesuada ac, mattis nec, quam. Nam molestie scelerisque quam. Nullam feugiat cursus lacus.orem ipsum dolor sit amet, consectetur adipiscing elit. Donec libero risus, commodo vitae, pharetra mollis, posuere eu, pede. Nulla nec tortor. Donec id elit quis purus consectetur consequat. Nam congue semper tellus. Sed erat dolor, dapibus sit amet, venenatis ornare, ultrices ut, nisi.

      - +
      @@ -236,24 +236,24 @@

      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

      - +
      - +

      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

      - - - + + +

      Framework Icons (content color preview)

        - +
      • - +
      • @@ -263,7 +263,7 @@
      • - +
      • @@ -273,7 +273,7 @@
      • - +
      • @@ -283,7 +283,7 @@
      • - +
      • @@ -293,7 +293,7 @@
      • - +
      • @@ -303,7 +303,7 @@
      • - +
      • @@ -313,7 +313,7 @@
      • - +
      • @@ -323,7 +323,7 @@
      • - +
      • @@ -333,7 +333,7 @@
      • - +
      • @@ -343,7 +343,7 @@
      • - +
      • @@ -353,7 +353,7 @@
      • - +
      • @@ -363,7 +363,7 @@
      • - +
      • @@ -373,7 +373,7 @@
      • - +
      • @@ -384,7 +384,7 @@
      • - +
      • @@ -396,7 +396,7 @@
      • - +
      • @@ -406,7 +406,7 @@
      • - +
      • @@ -416,7 +416,7 @@
      • - +
      • @@ -426,7 +426,7 @@
      • - +
      • @@ -436,7 +436,7 @@
      • - +
      • @@ -444,7 +444,7 @@
      - +

      Slider

      @@ -461,8 +461,8 @@ 70
      - - + +

      Datepicker

      @@ -471,35 +471,35 @@
      - - + + -

      Progressbar

      +

      Progressbar

      - +

      Highlight / Error

      -
      +

      Hey! Sample ui-state-highlight style.


      -
      -

      +

      +

      Alert: Sample ui-state-error style.

      - +

      Button

      - +
      - + @@ -507,18 +507,18 @@ - + - + - - + + - + - @@ -39,21 +38,20 @@ elements smaller than 10px have a line-height set on them to avoid a bug in IE6 -->
      -
      -
      -
      -
      - -
      -
      -
      -
      +
      +
      +
      +
      + +
      +
      +
      +
      -
      +
      -
      -
      -
      +
      +
      diff --git a/tests/unit/position/position_core.js b/tests/unit/position/position_core.js index 5c86e7887..7a9a35132 100644 --- a/tests/unit/position/position_core.js +++ b/tests/unit/position/position_core.js @@ -1,13 +1,24 @@ (function( $ ) { -function scrollTopSupport() { - $( window ).scrollTop( 1 ); - return $( window ).scrollTop() === 1; -} - -module( "position" ); +var win = $( window ), + scrollTopSupport = function() { + var support = win.scrollTop( 1 ).scrollTop() === 1; + win.scrollTop( 0 ); + scrollTopSupport = function() { + return support; + }; + return support; + }; + +module( "position", { + setup: function() { + win.scrollTop( 0 ).scrollLeft( 0 ); + } +}); test( "my, at, of", function() { + expect( 4 ); + $( "#elx" ).position({ my: "left top", at: "left top", @@ -42,6 +53,8 @@ test( "my, at, of", function() { }); test( "multiple elements", function() { + expect( 3 ); + var elements = $( "#el1, #el2" ), result = elements.position({ my: "left top", @@ -58,8 +71,9 @@ test( "multiple elements", function() { }); test( "positions", function() { - var definitions = [], - offsets = { + expect( 18 ); + + var offsets = { left: 0, center: 3, right: 6, @@ -68,33 +82,32 @@ test( "positions", function() { }, start = { left: 4, top: 4 }, el = $( "#el1" ); + $.each( [ 0, 1 ], function( my ) { $.each( [ "top", "center", "bottom" ], function( vindex, vertical ) { $.each( [ "left", "center", "right" ], function( hindex, horizontal ) { - definitions.push({ - my: my ? horizontal + " " + vertical : "left top", - at: !my ? horizontal + " " + vertical : "left top", - result: { - top: my ? start.top - offsets[ vertical ] : start.top + offsets[ vertical ], - left: my ? start.left - offsets[ horizontal ] : start.left + offsets[ horizontal ] - } + var _my = my ? horizontal + " " + vertical : "left top", + _at = !my ? horizontal + " " + vertical : "left top"; + el.position({ + my: _my, + at: _at, + of: "#parent", + collision: "none" }); + deepEqual( el.offset(), { + top: start.top + offsets[ vertical ] * (my ? -1 : 1), + left: start.left + offsets[ horizontal ] * (my ? -1 : 1) + }, "Position via " + QUnit.jsDump.parse({ my: _my, at: _at }) ); }); }); }); - $.each( definitions, function( index, definition ) { - el.position({ - my: definition.my, - at: definition.at, - of: "#parent", - collision: "none" - }); - deepEqual( el.offset(), definition.result, - "Position via " + QUnit.jsDump.parse({ my:definition.my, at:definition.at }) ); - }); }); test( "of", function() { + expect( 9 + (scrollTopSupport() ? 1 : 0) ); + + var event; + $( "#elx" ).position({ my: "left top", at: "left top", @@ -141,7 +154,7 @@ test( "of", function() { left: $( document ).width() - 10 }, "document as jQuery object" ); - $( window ).scrollTop( 0 ); + win.scrollTop( 0 ); $( "#elx" ).position({ my: "right bottom", @@ -150,23 +163,23 @@ test( "of", function() { collision: "none" }); deepEqual( $( "#elx" ).offset(), { - top: $( window ).height() - 10, - left: $( window ).width() - 10 + top: win.height() - 10, + left: win.width() - 10 }, "window" ); $( "#elx" ).position({ my: "right bottom", at: "right bottom", - of: $( window ), + of: win, collision: "none" }); deepEqual( $( "#elx" ).offset(), { - top: $( window ).height() - 10, - left: $( window ).width() - 10 + top: win.height() - 10, + left: win.width() - 10 }, "window as jQuery object" ); if ( scrollTopSupport() ) { - $( window ).scrollTop( 500 ).scrollLeft( 200 ); + win.scrollTop( 500 ).scrollLeft( 200 ); $( "#elx" ).position({ my: "right bottom", at: "right bottom", @@ -174,13 +187,13 @@ test( "of", function() { collision: "none" }); deepEqual( $( "#elx" ).offset(), { - top: $( window ).height() + 500 - 10, - left: $( window ).width() + 200 - 10 + top: win.height() + 500 - 10, + left: win.width() + 200 - 10 }, "window, scrolled" ); - $( window ).scrollTop( 0 ).scrollLeft( 0 ); + win.scrollTop( 0 ).scrollLeft( 0 ); } - var event = $.extend( $.Event( "someEvent" ), { pageX: 200, pageY: 300 } ); + event = $.extend( $.Event( "someEvent" ), { pageX: 200, pageY: 300 } ); $( "#elx" ).position({ my: "left top", at: "left top", @@ -206,6 +219,8 @@ test( "of", function() { }); test( "offsets", function() { + expect( 4 ); + $( "#elx" ).position({ my: "left top", at: "left+10 bottom+10", @@ -272,7 +287,7 @@ function collisionTest( config, result, msg ) { var elem = $( "#elx" ).position( $.extend({ my: "left top", at: "right bottom", - of: window + of: "#parent" }, config ) ); deepEqual( elem.offset(), result, msg ); } @@ -284,239 +299,225 @@ function collisionTest2( config, result, msg ) { }, config ), result, msg ); } -test( "collision: fit, no offset", function() { - collisionTest({ - collision: "fit" - }, { top: $( window ).height() - 10, left: $( window ).width() - 10 }, "right bottom" ); +test( "collision: fit, no collision", function() { + expect( 2 ); - collisionTest2({ + collisionTest({ collision: "fit" - }, { top: 0, left: 0 }, "left top" ); -}); + }, { + top: 10, + left: 10 + }, "no offset" ); -test( "collision: fit, with offset", function() { collisionTest({ - collision: "fit", + collition: "fit", at: "right+2 bottom+3" - }, { top: $(window).height() - 10, left: $(window).width() - 10 }, "right bottom"); + }, { + top: 13, + left: 12 + }, "with offset" ); +}); + +test( "collision: fit, collision", function() { + expect( 2 + (scrollTopSupport() ? 1 : 0) ); collisionTest2({ - collision: "fit", - at: "left+2 top+3" - }, { top: 0, left: 0 }, "left top, positive offset" ); + collision: "fit" + }, { + top: 0, + left: 0 + }, "no offset" ); collisionTest2({ collision: "fit", - at: "left-2 top-3" - }, { top: 0, left: 0 }, "left top, negative offset" ); -}); + at: "left+2 top+3" + }, { + top: 0, + left: 0 + }, "with offset" ); -test( "collision: fit, window scrolled", function() { if ( scrollTopSupport() ) { - var win = $( window ); win.scrollTop( 300 ).scrollLeft( 200 ); - collisionTest({ - collision: "fit", - at: "left-100 top-100" - }, { top: 300, left: 200 }, "top left" ); - collisionTest2({ - collision: "fit", - at: "right+100 bottom+100" - }, { top: 300 + win.height() - 10, left: 200 + win.width() - 10 }, "right bottom" ); + collision: "fit" + }, { + top: 300, + left: 200 + }, "window scrolled" ); win.scrollTop( 0 ).scrollLeft( 0 ); } }); -test( "collision: flip, no offset", function() { - collisionTest({ - collision: "flip" - }, { top: $( window ).height(), left: $( window ).width() }, "left top" ); +test( "collision: flip, no collision", function() { + expect( 2 ); - collisionTest2({ + collisionTest({ collision: "flip" - }, { top: -10, left: -10 }, "right bottom" ); -}); + }, { + top: 10, + left: 10 + }, "no offset" ); -test( "collision: flip, with offset", function() { collisionTest({ collision: "flip", at: "right+2 bottom+3" - }, { top: $( window ).height() + 3, left: $( window ).width() + 2 }, "left top, with offset added" ); + }, { + top: 13, + left: 12 + }, "with offset" ); +}); + +test( "collision: flip, collision", function() { + expect( 2 ); collisionTest2({ - collision: "flip", - at: "left+2 top+3" - }, { top: -7, left: -8 }, "bottom, positive offset" ); + collision: "flip" + }, { + top: 10, + left: 10 + }, "no offset" ); collisionTest2({ collision: "flip", - at: "left-2 top-3" - }, { top: -13, left: -12 }, "right bottom, negative offset" ); + at: "left+2 top+3" + }, { + top: 7, + left: 8 + }, "with offset" ); }); -test( "collision: none, no offset", function() { - collisionTest({ - collision: "none" - }, { top: $( window ).height(), left: $( window ).width() }, "left top" ); +test( "collision: none, no collision", function() { + expect( 2 ); - collisionTest2({ + collisionTest({ collision: "none" - }, { top: -10, left: -10 }, "moved to the right bottom" ); -}); + }, { + top: 10, + left: 10 + }, "no offset" ); -test( "collision: none, with offset", function() { collisionTest({ collision: "none", at: "right+2 bottom+3" - }, { top: $( window ).height() + 3, left: $( window ).width() + 2 }, "right bottom, with offset added" ); + }, { + top: 13, + left: 12 + }, "with offset" ); +}); + +test( "collision: none, collision", function() { + expect( 2 ); collisionTest2({ - collision: "none", - at: "left+2 top+3" - }, { top: -7, left: -8 }, "left top, positive offset" ); + collision: "none" + }, { + top: -6, + left: -6 + }, "no offset" ); collisionTest2({ collision: "none", - at: "left-2 top-3" - }, { top: -13, left: -12 }, "left top, negative offset" ); + at: "left+2 top+3" + }, { + top: -3, + left: -4 + }, "with offset" ); }); test( "collision: fit, with margin", function() { - $( "#elx" ).css( "margin", 10 ); - - collisionTest({ - collision: "fit" - }, { top: $( window ).height() - 20, left: $( window ).width() - 20 }, "right bottom" ); - - collisionTest2({ - collision: "fit" - }, { top: 10, left: 10 }, "left top" ); + expect( 2 ); $( "#elx" ).css({ - "margin-left": 5, - "margin-top": 5 + marginTop: 6, + marginLeft: 4 }); collisionTest({ collision: "fit" - }, { top: $( window ).height() - 20, left: $( window ).width() - 20 }, "right bottom" ); + }, { + top: 10, + left: 10 + }, "right bottom" ); collisionTest2({ collision: "fit" - }, { top: 5, left: 5 }, "left top" ); + }, { + top: 6, + left: 4 + }, "left top" ); +}); + +test( "collision: flip, with margin", function() { + expect( 3 ); $( "#elx" ).css({ - "margin-right": 15, - "margin-bottom": 15 + marginTop: 6, + marginLeft: 4 }); collisionTest({ - collision: "fit" - }, { top: $( window ).height() - 25, left: $( window ).width() - 25 }, "right bottom" ); + collision: "flip" + }, { + top: 10, + left: 10 + }, "left top" ); collisionTest2({ - collision: "fit" - }, { top: 5, left: 5 }, "left top" ); -}); - -test( "collision: flip, with margin", function() { - $( "#elx" ).css( "margin", 10 ); - - collisionTest({ - collision: "flip", - at: "left top" - }, { top: 0, left: 0 }, "left top" ); + collision: "flip" + }, { + top: 10, + left: 10 + }, "right bottom" ); collisionTest2({ collision: "flip", - at: "right bottom" - }, { top: $( window ).height() - 10, left: $( window ).width() - 10 }, "right bottom" ); -}); - -test( "addClass: flipped left", function() { - var elem = $( "#elx" ).position( { - my: "left center", - of: window, - collision: "flip", - at: "right center" - }); - - deepEqual( elem.hasClass( 'ui-flipped-left' ), false, 'Has ui-flipped-left class' ); - - elem.position({ - my: "right center", - of: window, - collision: "flip", - at: "left center" - }); - - deepEqual( elem.hasClass( 'ui-flipped-left' ), false, 'Removed ui-flipped-left class' ); -}); - -test( "addClass: flipped top", function() { - var elem = $( "#elx" ).position( { - my: "left top", - of: window, - collision: "flip", - at: "right bottom" - }); - - deepEqual( elem.hasClass( 'ui-flipped-top' ), false, 'Has ui-flipped-top class' ); - - elem.position( { - my: "left bottom", - of: window, - collision: "flip", - at: "right top" - }); - - deepEqual( elem.hasClass( 'ui-flipped-top' ), false, 'Removed ui-flipped-top class' ); + my: "left top" + }, { + top: 0, + left: 4 + }, "right bottom" ); }); -test( "addClass: flipped right", function() { - var elem = $( "#elx" ).position( { - my: "right center", - of: window, - collision: "flip", - at: "left center" - }); - - deepEqual( elem.hasClass( 'ui-flipped-right' ), false, 'Has ui-flipped-right class' ); - - elem.position( { - my: "left center", - of: window, - collision: "flip", - at: "right center" - }); - - deepEqual( elem.hasClass( 'ui-flipped-right' ), false, 'Removed ui-flipped-right class' ); +test( "within", function() { + expect( 4 ); -}); - -test( "addClass: flipped bottom", function() { - var elem = $( "#elx" ).position( { - my: "left bottom", - of: window, - collision: "flip", - at: "right top" - }); + collisionTest({ + within: "#within", + collision: "fit" + }, { + top: 4, + left: 2 + }, "fit - right bottom" ); - deepEqual( elem.hasClass( 'ui-flipped-bottom' ), false, 'Has ui-flipped-bottom class' ); + collisionTest2({ + within: "#within", + collision: "fit" + }, { + top: 2, + left: 0 + }, "fit - left top" ); - elem.position( { - my: "left top", - of: window, - collision: "flip", - at: "right bottom" - }); + collisionTest({ + within: "#within", + collision: "flip" + }, { + top: 10, + left: -6 + }, "fit - right bottom" ); - deepEqual( elem.hasClass( 'ui-flipped-bottom' ), false, 'Removed ui-flipped-bottom class' ); + collisionTest2({ + within: "#within", + collision: "flip" + }, { + top: 10, + left: -6 + }, "fit - left top" ); }); test( "fractions", function() { + expect( 1 ); + $( "#fractions-element" ).position({ my: "left top", at: "left top", @@ -527,6 +528,8 @@ test( "fractions", function() { }); test( "bug #5280: consistent results (avoid fractional values)", function() { + expect( 1 ); + var wrapper = $( "#bug-5280" ), elem = wrapper.children(), offset1 = elem.position({ diff --git a/tests/unit/position/position_core_within.js b/tests/unit/position/position_core_within.js deleted file mode 100644 index 187408c61..000000000 --- a/tests/unit/position/position_core_within.js +++ /dev/null @@ -1,540 +0,0 @@ -(function( $ ) { - -function scrollTopSupport() { - $( window ).scrollTop( 1 ); - return $( window ).scrollTop() === 1; -} - -module( "position - within", { - setup: function(){ - $("#within-container").css({"width": "70px", "height": "70px", "top": "20px", "left": "20px", "position": "relative"}).show(); - } -}); - -var addTop = -20, - addLeft = -20; - -$.fn.addOffsets = function() { - var elOffset = this.offset(), - offset = $("#within-container").offset(); - - elOffset.top -= offset.top; - elOffset.left -= offset.left; - - return {top: elOffset.top - offset.top, left: elOffset.left - offset.left }; -}; - -test( "my, at, of", function() { - var within = $("#within-container"); - - $( "#elx" ).position({ - my: "left top", - at: "left top", - of: "#parentx", - collision: "none", - within: within - }); - deepEqual( $( "#elx" ).addOffsets(), { top: addTop + 40, left: addLeft + 40 }, "left top, left top" ); - - $( "#elx" ).position({ - my: "left top", - at: "left bottom", - of: "#parentx", - collision: "none", - within: within - }); - deepEqual( $( "#elx" ).addOffsets(), { top: addTop + 60, left: addLeft + 40 }, "left top, left bottom" ); - - $( "#elx" ).position({ - my: "left", - at: "bottom", - of: "#parentx", - collision: "none", - within: within - }); - deepEqual( $( "#elx" ).addOffsets(), { top: addTop + 55, left: addLeft + 50 }, "left, bottom" ); - - $( "#elx" ).position({ - my: "left foo", - at: "bar baz", - of: "#parentx", - collision: "none", - within: within - }); - deepEqual( $( "#elx" ).addOffsets(), { top: addTop + 45, left: addLeft +50 }, "left foo, bar baz" ); -}); - -test( "multiple elements", function() { - var elements = $( "#el1, #el2" ), - result = elements.position({ - my: "left top", - at: "left bottom", - of: "#parent", - collision: "none", - within: $("#within-container") - }), - expected = { top: addTop + 10, left: addLeft + 4 }; - - deepEqual( result, elements ); - elements.each(function() { - deepEqual( $( this ).addOffsets(), expected ); - }); -}); - -test( "positions", function() { - var definitions = [], - offsets = { - left: 0, - center: 3, - right: 6, - top: 0, - bottom: 6 - }, - start = { left: 4, top: 4 }, - el = $( "#el1" ); - $.each( [ 0, 1 ], function( my ) { - $.each( [ "top", "center", "bottom" ], function( vindex, vertical ) { - $.each( [ "left", "center", "right" ], function( hindex, horizontal ) { - definitions.push({ - my: my ? horizontal + " " + vertical : "left top", - at: !my ? horizontal + " " + vertical : "left top", - result: { - top: addTop + (my ? start.top - offsets[ vertical ] : start.top + offsets[ vertical ]), - left: addLeft + (my ? start.left - offsets[ horizontal ] : start.left + offsets[ horizontal ]) - } - }); - }); - }); - }); - $.each( definitions, function( index, definition ) { - el.position({ - my: definition.my, - at: definition.at, - of: "#parent", - collision: "none", - within: $("#within-container") - }); - deepEqual( el.addOffsets(), definition.result, - "Position via " + QUnit.jsDump.parse({ my:definition.my, at:definition.at }) ); - }); -}); - -test( "of", function() { - var event, - within = $( "#within-container" ); - - $( "#elx" ).position({ - my: "left top", - at: "left top", - of: "#parentx", - collision: "none", - within: within - }); - deepEqual( $( "#elx" ).addOffsets(), { top: addTop + 40, left: addLeft + 40 }, "selector" ); - - $( "#elx" ).position({ - my: "left top", - at: "left bottom", - of: $( "#parentx"), - collision: "none", - within: within - }); - deepEqual( $( "#elx" ).addOffsets(), { top: addTop + 60, left: addLeft + 40 }, "jQuery object" ); - - $( "#elx" ).position({ - my: "left top", - at: "left top", - of: $( "#parentx" )[ 0 ], - collision: "none", - within: within - }); - deepEqual( $( "#elx" ).addOffsets(), { top: addTop + 40, left: addLeft + 40 }, "DOM element" ); - - event = $.extend( $.Event( "someEvent" ), { pageX: 200, pageY: 300 } ); - $( "#elx" ).position({ - my: "left top", - at: "left top", - of: event, - collision: "none", - within: within - }); - deepEqual( $( "#elx" ).offset(), { - top: 300, - left: 200 - }, "event - left top, left top" ); - - event = $.extend( $.Event( "someEvent" ), { pageX: 400, pageY: 600 } ); - $( "#elx" ).position({ - my: "left top", - at: "right bottom", - of: event, - collision: "none", - within: within - }); - deepEqual( $( "#elx" ).offset(), { - top: 600, - left: 400 - }, "event - left top, right bottom" ); -}); - -test( "within:offsets", function() { - var within = $("#within-container"); - - $( "#elx" ).position({ - my: "left top", - at: "left+10 bottom+10", - of: "#parentx", - collision: "none", - within: within - }); - deepEqual( $( "#elx" ).addOffsets(), { top: addTop + 70, left: addLeft + 50 }, "offsets in at" ); - - $( "#elx" ).position({ - my: "left+10 top-10", - at: "left bottom", - of: "#parentx", - collision: "none", - within: within - }); - deepEqual( $( "#elx" ).addOffsets(), { top: addTop + 50, left: addLeft + 50 }, "offsets in my" ); - - $( "#elx" ).position({ - my: "left top", - at: "left+50% bottom-10%", - of: "#parentx", - collision: "none", - within: within - }); - deepEqual( $( "#elx" ).addOffsets(), { top: addTop + 58, left: addLeft + 50 }, "percentage offsets in at" ); - - $( "#elx" ).position({ - my: "left-30% top+50%", - at: "left bottom", - of: "#parentx", - collision: "none", - within: within - }); - deepEqual( $( "#elx" ).addOffsets(), { top: addTop + 65, left: addLeft + 37 }, "percentage offsets in my" ); -}); - -test( "using", function() { - expect( 6 ); - - var within = $( "#within-container" ), - count = 0, - elems = $( "#el1, #el2" ), - expectedPosition = { top: addTop + 40, left: addLeft + 40 }, - originalPosition = elems.position({ - my: "right bottom", - at: "right bottom", - of: "#parentx", - collision: "none", - within: within - }).addOffsets(); - - elems.position({ - my: "left top", - at: "left top", - of: "#parentx", - using: function( position ) { - position.top -= within.offset().top; - position.left -= within.offset().left; - deepEqual( this, elems[ count ], "correct context for call #" + count ); - deepEqual( position, expectedPosition, "correct position for call #" + count ); - count++; - }, - within: within - }); - - elems.each(function() { - deepEqual( $( this ).addOffsets(), originalPosition, "elements not moved" ); - }); -}); - -function collisionTest( config, result, msg ) { - var within = $( "#within-container" ), - elem = $( "#elx" ).position( $.extend({ - my: "left top", - at: "right bottom", - of: "#parentx", - within: within - }, config ) ); - - deepEqual( elem.addOffsets(), result, msg ); -} - -function collisionTest2( config, result, msg ) { - collisionTest( $.extend({ - my: "right bottom", - at: "left top" - }, config ), result, msg ); -} - -test( "collision: fit, no offset", function() { - var within = $("#within-container"), - of = $("#parentx"); - - collisionTest({ - collision: "fit" - }, { top: addTop + of.position().top + of.height() - $.position.getScrollInfo( within ).height, left: addLeft + of.position().left + of.width() - $.position.getScrollInfo( within ).width }, "right bottom" ); - - collisionTest2({ - collision: "fit" - }, { top: addTop + of.position().top - 10, left: addLeft + of.position().left - 10 }, "left top" ); -}); - - -test( "collision: fit, with offset", function() { - var within = $("#within-container"), - of = $("#parentx"); - - collisionTest({ - collision: "fit", - at: "right+2 bottom+3" - }, { top: addTop + of.position().top + of.height() - $.position.getScrollInfo( within ).height, left: addLeft + of.position().left + of.width() - $.position.getScrollInfo( within ).width }, "right bottom"); - - collisionTest2({ - collision: "fit", - at: "left+2 top+3" - }, { top: addTop + of.position().top - 7, left: addLeft + of.position().left - 8 }, "left top, positive offset" ); - - collisionTest2({ - collision: "fit", - at: "left-2 top-3" - }, { top: addTop + of.position().top - 13, left: addLeft + of.position().left - 12 }, "left top, negative offset" ); -}); - -test( "collision: none, within scrolled", function() { - if ( scrollTopSupport() ) { - var within = $("#within-container").css({"width": "1000px", "height": "800px", "overflow": "auto"}), - of = $("#parentx"); - within.scrollTop( 300 ).scrollLeft( 150 ); - - collisionTest({ - collision: "none", - at: "left-100 top-100" - }, { top: of.offset().top + addTop - 100 - of.height(), left: of.offset().left + addLeft - 100 - of.width() }, "top left" ); - collisionTest2({ - collision: "none", - at: "right+100 bottom+100" - }, { top: of.offset().top + addTop + 100 - 10, left: of.offset().left + addLeft + 100 - 10 }, "right bottom" ); - within.scrollTop( 0 ).scrollLeft( 0 ); - } -}); - -test( "collision: flip, no offset", function() { - var within = $("#within-container"), - of = $("#parentx"); - - collisionTest({ - collision: "flip" - }, { top: addTop + of.position().top + of.height(), left: addLeft + of.position().left + of.width() }, "left top" ); - - collisionTest2({ - collision: "flip" - }, { top: addTop + of.position().top - 10, left: addTop + of.position().top - 10 }, "right bottom" ); -}); - -test( "collision: flip, with offset", function() { - var within = $("#within-container"), - of = $("#parentx"); - - collisionTest({ - collision: "flip", - at: "right+2 bottom+3" - }, { top: addTop + of.position().top - 13, left: addLeft + of.position().left - 12 }, "left top, with offset added" ); - - collisionTest2({ - collision: "flip", - at: "left+2 top+3" - }, { top: addTop + of.position().top - 10 + 3, left: addLeft + of.position().left - 10 + 2 }, "right bottom, positive offset" ); - - collisionTest2({ - collision: "flip", - at: "left-2 top-3" - }, { top: addTop + of.position().top - 13, left: addLeft + of.position().left - 12 }, "right bottom, negative offset" ); -}); - -test( "collision: none, no offset", function() { - var within = $("#within-container"), - of = $("#parentx"); - - collisionTest({ - collision: "none" - }, { top: addTop + of.position().top + of.height(), left: addLeft + of.position().left + of.width() }, "left top" ); - - collisionTest2({ - collision: "none" - }, { top: addTop + of.position().top - 10, left: addLeft + of.position().left - 10 }, "right bottom" ); -}); - -test( "collision: none, with offset", function() { - var within = $("#within-container"), - of = $("#parentx"); - - collisionTest({ - collision: "none", - at: "right+2 bottom+3" - }, { top: addTop + of.position().top + of.height() + 3, left: addLeft + of.position().left + of.width() + 2 }, "right bottom, with offset added" ); - - collisionTest2({ - collision: "none", - at: "left+2 top+3" - }, { top: addTop + of.position().top - 7, left: addTop + of.position().top - 8 }, "left top, positive offset" ); - - collisionTest2({ - collision: "none", - at: "left-2 top-3" - }, { top: addTop + of.position().top - 13, left: addTop + of.position().top - 12 }, "left top, negative offset" ); -}); - -test( "collision: fit, with margin", function() { - var within = $("#within-container"), - of = $("#parentx"); - - $( "#elx" ).css( "margin", 10 ); - - collisionTest({ - collision: "fit" - }, { top: addTop + of.position().top + of.height() - 10 - $.position.getScrollInfo( within ).height, left: addLeft + of.position().left + of.width() - 10 - $.position.getScrollInfo( within ).width }, "right bottom" ); - - collisionTest2({ - collision: "fit" - }, { top: addTop + of.position().top - 10, left: addLeft + of.position().left - 10 }, "left top" ); - - $( "#elx" ).css({ - "margin-left": 5, - "margin-top": 5 - }); - - collisionTest({ - collision: "fit" - }, { top: addTop + of.position().top + of.height() - 10 - $.position.getScrollInfo( within ).height, left: addLeft + of.position().left + of.width() - 10 - $.position.getScrollInfo( within ).width }, "right bottom" ); - - collisionTest2({ - collision: "fit" - }, { top: addTop + of.position().top - 10, left: addLeft + of.position().left - 10 }, "left top" ); - - $( "#elx" ).css({ - "margin-right": 15, - "margin-bottom": 15 - }); - - collisionTest({ - collision: "fit" - }, { top: addTop + of.position().top + of.height() - 15 - $.position.getScrollInfo( within ).height, left: addLeft + of.position().left + of.width() - 15 - $.position.getScrollInfo( within ).width }, "right bottom" ); - - collisionTest2({ - collision: "fit" - }, { top: addTop + of.position().top - 10, left: addLeft + of.position().left - 10 }, "left top" ); -}); - -test( "collision: flip, with margin", function() { - var within = $("#within-container"), - of = $("#parentx"); - - $( "#elx" ).css( "margin", 10 ); - - collisionTest({ - collision: "flip" - }, { top: addTop + of.position().top - 10, left: addLeft + of.position().left - 10 }, "left top" ); - - collisionTest2({ - collision: "flip" - }, { top: addTop + of.position().top - 10, left: addLeft + of.position().left - 10 }, "right bottom" ); - - $( "#elx" ).css( "margin", 0 ); -}); - -test( "addClass: flipped left", function() { - var within = $("#within-container"), - elem = $( "#elx" ).position( { - my: "left center", - of: within[0], - within: within, - collision: "flip", - at: "right center" - }); - - deepEqual( elem.hasClass( 'ui-flipped-left' ), false, 'Has ui-flipped-left class' ); - - elem.position({ - my: "right center", - of: within[0], - within: within, - collision: "flip", - at: "left center" - }); - - deepEqual( elem.hasClass( 'ui-flipped-left' ), false, 'Removed ui-flipped-left class' ); -}); - -test( "addClass: flipped top", function() { - var within = $("#within-container"), - elem = $( "#elx" ).position( { - my: "left top", - of: within[0], - within: within, - collision: "flip", - at: "right bottom" - }); - - deepEqual( elem.hasClass( 'ui-flipped-top' ), false, 'Has ui-flipped-top class' ); - - elem.position( { - my: "left bottom", - of: within[0], - within: within, - collision: "flip", - at: "right top" - }); - - deepEqual( elem.hasClass( 'ui-flipped-top' ), false, 'Removed ui-flipped-top class' ); -}); - -test( "addClass: flipped right", function() { - var within = $("#within-container"), - elem = $( "#elx" ).position( { - my: "right center", - of: within[0], - within: within, - collision: "flip", - at: "left center" - }); - - deepEqual( elem.hasClass( 'ui-flipped-right' ), false, 'Has ui-flipped-right class' ); - - elem.position( { - my: "left center", - of: within[0], - within: within, - collision: "flip", - at: "right center" - }); - - deepEqual( elem.hasClass( 'ui-flipped-right' ), false, 'Removed ui-flipped-right class' ); - -}); - -test( "addClass: flipped bottom", function() { - var within = $("#within-container"), - elem = $( "#elx" ).position( { - my: "left bottom", - of: window, - collision: "flip", - at: "right top" - }); - - deepEqual( elem.hasClass( 'ui-flipped-bottom' ), false, 'Has ui-flipped-bottom class' ); - - elem.position( { - my: "left top", - of: window, - collision: "flip", - at: "right bottom" - }); - - deepEqual( elem.hasClass( 'ui-flipped-bottom' ), false, 'Removed ui-flipped-bottom class' ); -}); - -}( jQuery ) ); diff --git a/tests/unit/position/position_deprecated.html b/tests/unit/position/position_deprecated.html index 2a7769107..8794812a8 100644 --- a/tests/unit/position/position_deprecated.html +++ b/tests/unit/position/position_deprecated.html @@ -33,25 +33,26 @@ elements smaller than 10px have a line-height set on them to avoid a bug in IE6 .height() returns the greater of the height and line-height --> -
      +
      -
      +
      -
      -
      -
      -
      +
      +
      +
      +
      -
      +
      -
      -
      -
      +
      +
      +
      -
      -
      +
      +
      +
      -- cgit v1.2.3 From 9df981d268b4029065247cf230a4e988946b7799 Mon Sep 17 00:00:00 2001 From: Scott González Date: Mon, 23 Apr 2012 16:07:58 -0400 Subject: Position: Added tests for flipfit. --- tests/unit/position/position_core.js | 60 ++++++++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 3 deletions(-) (limited to 'tests/unit') diff --git a/tests/unit/position/position_core.js b/tests/unit/position/position_core.js index 7a9a35132..0ebcabef3 100644 --- a/tests/unit/position/position_core.js +++ b/tests/unit/position/position_core.js @@ -387,6 +387,44 @@ test( "collision: flip, collision", function() { }, "with offset" ); }); +test( "collision: flipfit, no collision", function() { + expect( 2 ); + + collisionTest({ + collision: "flipfit" + }, { + top: 10, + left: 10 + }, "no offset" ); + + collisionTest({ + collision: "flipfit", + at: "right+2 bottom+3" + }, { + top: 13, + left: 12 + }, "with offset" ); +}); + +test( "collision: flipfit, collision", function() { + expect( 2 ); + + collisionTest2({ + collision: "flipfit" + }, { + top: 10, + left: 10 + }, "no offset" ); + + collisionTest2({ + collision: "flipfit", + at: "left+2 top+3" + }, { + top: 7, + left: 8 + }, "with offset" ); +}); + test( "collision: none, no collision", function() { expect( 2 ); @@ -480,7 +518,7 @@ test( "collision: flip, with margin", function() { }); test( "within", function() { - expect( 4 ); + expect( 6 ); collisionTest({ within: "#within", @@ -504,7 +542,7 @@ test( "within", function() { }, { top: 10, left: -6 - }, "fit - right bottom" ); + }, "flip - right bottom" ); collisionTest2({ within: "#within", @@ -512,7 +550,23 @@ test( "within", function() { }, { top: 10, left: -6 - }, "fit - left top" ); + }, "flip - left top" ); + + collisionTest({ + within: "#within", + collision: "flipfit" + }, { + top: 4, + left: 0 + }, "flipfit - right bottom" ); + + collisionTest2({ + within: "#within", + collision: "flipfit" + }, { + top: 4, + left: 0 + }, "flipfit - left top" ); }); test( "fractions", function() { -- cgit v1.2.3 From f3b022ddb8815974f52aeeddb79d209645041653 Mon Sep 17 00:00:00 2001 From: Shahyar G Date: Mon, 23 Apr 2012 14:25:23 -0400 Subject: Use length property, instead of the deprecated size() method. --- tests/unit/accordion/accordion_deprecated.js | 48 +++++++-------- tests/unit/accordion/accordion_events.js | 68 ++++++++++---------- tests/unit/accordion/accordion_options.js | 2 +- tests/unit/tabs/tabs_deprecated.js | 2 +- tests/unit/tabs/tabs_events.js | 92 ++++++++++++++-------------- tests/unit/tabs/tabs_methods.js | 16 ++--- tests/unit/tabs/tabs_options.js | 2 +- ui/jquery.ui.accordion.js | 4 +- 8 files changed, 117 insertions(+), 117 deletions(-) (limited to 'tests/unit') diff --git a/tests/unit/accordion/accordion_deprecated.js b/tests/unit/accordion/accordion_deprecated.js index 8d8e8a0d6..7f033a340 100644 --- a/tests/unit/accordion/accordion_deprecated.js +++ b/tests/unit/accordion/accordion_deprecated.js @@ -259,11 +259,11 @@ test( "changestart", function() { content = element.find( ".ui-accordion-content" ); element.one( "accordionchangestart", function( event, ui ) { - equal( ui.oldHeader.size(), 0 ); - equal( ui.oldContent.size(), 0 ); - equal( ui.newHeader.size(), 1 ); + equal( ui.oldHeader.length, 0 ); + equal( ui.oldContent.length, 0 ); + equal( ui.newHeader.length, 1 ); strictEqual( ui.newHeader[ 0 ], headers[ 0 ] ); - equal( ui.newContent.size(), 1 ); + equal( ui.newContent.length, 1 ); strictEqual( ui.newContent[ 0 ], content[ 0 ] ); state( element, 0, 0, 0 ); }); @@ -271,13 +271,13 @@ test( "changestart", function() { state( element, 1, 0, 0 ); element.one( "accordionchangestart", function( event, ui ) { - equal( ui.oldHeader.size(), 1 ); + equal( ui.oldHeader.length, 1 ); strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] ); - equal( ui.oldContent.size(), 1 ); + equal( ui.oldContent.length, 1 ); strictEqual( ui.oldContent[ 0 ], content[ 0 ] ); - equal( ui.newHeader.size(), 1 ); + equal( ui.newHeader.length, 1 ); strictEqual( ui.newHeader[ 0 ], headers[ 1 ] ); - equal( ui.newContent.size(), 1 ); + equal( ui.newContent.length, 1 ); strictEqual( ui.newContent[ 0 ], content[ 1 ] ); state( element, 1, 0, 0 ); }); @@ -285,12 +285,12 @@ test( "changestart", function() { state( element, 0, 1, 0 ); element.one( "accordionchangestart", function( event, ui ) { - equal( ui.oldHeader.size(), 1 ); + equal( ui.oldHeader.length, 1 ); strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] ); - equal( ui.oldContent.size(), 1 ); + equal( ui.oldContent.length, 1 ); strictEqual( ui.oldContent[ 0 ], content[ 1 ] ); - equal( ui.newHeader.size(), 0 ); - equal( ui.newContent.size(), 0 ); + equal( ui.newHeader.length, 0 ); + equal( ui.newContent.length, 0 ); state( element, 0, 1, 0 ); }); element.accordion( "option", "active", false ); @@ -307,34 +307,34 @@ test( "change", function() { content = element.find( ".ui-accordion-content" ); element.one( "accordionchange", function( event, ui ) { - equal( ui.oldHeader.size(), 0 ); - equal( ui.oldContent.size(), 0 ); - equal( ui.newHeader.size(), 1 ); + equal( ui.oldHeader.length, 0 ); + equal( ui.oldContent.length, 0 ); + equal( ui.newHeader.length, 1 ); strictEqual( ui.newHeader[ 0 ], headers[ 0 ] ); - equal( ui.newContent.size(), 1 ); + equal( ui.newContent.length, 1 ); strictEqual( ui.newContent[ 0 ], content[ 0 ] ); }); element.accordion( "option", "active", 0 ); element.one( "accordionchange", function( event, ui ) { - equal( ui.oldHeader.size(), 1 ); + equal( ui.oldHeader.length, 1 ); strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] ); - equal( ui.oldContent.size(), 1 ); + equal( ui.oldContent.length, 1 ); strictEqual( ui.oldContent[ 0 ], content[ 0 ] ); - equal( ui.newHeader.size(), 1 ); + equal( ui.newHeader.length, 1 ); strictEqual( ui.newHeader[ 0 ], headers[ 1 ] ); - equal( ui.newContent.size(), 1 ); + equal( ui.newContent.length, 1 ); strictEqual( ui.newContent[ 0 ], content[ 1 ] ); }); headers.eq( 1 ).click(); element.one( "accordionchange", function( event, ui ) { - equal( ui.oldHeader.size(), 1 ); + equal( ui.oldHeader.length, 1 ); strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] ); - equal( ui.oldContent.size(), 1 ); + equal( ui.oldContent.length, 1 ); strictEqual( ui.oldContent[ 0 ], content[ 1 ] ); - equal( ui.newHeader.size(), 0 ); - equal( ui.newContent.size(), 0 ); + equal( ui.newHeader.length, 0 ); + equal( ui.newContent.length, 0 ); }); element.accordion( "option", "active", false ); }); diff --git a/tests/unit/accordion/accordion_events.js b/tests/unit/accordion/accordion_events.js index 932e4637d..079c71a62 100644 --- a/tests/unit/accordion/accordion_events.js +++ b/tests/unit/accordion/accordion_events.js @@ -14,9 +14,9 @@ test( "create", function() { element.accordion({ create: function( event, ui ) { - equal( ui.header.size(), 1, "header size" ); + equal( ui.header.length, 1, "header length" ); strictEqual( ui.header[ 0 ], headers[ 0 ], "header" ); - equal( ui.content.size(), 1, "content size" ); + equal( ui.content.length, 1, "content length" ); strictEqual( ui.content[ 0 ], contents[ 0 ], "content" ); } }); @@ -25,9 +25,9 @@ test( "create", function() { element.accordion({ active: 2, create: function( event, ui ) { - equal( ui.header.size(), 1, "header size" ); + equal( ui.header.length, 1, "header length" ); strictEqual( ui.header[ 0 ], headers[ 2 ], "header" ); - equal( ui.content.size(), 1, "content size" ); + equal( ui.content.length, 1, "content length" ); strictEqual( ui.content[ 0 ], contents[ 2 ], "content" ); } }); @@ -37,8 +37,8 @@ test( "create", function() { active: false, collapsible: true, create: function( event, ui ) { - equal( ui.header.size(), 0, "header size" ); - equal( ui.content.size(), 0, "content size" ); + equal( ui.header.length, 0, "header length" ); + equal( ui.content.length, 0, "content length" ); } }); element.accordion( "destroy" ); @@ -55,11 +55,11 @@ test( "beforeActivate", function() { element.one( "accordionbeforeactivate", function( event, ui ) { ok( !( "originalEvent" in event ) ); - equal( ui.oldHeader.size(), 0 ); - equal( ui.oldContent.size(), 0 ); - equal( ui.newHeader.size(), 1 ); + equal( ui.oldHeader.length, 0 ); + equal( ui.oldContent.length, 0 ); + equal( ui.newHeader.length, 1 ); strictEqual( ui.newHeader[ 0 ], headers[ 0 ] ); - equal( ui.newContent.size(), 1 ); + equal( ui.newContent.length, 1 ); strictEqual( ui.newContent[ 0 ], content[ 0 ] ); state( element, 0, 0, 0 ); }); @@ -68,13 +68,13 @@ test( "beforeActivate", function() { element.one( "accordionbeforeactivate", function( event, ui ) { equal( event.originalEvent.type, "click" ); - equal( ui.oldHeader.size(), 1 ); + equal( ui.oldHeader.length, 1 ); strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] ); - equal( ui.oldContent.size(), 1 ); + equal( ui.oldContent.length, 1 ); strictEqual( ui.oldContent[ 0 ], content[ 0 ] ); - equal( ui.newHeader.size(), 1 ); + equal( ui.newHeader.length, 1 ); strictEqual( ui.newHeader[ 0 ], headers[ 1 ] ); - equal( ui.newContent.size(), 1 ); + equal( ui.newContent.length, 1 ); strictEqual( ui.newContent[ 0 ], content[ 1 ] ); state( element, 1, 0, 0 ); }); @@ -83,12 +83,12 @@ test( "beforeActivate", function() { element.one( "accordionbeforeactivate", function( event, ui ) { ok( !( "originalEvent" in event ) ); - equal( ui.oldHeader.size(), 1 ); + equal( ui.oldHeader.length, 1 ); strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] ); - equal( ui.oldContent.size(), 1 ); + equal( ui.oldContent.length, 1 ); strictEqual( ui.oldContent[ 0 ], content[ 1 ] ); - equal( ui.newHeader.size(), 0 ); - equal( ui.newContent.size(), 0 ); + equal( ui.newHeader.length, 0 ); + equal( ui.newContent.length, 0 ); state( element, 0, 1, 0 ); }); element.accordion( "option", "active", false ); @@ -96,11 +96,11 @@ test( "beforeActivate", function() { element.one( "accordionbeforeactivate", function( event, ui ) { ok( !( "originalEvent" in event ) ); - equal( ui.oldHeader.size(), 0 ); - equal( ui.oldContent.size(), 0 ); - equal( ui.newHeader.size(), 1 ); + equal( ui.oldHeader.length, 0 ); + equal( ui.oldContent.length, 0 ); + equal( ui.newHeader.length, 1 ); strictEqual( ui.newHeader[ 0 ], headers[ 2 ] ); - equal( ui.newContent.size(), 1 ); + equal( ui.newContent.length, 1 ); strictEqual( ui.newContent[ 0 ], content[ 2 ] ); event.preventDefault(); state( element, 0, 0, 0 ); @@ -119,34 +119,34 @@ test( "activate", function() { content = element.find( ".ui-accordion-content" ); element.one( "accordionactivate", function( event, ui ) { - equal( ui.oldHeader.size(), 0 ); - equal( ui.oldContent.size(), 0 ); - equal( ui.newHeader.size(), 1 ); + equal( ui.oldHeader.length, 0 ); + equal( ui.oldContent.length, 0 ); + equal( ui.newHeader.length, 1 ); strictEqual( ui.newHeader[ 0 ], headers[ 0 ] ); - equal( ui.newContent.size(), 1 ); + equal( ui.newContent.length, 1 ); strictEqual( ui.newContent[ 0 ], content[ 0 ] ); }); element.accordion( "option", "active", 0 ); element.one( "accordionactivate", function( event, ui ) { - equal( ui.oldHeader.size(), 1 ); + equal( ui.oldHeader.length, 1 ); strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] ); - equal( ui.oldContent.size(), 1 ); + equal( ui.oldContent.length, 1 ); strictEqual( ui.oldContent[ 0 ], content[ 0 ] ); - equal( ui.newHeader.size(), 1 ); + equal( ui.newHeader.length, 1 ); strictEqual( ui.newHeader[ 0 ], headers[ 1 ] ); - equal( ui.newContent.size(), 1 ); + equal( ui.newContent.length, 1 ); strictEqual( ui.newContent[ 0 ], content[ 1 ] ); }); headers.eq( 1 ).click(); element.one( "accordionactivate", function( event, ui ) { - equal( ui.oldHeader.size(), 1 ); + equal( ui.oldHeader.length, 1 ); strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] ); - equal( ui.oldContent.size(), 1 ); + equal( ui.oldContent.length, 1 ); strictEqual( ui.oldContent[ 0 ], content[ 1 ] ); - equal( ui.newHeader.size(), 0 ); - equal( ui.newContent.size(), 0 ); + equal( ui.newHeader.length, 0 ); + equal( ui.newContent.length, 0 ); }); element.accordion( "option", "active", false ); diff --git a/tests/unit/accordion/accordion_options.js b/tests/unit/accordion/accordion_options.js index f64ddc675..3c7863520 100644 --- a/tests/unit/accordion/accordion_options.js +++ b/tests/unit/accordion/accordion_options.js @@ -20,7 +20,7 @@ test( "{ active: false }", function() { collapsible: true }); state( element, 0, 0, 0 ); - equal( element.find( ".ui-accordion-header.ui-state-active" ).size(), 0, "no headers selected" ); + equal( element.find( ".ui-accordion-header.ui-state-active" ).length, 0, "no headers selected" ); equal( element.accordion( "option", "active" ), false ); element.accordion( "option", "collapsible", false ); diff --git a/tests/unit/tabs/tabs_deprecated.js b/tests/unit/tabs/tabs_deprecated.js index 8386a13ac..8d3685b3d 100644 --- a/tests/unit/tabs/tabs_deprecated.js +++ b/tests/unit/tabs/tabs_deprecated.js @@ -187,7 +187,7 @@ test( "selected", function() { collapsible: true }); state( element, 0, 0, 0 ); - equal( element.find( ".ui-tabs-nav .ui-state-active" ).size(), 0, "no tabs selected" ); + equal( element.find( ".ui-tabs-nav .ui-state-active" ).length, 0, "no tabs selected" ); strictEqual( element.tabs( "option", "selected" ), -1 ); element.tabs( "option", "collapsible", false ); diff --git a/tests/unit/tabs/tabs_events.js b/tests/unit/tabs/tabs_events.js index 3f6ec14d0..f33686581 100644 --- a/tests/unit/tabs/tabs_events.js +++ b/tests/unit/tabs/tabs_events.js @@ -13,9 +13,9 @@ test( "create", function() { element.tabs({ create: function( event, ui ) { - equal( ui.tab.size(), 1, "tab size" ); + equal( ui.tab.length, 1, "tab length" ); strictEqual( ui.tab[ 0 ], tabs[ 0 ], "tab" ); - equal( ui.panel.size(), 1, "panel size" ); + equal( ui.panel.length, 1, "panel length" ); strictEqual( ui.panel[ 0 ], panels[ 0 ], "panel" ); } }); @@ -24,9 +24,9 @@ test( "create", function() { element.tabs({ active: 2, create: function( event, ui ) { - equal( ui.tab.size(), 1, "tab size" ); + equal( ui.tab.length, 1, "tab length" ); strictEqual( ui.tab[ 0 ], tabs[ 2 ], "tab" ); - equal( ui.panel.size(), 1, "panel size" ); + equal( ui.panel.length, 1, "panel length" ); strictEqual( ui.panel[ 0 ], panels[ 2 ], "panel" ); } }); @@ -36,8 +36,8 @@ test( "create", function() { active: false, collapsible: true, create: function( event, ui ) { - equal( ui.tab.size(), 0, "tab size" ); - equal( ui.panel.size(), 0, "panel size" ); + equal( ui.tab.length, 0, "tab length" ); + equal( ui.panel.length, 0, "panel length" ); } }); element.tabs( "destroy" ); @@ -56,11 +56,11 @@ test( "beforeActivate", function() { // from collapsed element.one( "tabsbeforeactivate", function( event, ui ) { ok( !( "originalEvent" in event ), "originalEvent" ); - equal( ui.oldTab.size(), 0, "oldTab size" ); - equal( ui.oldPanel.size(), 0, "oldPanel size" ); - equal( ui.newTab.size(), 1, "newTab size" ); + equal( ui.oldTab.length, 0, "oldTab length" ); + equal( ui.oldPanel.length, 0, "oldPanel length" ); + equal( ui.newTab.length, 1, "newTab length" ); strictEqual( ui.newTab[ 0 ], tabs[ 0 ], "newTab" ); - equal( ui.newPanel.size(), 1, "newPanel size" ); + equal( ui.newPanel.length, 1, "newPanel length" ); strictEqual( ui.newPanel[ 0 ], panels[ 0 ], "newPanel" ); state( element, 0, 0, 0 ); }); @@ -70,13 +70,13 @@ test( "beforeActivate", function() { // switching tabs element.one( "tabsbeforeactivate", function( event, ui ) { equal( event.originalEvent.type, "click", "originalEvent" ); - equal( ui.oldTab.size(), 1, "oldTab size" ); + equal( ui.oldTab.length, 1, "oldTab length" ); strictEqual( ui.oldTab[ 0 ], tabs[ 0 ], "oldTab" ); - equal( ui.oldPanel.size(), 1, "oldPanel size" ); + equal( ui.oldPanel.length, 1, "oldPanel length" ); strictEqual( ui.oldPanel[ 0 ], panels[ 0 ], "oldPanel" ); - equal( ui.newTab.size(), 1, "newTab size" ); + equal( ui.newTab.length, 1, "newTab length" ); strictEqual( ui.newTab[ 0 ], tabs[ 1 ], "newTab" ); - equal( ui.newPanel.size(), 1, "newPanel size" ); + equal( ui.newPanel.length, 1, "newPanel length" ); strictEqual( ui.newPanel[ 0 ], panels[ 1 ], "newPanel" ); state( element, 1, 0, 0 ); }); @@ -86,12 +86,12 @@ test( "beforeActivate", function() { // collapsing element.one( "tabsbeforeactivate", function( event, ui ) { ok( !( "originalEvent" in event ), "originalEvent" ); - equal( ui.oldTab.size(), 1, "oldTab size" ); + equal( ui.oldTab.length, 1, "oldTab length" ); strictEqual( ui.oldTab[ 0 ], tabs[ 1 ], "oldTab" ); - equal( ui.oldPanel.size(), 1, "oldPanel size" ); + equal( ui.oldPanel.length, 1, "oldPanel length" ); strictEqual( ui.oldPanel[ 0 ], panels[ 1 ], "oldPanel" ); - equal( ui.newTab.size(), 0, "newTab size" ); - equal( ui.newPanel.size(), 0, "newPanel size" ); + equal( ui.newTab.length, 0, "newTab length" ); + equal( ui.newPanel.length, 0, "newPanel length" ); state( element, 0, 1, 0 ); }); element.tabs( "option", "active", false ); @@ -100,11 +100,11 @@ test( "beforeActivate", function() { // prevent activation element.one( "tabsbeforeactivate", function( event, ui ) { ok( !( "originalEvent" in event ), "originalEvent" ); - equal( ui.oldTab.size(), 0, "oldTab size" ); - equal( ui.oldPanel.size(), 0, "oldTab" ); - equal( ui.newTab.size(), 1, "newTab size" ); + equal( ui.oldTab.length, 0, "oldTab length" ); + equal( ui.oldPanel.length, 0, "oldTab" ); + equal( ui.newTab.length, 1, "newTab length" ); strictEqual( ui.newTab[ 0 ], tabs[ 1 ], "newTab" ); - equal( ui.newPanel.size(), 1, "newPanel size" ); + equal( ui.newPanel.length, 1, "newPanel length" ); strictEqual( ui.newPanel[ 0 ], panels[ 1 ], "newPanel" ); event.preventDefault(); state( element, 0, 0, 0 ); @@ -126,11 +126,11 @@ test( "activate", function() { // from collapsed element.one( "tabsactivate", function( event, ui ) { ok( !( "originalEvent" in event ), "originalEvent" ); - equal( ui.oldTab.size(), 0, "oldTab size" ); - equal( ui.oldPanel.size(), 0, "oldPanel size" ); - equal( ui.newTab.size(), 1, "newTab size" ); + equal( ui.oldTab.length, 0, "oldTab length" ); + equal( ui.oldPanel.length, 0, "oldPanel length" ); + equal( ui.newTab.length, 1, "newTab length" ); strictEqual( ui.newTab[ 0 ], tabs[ 0 ], "newTab" ); - equal( ui.newPanel.size(), 1, "newPanel size" ); + equal( ui.newPanel.length, 1, "newPanel length" ); strictEqual( ui.newPanel[ 0 ], panels[ 0 ], "newPanel" ); state( element, 1, 0, 0 ); }); @@ -140,13 +140,13 @@ test( "activate", function() { // switching tabs element.one( "tabsactivate", function( event, ui ) { equal( event.originalEvent.type, "click", "originalEvent" ); - equal( ui.oldTab.size(), 1, "oldTab size" ); + equal( ui.oldTab.length, 1, "oldTab length" ); strictEqual( ui.oldTab[ 0 ], tabs[ 0 ], "oldTab" ); - equal( ui.oldPanel.size(), 1, "oldPanel size" ); + equal( ui.oldPanel.length, 1, "oldPanel length" ); strictEqual( ui.oldPanel[ 0 ], panels[ 0 ], "oldPanel" ); - equal( ui.newTab.size(), 1, "newTab size" ); + equal( ui.newTab.length, 1, "newTab length" ); strictEqual( ui.newTab[ 0 ], tabs[ 1 ], "newTab" ); - equal( ui.newPanel.size(), 1, "newPanel size" ); + equal( ui.newPanel.length, 1, "newPanel length" ); strictEqual( ui.newPanel[ 0 ], panels[ 1 ], "newPanel" ); state( element, 0, 1, 0 ); }); @@ -156,12 +156,12 @@ test( "activate", function() { // collapsing element.one( "tabsactivate", function( event, ui ) { ok( !( "originalEvent" in event ), "originalEvent" ); - equal( ui.oldTab.size(), 1, "oldTab size" ); + equal( ui.oldTab.length, 1, "oldTab length" ); strictEqual( ui.oldTab[ 0 ], tabs[ 1 ], "oldTab" ); - equal( ui.oldPanel.size(), 1, "oldPanel size" ); + equal( ui.oldPanel.length, 1, "oldPanel length" ); strictEqual( ui.oldPanel[ 0 ], panels[ 1 ], "oldPanel" ); - equal( ui.newTab.size(), 0, "newTab size" ); - equal( ui.newPanel.size(), 0, "newPanel size" ); + equal( ui.newTab.length, 0, "newTab length" ); + equal( ui.newPanel.length, 0, "newPanel length" ); state( element, 0, 0, 0 ); }); element.tabs( "option", "active", false ); @@ -193,9 +193,9 @@ test( "beforeLoad", function() { ok( !( "originalEvent" in event ), "originalEvent" ); ok( "abort" in ui.jqXHR, "jqXHR" ); ok( ui.ajaxSettings.url, "data/test.html", "ajaxSettings.url" ); - equal( ui.tab.size(), 1, "tab size" ); + equal( ui.tab.length, 1, "tab length" ); strictEqual( ui.tab[ 0 ], tab[ 0 ], "tab" ); - equal( ui.panel.size(), 1, "panel size" ); + equal( ui.panel.length, 1, "panel length" ); strictEqual( ui.panel[ 0 ], panel[ 0 ], "panel" ); equal( ui.panel.html(), "", "panel html" ); event.preventDefault(); @@ -215,9 +215,9 @@ test( "beforeLoad", function() { ok( !( "originalEvent" in event ), "originalEvent" ); ok( "abort" in ui.jqXHR, "jqXHR" ); ok( ui.ajaxSettings.url, "data/test.html", "ajaxSettings.url" ); - equal( ui.tab.size(), 1, "tab size" ); + equal( ui.tab.length, 1, "tab length" ); strictEqual( ui.tab[ 0 ], tab[ 0 ], "tab" ); - equal( ui.panel.size(), 1, "panel size" ); + equal( ui.panel.length, 1, "panel length" ); strictEqual( ui.panel[ 0 ], panel[ 0 ], "panel" ); equal( ui.panel.html(), "", "panel html" ); event.preventDefault(); @@ -237,9 +237,9 @@ test( "beforeLoad", function() { equal( event.originalEvent.type, "click", "originalEvent" ); ok( "abort" in ui.jqXHR, "jqXHR" ); ok( ui.ajaxSettings.url, "data/test.html", "ajaxSettings.url" ); - equal( ui.tab.size(), 1, "tab size" ); + equal( ui.tab.length, 1, "tab length" ); strictEqual( ui.tab[ 0 ], tab[ 0 ], "tab" ); - equal( ui.panel.size(), 1, "panel size" ); + equal( ui.panel.length, 1, "panel length" ); strictEqual( ui.panel[ 0 ], panel[ 0 ], "panel" ); ui.panel.html( "

      testing

      " ); event.preventDefault(); @@ -265,9 +265,9 @@ if ( $.uiBackCompat === false ) { panel = $( "#" + panelId ); ok( !( "originalEvent" in event ), "originalEvent" ); - equal( ui.tab.size(), 1, "tab size" ); + equal( ui.tab.length, 1, "tab length" ); strictEqual( ui.tab[ 0 ], tab[ 0 ], "tab" ); - equal( ui.panel.size(), 1, "panel size" ); + equal( ui.panel.length, 1, "panel length" ); strictEqual( ui.panel[ 0 ], panel[ 0 ], "panel" ); equal( ui.panel.find( "p" ).length, 1, "panel html" ); state( element, 0, 0, 1, 0, 0 ); @@ -283,9 +283,9 @@ if ( $.uiBackCompat === false ) { panel = $( "#" + panelId ); ok( !( "originalEvent" in event ), "originalEvent" ); - equal( ui.tab.size(), 1, "tab size" ); + equal( ui.tab.length, 1, "tab length" ); strictEqual( ui.tab[ 0 ], tab[ 0 ], "tab" ); - equal( ui.panel.size(), 1, "panel size" ); + equal( ui.panel.length, 1, "panel length" ); strictEqual( ui.panel[ 0 ], panel[ 0 ], "panel" ); equal( ui.panel.find( "p" ).length, 1, "panel html" ); state( element, 0, 0, 0, 1, 0 ); @@ -302,9 +302,9 @@ if ( $.uiBackCompat === false ) { panel = $( "#" + panelId ); equal( event.originalEvent.type, "click", "originalEvent" ); - equal( ui.tab.size(), 1, "tab size" ); + equal( ui.tab.length, 1, "tab length" ); strictEqual( ui.tab[ 0 ], tab[ 0 ], "tab" ); - equal( ui.panel.size(), 1, "panel size" ); + equal( ui.panel.length, 1, "panel length" ); strictEqual( ui.panel[ 0 ], panel[ 0 ], "panel" ); equal( ui.panel.find( "p" ).length, 1, "panel html" ); state( element, 0, 0, 0, 0, 1 ); diff --git a/tests/unit/tabs/tabs_methods.js b/tests/unit/tabs/tabs_methods.js index 61ce78189..0837995e6 100644 --- a/tests/unit/tabs/tabs_methods.js +++ b/tests/unit/tabs/tabs_methods.js @@ -161,9 +161,9 @@ asyncTest( "load", function() { panel = $( "#" + panelId ); ok( !( "originalEvent" in event ), "originalEvent" ); - equal( ui.tab.size(), 1, "tab size" ); + equal( ui.tab.length, 1, "tab length" ); strictEqual( ui.tab[ 0 ], tab[ 0 ], "tab" ); - equal( ui.panel.size(), 1, "panel size" ); + equal( ui.panel.length, 1, "panel length" ); strictEqual( ui.panel[ 0 ], panel[ 0 ], "panel" ); state( element, 1, 0, 0, 0, 0 ); }); @@ -176,9 +176,9 @@ asyncTest( "load", function() { panel = $( "#" + panelId ); ok( !( "originalEvent" in event ), "originalEvent" ); - equal( uiTab.size(), 1, "tab size" ); + equal( uiTab.length, 1, "tab length" ); strictEqual( uiTab[ 0 ], tab[ 0 ], "tab" ); - equal( uiPanel.size(), 1, "panel size" ); + equal( uiPanel.length, 1, "panel length" ); strictEqual( uiPanel[ 0 ], panel[ 0 ], "panel" ); equal( uiPanel.find( "p" ).length, 1, "panel html" ); state( element, 1, 0, 0, 0, 0 ); @@ -208,9 +208,9 @@ asyncTest( "load", function() { panel = $( "#" + panelId ); ok( !( "originalEvent" in event ), "originalEvent" ); - equal( ui.tab.size(), 1, "tab size" ); + equal( ui.tab.length, 1, "tab length" ); strictEqual( ui.tab[ 0 ], tab[ 0 ], "tab" ); - equal( ui.panel.size(), 1, "panel size" ); + equal( ui.panel.length, 1, "panel length" ); strictEqual( ui.panel[ 0 ], panel[ 0 ], "panel" ); state( element, 0, 0, 0, 1, 0 ); }); @@ -223,9 +223,9 @@ asyncTest( "load", function() { panel = $( "#" + panelId ); ok( !( "originalEvent" in event ), "originalEvent" ); - equal( uiTab.size(), 1, "tab size" ); + equal( uiTab.length, 1, "tab length" ); strictEqual( uiTab[ 0 ], tab[ 0 ], "tab" ); - equal( uiPanel.size(), 1, "panel size" ); + equal( uiPanel.length, 1, "panel length" ); strictEqual( uiPanel[ 0 ], panel[ 0 ], "panel" ); state( element, 0, 0, 0, 1, 0 ); start(); diff --git a/tests/unit/tabs/tabs_options.js b/tests/unit/tabs/tabs_options.js index 40d4ceaa7..ae9e7bdc6 100644 --- a/tests/unit/tabs/tabs_options.js +++ b/tests/unit/tabs/tabs_options.js @@ -29,7 +29,7 @@ test( "{ active: false }", function() { collapsible: true }); state( element, 0, 0, 0 ); - equal( element.find( ".ui-tabs-nav .ui-state-active" ).size(), 0, "no tabs selected" ); + equal( element.find( ".ui-tabs-nav .ui-state-active" ).length, 0, "no tabs selected" ); strictEqual( element.tabs( "option", "active" ), false ); element.tabs( "option", "collapsible", false ); diff --git a/ui/jquery.ui.accordion.js b/ui/jquery.ui.accordion.js index 81f74f0b9..8d062ad51 100644 --- a/ui/jquery.ui.accordion.js +++ b/ui/jquery.ui.accordion.js @@ -497,10 +497,10 @@ $.widget( "ui.accordion", { easing = easing || options.easing || animate.easing; duration = duration || options.duration || animate.duration; - if ( !toHide.size() ) { + if ( !toHide.length ) { return toShow.animate( showProps, duration, easing, complete ); } - if ( !toShow.size() ) { + if ( !toShow.length ) { return toHide.animate( hideProps, duration, easing, complete ); } -- cgit v1.2.3 From 88e141801cbd2d149f98d11f7674f35a9e06e288 Mon Sep 17 00:00:00 2001 From: Scott González Date: Tue, 24 Apr 2012 07:43:26 -0400 Subject: Tests: Check for null error objects when reporting JSHint errors. --- tests/unit/testsuite.js | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'tests/unit') diff --git a/tests/unit/testsuite.js b/tests/unit/testsuite.js index 7e505979c..faef90a9d 100644 --- a/tests/unit/testsuite.js +++ b/tests/unit/testsuite.js @@ -48,6 +48,11 @@ function testJshint( widget ) { ).done(function( hintArgs, srcArgs ) { var passed = JSHINT( srcArgs[ 0 ], hintArgs[ 0 ] ), errors = $.map( JSHINT.errors, function( error ) { + // JSHINT may report null if there are too many errors + if ( !error ) { + return; + } + return "[L" + error.line + ":C" + error.character + "] " + error.reason + "\n" + error.evidence + "\n"; }).join( "\n" ); -- cgit v1.2.3 From cbc5207c4101e370ada65ed6aaed7e7082c95dea Mon Sep 17 00:00:00 2001 From: Scott González Date: Tue, 24 Apr 2012 09:04:58 -0400 Subject: Position tests: Fixed typo. --- tests/unit/position/position_core.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests/unit') diff --git a/tests/unit/position/position_core.js b/tests/unit/position/position_core.js index 0ebcabef3..837327b5d 100644 --- a/tests/unit/position/position_core.js +++ b/tests/unit/position/position_core.js @@ -310,7 +310,7 @@ test( "collision: fit, no collision", function() { }, "no offset" ); collisionTest({ - collition: "fit", + collision: "fit", at: "right+2 bottom+3" }, { top: 13, -- cgit v1.2.3 From 1a0f2e46593ec9e3fbca51175d342210a9996fba Mon Sep 17 00:00:00 2001 From: Jörn Zaefferer Date: Tue, 24 Apr 2012 16:17:02 +0200 Subject: Position: Extend unit test for using to check feedback properties --- tests/unit/position/position_core.js | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) (limited to 'tests/unit') diff --git a/tests/unit/position/position_core.js b/tests/unit/position/position_core.js index 0ebcabef3..b567b7299 100644 --- a/tests/unit/position/position_core.js +++ b/tests/unit/position/position_core.js @@ -255,11 +255,30 @@ test( "offsets", function() { }); test( "using", function() { - expect( 6 ); + expect( 10 ); var count = 0, elems = $( "#el1, #el2" ), - expectedPosition = { top: 40, left: 40 }, + of = $( "#parentx" ), + expectedPosition = { top: 60, left: 60 }, + expectedFeedback = { + target: { + element: of, + width: 20, + height: 20, + left: 40, + top: 40 + }, + element: { + width: 6, + height: 6, + left: 60, + top: 60 + }, + horizontal: "left", + vertical: "top", + important: "vertical" + }, originalPosition = elems.position({ my: "right bottom", at: "rigt bottom", @@ -269,11 +288,14 @@ test( "using", function() { elems.position({ my: "left top", - at: "left top", + at: "center+10 bottom", of: "#parentx", - using: function( position ) { + using: function( position, feedback ) { deepEqual( this, elems[ count ], "correct context for call #" + count ); deepEqual( position, expectedPosition, "correct position for call #" + count ); + deepEqual( feedback.element.element[ 0 ], elems[ count ] ); + delete feedback.element.element; + deepEqual( feedback, expectedFeedback ); count++; } }); -- cgit v1.2.3 From 252352e12473034dc86917bc9c7c1f764e6f7eb4 Mon Sep 17 00:00:00 2001 From: Jörn Zaefferer Date: Tue, 24 Apr 2012 17:23:25 +0200 Subject: Position: Fix scrollbar calculcation to correctly take overflow:scroll into account, along with unit tests --- tests/unit/position/position.html | 2 +- tests/unit/position/position_core.js | 61 ++++++++++++++++++++++++++++++ tests/visual/position/position_within.html | 2 +- ui/jquery.ui.position.js | 11 +++--- 4 files changed, 69 insertions(+), 7 deletions(-) (limited to 'tests/unit') diff --git a/tests/unit/position/position.html b/tests/unit/position/position.html index 518e1f960..2a6e43d36 100644 --- a/tests/unit/position/position.html +++ b/tests/unit/position/position.html @@ -43,7 +43,7 @@ elements smaller than 10px have a line-height set on them to avoid a bug in IE6
      -
      +
      diff --git a/tests/unit/position/position_core.js b/tests/unit/position/position_core.js index b567b7299..f15ea48cc 100644 --- a/tests/unit/position/position_core.js +++ b/tests/unit/position/position_core.js @@ -591,6 +591,67 @@ test( "within", function() { }, "flipfit - left top" ); }); +test( "with scrollbars", function() { + expect( 4 ); + + $( "#scrollx" ).css({ + width: 100, + height: 100, + left: 0, + top: 0 + }); + + collisionTest({ + of: "#scrollx", + collision: "fit", + within: "#scrollx" + }, { + top: 90, + left: 90 + }, "visible" ); + + $( "#scrollx" ).css({ + overflow: "scroll" + }); + + var scrollbarInfo = $.position.getScrollInfo( $.position.getWithinInfo( $( "#scrollx" ) ) ); + + collisionTest({ + of: "#scrollx", + collision: "fit", + within: "#scrollx" + }, { + top: 90 - scrollbarInfo.height, + left: 90 - scrollbarInfo.width + }, "scroll" ); + + $( "#scrollx" ).css({ + overflow: "auto" + }); + + collisionTest({ + of: "#scrollx", + collision: "fit", + within: "#scrollx" + }, { + top: 90, + left: 90 + }, "auto, no scroll" ); + + $( "#scrollx" ).css({ + overflow: "auto" + }).append( $("
      ").height(300).width(300) ); + + collisionTest({ + of: "#scrollx", + collision: "fit", + within: "#scrollx" + }, { + top: 90 - scrollbarInfo.height, + left: 90 - scrollbarInfo.width + }, "auto, with scroll" ); +}); + test( "fractions", function() { expect( 1 ); diff --git a/tests/visual/position/position_within.html b/tests/visual/position/position_within.html index 7d8813582..692cb1067 100644 --- a/tests/visual/position/position_within.html +++ b/tests/visual/position/position_within.html @@ -97,7 +97,7 @@ collision: $( "#collision_horizontal" ).val() + " " + $( "#collision_vertical" ).val() }); } - $( ".demo" ).append("
      ").css("overflow","auto"); + $( ".demo" ).css("overflow","scroll"); $( ".positionable" ).css( "opacity", 0.5 ); diff --git a/ui/jquery.ui.position.js b/ui/jquery.ui.position.js index b8764f2bb..d4d09bee4 100644 --- a/ui/jquery.ui.position.js +++ b/ui/jquery.ui.position.js @@ -58,12 +58,13 @@ $.position = { getScrollInfo: function( within ) { var overflowX = within.isWindow ? "" : within.element.css( "overflow-x" ), overflowY = within.isWindow ? "" : within.element.css( "overflow-y" ), - scrollbarWidth = overflowX === "auto" || overflowX === "scroll" ? $.position.scrollbarWidth() : 0, - scrollbarHeight = overflowY === "auto" || overflowY === "scroll" ? $.position.scrollbarWidth() : 0; - + hasOverflowX = overflowX === "scroll" || + ( overflowX === "auto" && within.width < within.element[0].scrollWidth ), + hasOverflowY = overflowY === "scroll" || + ( overflowY === "auto" && within.height < within.element[0].scrollHeight ); return { - height: within.height < within.element[0].scrollHeight ? scrollbarHeight : 0, - width: within.width < within.element[0].scrollWidth ? scrollbarWidth : 0 + width: hasOverflowX ? $.position.scrollbarWidth() : 0, + height: hasOverflowY ? $.position.scrollbarWidth() : 0 }; }, getWithinInfo: function( element ) { -- cgit v1.2.3 From 258a637cc614f54dcf5af2ae4fc5dc26d5a630d0 Mon Sep 17 00:00:00 2001 From: "Richard D. Worth" Date: Thu, 26 Apr 2012 09:47:05 -0400 Subject: Fix various issues in our html files, fifth batch --- tests/static/icons.html | 67 +++++++++++++++++++++++++++ tests/unit/core/core.html | 6 +-- tests/unit/resizable/resizable.html | 2 +- tests/unit/tabs/tabs.html | 1 + tests/unit/tabs/tabs_deprecated.html | 1 + tests/visual/button/button_disabled_true.html | 2 +- tests/visual/position/position_fit.html | 40 ++++++++-------- tests/visual/position/position_flip.html | 22 ++++----- tests/visual/position/position_flipfit.html | 28 +++++------ 9 files changed, 119 insertions(+), 50 deletions(-) (limited to 'tests/unit') diff --git a/tests/static/icons.html b/tests/static/icons.html index adaf5f1cd..d3ae3e348 100644 --- a/tests/static/icons.html +++ b/tests/static/icons.html @@ -49,6 +49,12 @@
      + + + + + +
      @@ -61,6 +67,12 @@
      + + + + + +
      @@ -111,6 +123,10 @@
      + + + +
      @@ -121,6 +137,14 @@
      + + + + + + + +
      @@ -187,6 +211,12 @@
      + + + + + +
      @@ -199,6 +229,12 @@
      + + + + + +
      @@ -208,6 +244,15 @@
      + + + + + + + + +
      @@ -224,6 +269,8 @@
      + +
      @@ -232,6 +279,16 @@
      + + + + + + + + + +
      @@ -240,6 +297,16 @@
      + + + + + + + + + + diff --git a/tests/unit/core/core.html b/tests/unit/core/core.html index 272b15d2c..09b024835 100644 --- a/tests/unit/core/core.html +++ b/tests/unit/core/core.html @@ -54,14 +54,14 @@ - + - xxx + xxx anchor anchor x @@ -75,7 +75,7 @@ - + diff --git a/tests/unit/resizable/resizable.html b/tests/unit/resizable/resizable.html index 9baa67493..558574c5f 100644 --- a/tests/unit/resizable/resizable.html +++ b/tests/unit/resizable/resizable.html @@ -49,7 +49,7 @@
      I'm a resizable.
      - +solid gray
      diff --git a/tests/unit/tabs/tabs.html b/tests/unit/tabs/tabs.html index fc7bfeedf..b961c60f3 100644 --- a/tests/unit/tabs/tabs.html +++ b/tests/unit/tabs/tabs.html @@ -62,6 +62,7 @@
      +
      diff --git a/tests/unit/tabs/tabs_deprecated.html b/tests/unit/tabs/tabs_deprecated.html index 0c7611c9d..09afc91b4 100644 --- a/tests/unit/tabs/tabs_deprecated.html +++ b/tests/unit/tabs/tabs_deprecated.html @@ -61,6 +61,7 @@
      +
      diff --git a/tests/visual/button/button_disabled_true.html b/tests/visual/button/button_disabled_true.html index 25388a484..83a3e9cd6 100644 --- a/tests/visual/button/button_disabled_true.html +++ b/tests/visual/button/button_disabled_true.html @@ -46,7 +46,7 @@
      anchor - anchor 1 + anchor 1 # Attribute "disabled" not allowed on element "a" at this point.
      anchor 1
      diff --git a/tests/visual/position/position_fit.html b/tests/visual/position/position_fit.html index dbd52550f..acb2672bc 100644 --- a/tests/visual/position/position_fit.html +++ b/tests/visual/position/position_fit.html @@ -16,8 +16,8 @@ $("ul").insertAfter(inputs); inputs.each(function(index) { $(this).position({ - my: this.id.replace(/-/, " "), - at: this.id.replace(/-/, " "), + my: $(this).data("position").replace(/-/, " "), + at: $(this).data("position").replace(/-/, " "), of: "#container"+index, collision: "none" }); @@ -113,25 +113,25 @@
      - - - - - - - - - + + + + + + + + + - - - - - - - - - + + + + + + + + +
      • Java
      • diff --git a/tests/visual/position/position_flip.html b/tests/visual/position/position_flip.html index 29ad32f96..66f0b243f 100644 --- a/tests/visual/position/position_flip.html +++ b/tests/visual/position/position_flip.html @@ -16,8 +16,8 @@ $("ul").insertAfter(inputs); inputs.each(function(index) { $(this).position({ - my: this.id.replace(/-/, " "), - at: this.id.replace(/-/, " "), + my: $(this).data("position").replace(/-/, " "), + at: $(this).data("position").replace(/-/, " "), of: "#container"+index, collision: "none" }); @@ -52,15 +52,15 @@
        - - - - - - - - - + + + + + + + + +
        • Java
        • diff --git a/tests/visual/position/position_flipfit.html b/tests/visual/position/position_flipfit.html index fb99e4007..5139b9b88 100644 --- a/tests/visual/position/position_flipfit.html +++ b/tests/visual/position/position_flipfit.html @@ -16,8 +16,8 @@ $("ul").insertAfter(inputs); inputs.each(function(index) { $(this).position({ - my: this.id.replace(/-/, " "), - at: this.id.replace(/-/, " "), + my: $(this).data("position").replace(/-/, " "), + at: $(this).data("position").replace(/-/, " "), of: "#container"+index, collision: "none" }); @@ -58,18 +58,18 @@
          - - - - - - - - - - - - + + + + + + + + + + + +
          • Java
          • -- cgit v1.2.3 From 9938e999645e87b7abc9da072f98c290212c9e19 Mon Sep 17 00:00:00 2001 From: Jörn Zaefferer Date: Thu, 26 Apr 2012 20:16:06 +0200 Subject: Position: Fix markup for deprecated tests. Insert/remove some new lines to make comparision to position.html trivial --- tests/unit/position/position.html | 9 +-------- tests/unit/position/position_deprecated.html | 13 +++++-------- 2 files changed, 6 insertions(+), 16 deletions(-) (limited to 'tests/unit') diff --git a/tests/unit/position/position.html b/tests/unit/position/position.html index 2a6e43d36..25276f488 100644 --- a/tests/unit/position/position.html +++ b/tests/unit/position/position.html @@ -23,14 +23,7 @@ -
            -

            jQuery UI Position Test Suite

            -

            -
            -

            -
              -
            -
            +
            @@ -34,7 +34,7 @@ elements smaller than 10px have a line-height set on them to avoid a bug in IE6
            -
            +
            -- cgit v1.2.3 From a0c734b9e1d773167f3c9a84df851f4ae7faba87 Mon Sep 17 00:00:00 2001 From: Jörn Zaefferer Date: Mon, 7 May 2012 12:19:19 +0200 Subject: Position: Apply IE6 line-height workaround to deprecated tests, too --- tests/unit/position/position_deprecated.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tests/unit') diff --git a/tests/unit/position/position_deprecated.html b/tests/unit/position/position_deprecated.html index 5fc768459..84aae61f8 100644 --- a/tests/unit/position/position_deprecated.html +++ b/tests/unit/position/position_deprecated.html @@ -26,7 +26,7 @@
            @@ -34,7 +34,7 @@ elements smaller than 10px have a line-height set on them to avoid a bug in IE6
            -
            +
            -- cgit v1.2.3 From cab4c467d9c12ec61a652c3bf68eedd166319b34 Mon Sep 17 00:00:00 2001 From: Jay Merrifield Date: Thu, 3 May 2012 19:02:23 -0400 Subject: Dialog: Handle escape for all overlays. Fixes #8300 - Dialog: Incorrect behavior for ESCAPE with multiple modal dialogs. --- tests/unit/dialog/dialog_tickets.js | 62 +++++++++++++++++++++++++++++++++---- ui/jquery.ui.dialog.js | 26 +++++++++------- 2 files changed, 71 insertions(+), 17 deletions(-) (limited to 'tests/unit') diff --git a/tests/unit/dialog/dialog_tickets.js b/tests/unit/dialog/dialog_tickets.js index a169bd1a5..98983cf33 100644 --- a/tests/unit/dialog/dialog_tickets.js +++ b/tests/unit/dialog/dialog_tickets.js @@ -117,26 +117,76 @@ test("#6645: Missing element not found check in overlay", function(){ }); test("#6966: Escape key closes all dialogs, not the top one", function(){ - expect(8); - // test with close function removing dialog - d1 = $('
            Dialog 1
            ').dialog({modal: true}); + expect(24); + // test with close function removing dialog triggered through the overlay + d1 = $('
            Dialog 1
            ').dialog({modal: true, close: function(){ d1.remove(); }}); + d2 = $('
            Dialog 2
            ').dialog({modal: true, close: function(){ d2.remove(); }}); + + ok(d1.data('dialog') && d1.dialog('isOpen'), 'first dialog is open'); + ok(d2.data('dialog') && d2.dialog('isOpen'), 'second dialog is open'); + + $( document ).simulate('keydown', {keyCode: $.ui.keyCode.ESCAPE}); + ok(d1.data('dialog') && d1.dialog('isOpen'), 'first dialog still open'); + ok(!d2.data('dialog'), 'second dialog is closed'); + + $( document ).simulate('keydown', {keyCode: $.ui.keyCode.ESCAPE}); + ok(!d1.data('dialog'), 'first dialog is closed'); + ok(!d2.data('dialog'), 'second dialog is closed'); + + d2.remove(); + d1.remove(); + + // test with close function removing dialog triggered through the dialog + d1 = $('
            Dialog 1
            ').dialog({modal: true, close: function(){ d1.remove(); }}); d2 = $('
            Dialog 2
            ').dialog({modal: true, close: function(){ d2.remove(); }}); + + ok(d1.data('dialog') && d1.dialog('isOpen'), 'first dialog is open'); + ok(d2.data('dialog') && d2.dialog('isOpen'), 'second dialog is open'); + + d2.simulate('keydown', {keyCode: $.ui.keyCode.ESCAPE}); + ok(d1.data('dialog') && d1.dialog('isOpen'), 'first dialog still open'); + ok(!d2.data('dialog'), 'second dialog is closed'); + + d1.simulate('keydown', {keyCode: $.ui.keyCode.ESCAPE}); + ok(!d1.data('dialog'), 'first dialog is closed'); + ok(!d2.data('dialog'), 'second dialog is closed'); + + d2.remove(); + d1.remove(); + + // test without close function removing dialog + d1 = $('
            Dialog 1
            ').dialog({modal: true}); + d2 = $('
            Dialog 2
            ').dialog({modal: true}); + ok(d1.dialog("isOpen"), 'first dialog is open'); ok(d2.dialog("isOpen"), 'second dialog is open'); + d2.simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE}); ok(d1.dialog("isOpen"), 'first dialog still open'); - ok(!d2.data('dialog'), 'second dialog is closed'); + ok(!d2.dialog("isOpen"), 'second dialog is closed'); + + d1.simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE}); + ok(!d1.dialog("isOpen"), 'first dialog is closed'); + ok(!d2.dialog("isOpen"), 'second dialog is closed'); + d2.remove(); d1.remove(); - // test without close function removing dialog + // test without close function removing dialog triggered through the overlay d1 = $('
            Dialog 1
            ').dialog({modal: true}); d2 = $('
            Dialog 2
            ').dialog({modal: true}); + ok(d1.dialog("isOpen"), 'first dialog is open'); ok(d2.dialog("isOpen"), 'second dialog is open'); - d2.simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE}); + + $( document ).simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE}); ok(d1.dialog("isOpen"), 'first dialog still open'); ok(!d2.dialog("isOpen"), 'second dialog is closed'); + + $( document ).simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE}); + ok(!d1.dialog("isOpen"), 'first dialog is closed'); + ok(!d2.dialog("isOpen"), 'second dialog is closed'); + d2.remove(); d1.remove(); }); diff --git a/ui/jquery.ui.dialog.js b/ui/jquery.ui.dialog.js index 144cf9725..45ee37789 100644 --- a/ui/jquery.ui.dialog.js +++ b/ui/jquery.ui.dialog.js @@ -713,21 +713,25 @@ $.extend( $.ui.dialog.overlay, { } }, 1 ); - // allow closing by pressing the escape key - $( document ).bind( "keydown.dialog-overlay", function( event ) { - if ( dialog.options.closeOnEscape && !event.isDefaultPrevented() && event.keyCode && - event.keyCode === $.ui.keyCode.ESCAPE ) { - - dialog.close( event ); - event.preventDefault(); - } - }); - // handle window resize $( window ).bind( "resize.dialog-overlay", $.ui.dialog.overlay.resize ); } - + var $el = ( this.oldInstances.pop() || $( "
            " ).addClass( "ui-widget-overlay" ) ); + + // allow closing by pressing the escape key + $( document ).bind( "keydown.dialog-overlay", function( event ) { + var instances = $.ui.dialog.overlay.instances; + // only react to the event if we're the top overlay + if ( instances.length !== 0 && instances[ instances.length - 1 ] === $el && + dialog.options.closeOnEscape && !event.isDefaultPrevented() && event.keyCode && + event.keyCode === $.ui.keyCode.ESCAPE ) { + + dialog.close( event ); + event.preventDefault(); + } + }); + $el.appendTo( document.body ).css({ width: this.width(), height: this.height() -- cgit v1.2.3 From d393c8b4cb26ec34878c22202da6ba9393e0094d Mon Sep 17 00:00:00 2001 From: Scott González Date: Thu, 10 May 2012 17:59:55 -0400 Subject: Spinner: Handle async focus events in IE. Fixes incorrect detection of changes. --- tests/unit/spinner/spinner_events.js | 96 +++++++++++++++++++----------------- ui/jquery.ui.spinner.js | 42 ++++++++++++++-- 2 files changed, 90 insertions(+), 48 deletions(-) (limited to 'tests/unit') diff --git a/tests/unit/spinner/spinner_events.js b/tests/unit/spinner/spinner_events.js index 133a8d5a2..72b185528 100644 --- a/tests/unit/spinner/spinner_events.js +++ b/tests/unit/spinner/spinner_events.js @@ -121,7 +121,7 @@ test( "stop", function() { element.spinner( "value", 999 ); }); -test( "change", function() { +asyncTest( "change", function() { expect( 14 ); var element = $( "#spin" ).spinner(); @@ -174,50 +174,56 @@ test( "change", function() { shouldChange( false, "button up, before blur" ); element.spinner( "widget" ).find( ".ui-spinner-up" ).mousedown().mouseup(); shouldChange( true, "blur after button up" ); - element.blur(); - - shouldChange( false, "button down, before blur" ); - element.spinner( "widget" ).find( ".ui-spinner-down" ).mousedown().mouseup(); - shouldChange( true, "blur after button down" ); - element.blur(); - - shouldChange( false, "many buttons, same final value, before blur" ); - element.spinner( "widget" ).find( ".ui-spinner-up" ).mousedown().mouseup(); - element.spinner( "widget" ).find( ".ui-spinner-up" ).mousedown().mouseup(); - element.spinner( "widget" ).find( ".ui-spinner-down" ).mousedown().mouseup(); - element.spinner( "widget" ).find( ".ui-spinner-down" ).mousedown().mouseup(); - shouldChange( false, "blur after many buttons, same final value" ); - element.blur(); - - shouldChange( true, "stepUp" ); - element.spinner( "stepUp" ); - - shouldChange( true, "stepDown" ); - element.spinner( "stepDown" ); - - shouldChange( true, "pageUp" ); - element.spinner( "pageUp" ); - - shouldChange( true, "pageDown" ); - element.spinner( "pageDown" ); - - shouldChange( true, "value" ); - element.spinner( "value", 999 ); - - shouldChange( false, "value, same value" ); - element.spinner( "value", 999 ); - - shouldChange( true, "max, value changed" ); - element.spinner( "option", "max", 900 ); - - shouldChange( false, "max, value not changed" ); - element.spinner( "option", "max", 1000 ); - - shouldChange( true, "min, value changed" ); - element.spinner( "option", "min", 950 ); - - shouldChange( false, "min, value not changed" ); - element.spinner( "option", "min", 200 ); + setTimeout(function() { + element.blur(); + + shouldChange( false, "button down, before blur" ); + element.spinner( "widget" ).find( ".ui-spinner-down" ).mousedown().mouseup(); + shouldChange( true, "blur after button down" ); + setTimeout(function() { + element.blur(); + + shouldChange( false, "many buttons, same final value, before blur" ); + element.spinner( "widget" ).find( ".ui-spinner-up" ).mousedown().mouseup(); + element.spinner( "widget" ).find( ".ui-spinner-up" ).mousedown().mouseup(); + element.spinner( "widget" ).find( ".ui-spinner-down" ).mousedown().mouseup(); + element.spinner( "widget" ).find( ".ui-spinner-down" ).mousedown().mouseup(); + shouldChange( false, "blur after many buttons, same final value" ); + element.blur(); + setTimeout(function() { + shouldChange( true, "stepUp" ); + element.spinner( "stepUp" ); + + shouldChange( true, "stepDown" ); + element.spinner( "stepDown" ); + + shouldChange( true, "pageUp" ); + element.spinner( "pageUp" ); + + shouldChange( true, "pageDown" ); + element.spinner( "pageDown" ); + + shouldChange( true, "value" ); + element.spinner( "value", 999 ); + + shouldChange( false, "value, same value" ); + element.spinner( "value", 999 ); + + shouldChange( true, "max, value changed" ); + element.spinner( "option", "max", 900 ); + + shouldChange( false, "max, value not changed" ); + element.spinner( "option", "max", 1000 ); + + shouldChange( true, "min, value changed" ); + element.spinner( "option", "min", 950 ); + + shouldChange( false, "min, value not changed" ); + element.spinner( "option", "min", 200 ); + start(); + }); + }); + }); }); })( jQuery ); diff --git a/ui/jquery.ui.spinner.js b/ui/jquery.ui.spinner.js index bd55a09ea..1e4204a0c 100644 --- a/ui/jquery.ui.spinner.js +++ b/ui/jquery.ui.spinner.js @@ -93,6 +93,11 @@ $.widget( "ui.spinner", { this.previous = this.element.val(); }, blur: function( event ) { + if ( this.cancelBlur ) { + delete this.cancelBlur; + return; + } + this._refresh(); this.uiSpinner.removeClass( "ui-state-active" ); if ( this.previous !== this.element.val() ) { @@ -117,11 +122,42 @@ $.widget( "ui.spinner", { event.preventDefault(); }, "mousedown .ui-spinner-button": function( event ) { + var previous; + + // We never want the buttons to have focus; whenever the user is + // interacting with the spinner, the focus should be on the input. + // If the input is focused then this.previous is properly set from + // when the input first received focus. If the input is not focused + // then we need to set this.previous based on the value before spinning. + previous = this.element[0] === this.document[0].activeElement ? + this.previous : this.element.val(); + function checkFocus() { + var isActive = this.element[0] === this.document[0].activeElement; + if ( !isActive ) { + this.element.focus(); + this.previous = previous; + // support: IE + // IE sets focus asynchronously, so we need to check if focus + // moved off of the input because the user clicked on the button. + this._delay(function() { + this.previous = previous; + }); + } + } + // ensure focus is on (or stays on) the text field event.preventDefault(); - if ( this.document[0].activeElement !== this.element[ 0 ] ) { - this.element.focus(); - } + checkFocus.call( this ); + + // support: IE + // IE doesn't prevent moving focus even with event.preventDefault() + // so we set a flag to know when we should ignore the blur event + // and check (again) if focus moved off of the input. + this.cancelBlur = true; + this._delay(function() { + delete this.cancelBlur; + checkFocus.call( this ); + }); if ( this._start( event ) === false ) { return; -- cgit v1.2.3