diff --git a/tests/unit/spinner/spinner.html b/tests/unit/spinner/spinner.html index 59185a441..8afa5fab8 100644 --- a/tests/unit/spinner/spinner.html +++ b/tests/unit/spinner/spinner.html @@ -1,45 +1,45 @@ - - - - - jQuery UI Spinner Test Suite - - - - - - - - - - - - - - - - - - - - - - - - - - - -

jQuery UI Spinner Test Suite

-

-
-

-
    -
    - - - - -
    - - + + + + + jQuery UI Spinner Test Suite + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    jQuery UI Spinner Test Suite

    +

    +
    +

    +
      +
      + + + + +
      + + diff --git a/tests/unit/spinner/spinner_core.js b/tests/unit/spinner/spinner_core.js index b05a6630f..dc8a44d88 100644 --- a/tests/unit/spinner/spinner_core.js +++ b/tests/unit/spinner/spinner_core.js @@ -1,151 +1,151 @@ -(function( $ ) { - -module( "spinner: core" ); - -// TODO: move to spinner_methods -test( "destroy", function() { - expect( 1 ); - // TODO: is this cheat still needed? - // cheat a bit to get IE6 to pass - $( "#spin" ).val( 0 ); - domEqual( "#spin", function() { - $( "#spin" ).spinner().spinner( "destroy" ); - }); -}); - -test( "keydown UP on input, increases value not greater than max", function() { - expect( 5 ); - var element = $( "#spin" ).spinner({ - max: 100, - value: 70, - step: 10 - }); - - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); - equals( element.val(), 80 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); - equals( element.val(), 90 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); - equals( element.val(), 100 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); - equals( element.val(), 100 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); - equals( element.val(), 100 ); -}); - -test( "keydown DOWN on input, decreases value not less than min", function() { - expect( 5 ); - var element = $( "#spin" ).spinner({ - min: 20, - value: 50, - step: 10 - }); - - spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); - equals( element.val(), 40 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); - equals( element.val(), 30 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); - equals( element.val(), 20 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); - equals( element.val(), 20 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); - equals( element.val(), 20 ); -}); - -test( "keydown PGUP on input, increases value not greater than max", function() { - expect( 5 ); - var element = $( "#spin" ).spinner({ - max: 100, - value: 70, - page: 10 - }); - - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); - equals( element.val(), 80 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); - equals( element.val(), 90 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); - equals( element.val(), 100 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); - equals( element.val(), 100 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); - equals( element.val(), 100 ); -}); - -test( "keydown PGDN on input, decreases value not less than min", function() { - expect( 5 ); - var element = $( "#spin" ).spinner({ - min: 20, - value: 50, - page: 10 - }); - - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); - equals( element.val(), 40 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); - equals( element.val(), 30 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); - equals( element.val(), 20 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); - equals( element.val(), 20 ); - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); - equals( element.val(), 20 ); -}); - -test( "mouse click on buttons", function() { - expect( 2 ); - var element = $( "#spin" ).spinner(), - val = 0; - - $( ".ui-spinner-up" ).trigger( "mousedown" ).trigger( "mouseup" ); - equals( element.val(), ++val, "mouse click on up" ); - - $( ".ui-spinner-down" ).trigger( "mousedown" ).trigger( "mouseup" ); - equals( element.val(), --val, "mouse click on down"); -}); - -test( "mouse wheel on input", function() { - expect( 4 ); - - var element = $( "#spin" ).spinner(); - equal( element.val(), 0 ); - element.trigger( "mousewheel", 1 ); - equal( element.val(), 1 ); - - element.trigger( "mousewheel", -1 ); - equal( element.val(), 0 ); - - element.trigger( "mousewheel", -1 ); - equal(element.val(), -1 ); -}); - -test( "reading HTML5 attributes", function() { - expect( 4 ); - var element = $( "" ).spinner(); - equals( element.spinner( "option", "value" ), 5, "value" ); - equals( element.spinner( "option", "max" ), 100, "max" ); - equals( element.spinner( "option", "min" ), -100, "min" ); - equals( element.spinner( "option", "step" ), 2, "step" ); -}); - -test( "ARIA attributes", function() { - expect( 7 ); - var element = $( "#spin" ).spinner({ min: -5, max: 5, value: 2 }); - - equals( element.attr( "role" ), "spinbutton", "role" ); - equals( element.attr( "aria-valuemin" ), -5, "aria-valuemin" ); - equals( element.attr( "aria-valuemax" ), 5, "aria-valuemax" ); - equals( element.attr( "aria-valuenow" ), 2, "aria-valuenow" ); - - element.spinner( "stepUp" ); - - equals( element.attr( "aria-valuenow" ), 3, "stepUp 1 step changes aria-valuenow" ); - - element.spinner( "option", { min: -10, max: 10 } ); - - equals( element.attr( "aria-valuemin" ), -10, "min option changed aria-valuemin changes" ); - equals( element.attr( "aria-valuemax" ), 10, "max option changed aria-valuemax changes" ); -}); - -})( jQuery ); +(function( $ ) { + +module( "spinner: core" ); + +// TODO: move to spinner_methods +test( "destroy", function() { + expect( 1 ); + // TODO: is this cheat still needed? + // cheat a bit to get IE6 to pass + $( "#spin" ).val( 0 ); + domEqual( "#spin", function() { + $( "#spin" ).spinner().spinner( "destroy" ); + }); +}); + +test( "keydown UP on input, increases value not greater than max", function() { + expect( 5 ); + var element = $( "#spin" ).spinner({ + max: 100, + value: 70, + step: 10 + }); + + spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); + equals( element.val(), 80 ); + spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); + equals( element.val(), 90 ); + spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); + equals( element.val(), 100 ); + spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); + equals( element.val(), 100 ); + spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); + equals( element.val(), 100 ); +}); + +test( "keydown DOWN on input, decreases value not less than min", function() { + expect( 5 ); + var element = $( "#spin" ).spinner({ + min: 20, + value: 50, + step: 10 + }); + + spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); + equals( element.val(), 40 ); + spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); + equals( element.val(), 30 ); + spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); + equals( element.val(), 20 ); + spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); + equals( element.val(), 20 ); + spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); + equals( element.val(), 20 ); +}); + +test( "keydown PGUP on input, increases value not greater than max", function() { + expect( 5 ); + var element = $( "#spin" ).spinner({ + max: 100, + value: 70, + page: 10 + }); + + spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); + equals( element.val(), 80 ); + spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); + equals( element.val(), 90 ); + spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); + equals( element.val(), 100 ); + spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); + equals( element.val(), 100 ); + spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); + equals( element.val(), 100 ); +}); + +test( "keydown PGDN on input, decreases value not less than min", function() { + expect( 5 ); + var element = $( "#spin" ).spinner({ + min: 20, + value: 50, + page: 10 + }); + + spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); + equals( element.val(), 40 ); + spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); + equals( element.val(), 30 ); + spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); + equals( element.val(), 20 ); + spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); + equals( element.val(), 20 ); + spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); + equals( element.val(), 20 ); +}); + +test( "mouse click on buttons", function() { + expect( 2 ); + var element = $( "#spin" ).spinner(), + val = 0; + + $( ".ui-spinner-up" ).trigger( "mousedown" ).trigger( "mouseup" ); + equals( element.val(), ++val, "mouse click on up" ); + + $( ".ui-spinner-down" ).trigger( "mousedown" ).trigger( "mouseup" ); + equals( element.val(), --val, "mouse click on down"); +}); + +test( "mouse wheel on input", function() { + expect( 4 ); + + var element = $( "#spin" ).spinner(); + equal( element.val(), 0 ); + element.trigger( "mousewheel", 1 ); + equal( element.val(), 1 ); + + element.trigger( "mousewheel", -1 ); + equal( element.val(), 0 ); + + element.trigger( "mousewheel", -1 ); + equal(element.val(), -1 ); +}); + +test( "reading HTML5 attributes", function() { + expect( 4 ); + var element = $( "" ).spinner(); + equals( element.spinner( "option", "value" ), 5, "value" ); + equals( element.spinner( "option", "max" ), 100, "max" ); + equals( element.spinner( "option", "min" ), -100, "min" ); + equals( element.spinner( "option", "step" ), 2, "step" ); +}); + +test( "ARIA attributes", function() { + expect( 7 ); + var element = $( "#spin" ).spinner({ min: -5, max: 5, value: 2 }); + + equals( element.attr( "role" ), "spinbutton", "role" ); + equals( element.attr( "aria-valuemin" ), -5, "aria-valuemin" ); + equals( element.attr( "aria-valuemax" ), 5, "aria-valuemax" ); + equals( element.attr( "aria-valuenow" ), 2, "aria-valuenow" ); + + element.spinner( "stepUp" ); + + equals( element.attr( "aria-valuenow" ), 3, "stepUp 1 step changes aria-valuenow" ); + + element.spinner( "option", { min: -10, max: 10 } ); + + equals( element.attr( "aria-valuemin" ), -10, "min option changed aria-valuemin changes" ); + equals( element.attr( "aria-valuemax" ), 10, "max option changed aria-valuemax changes" ); +}); + +})( jQuery ); diff --git a/tests/unit/spinner/spinner_defaults.js b/tests/unit/spinner/spinner_defaults.js index c4e9c7b6f..3a6287618 100644 --- a/tests/unit/spinner/spinner_defaults.js +++ b/tests/unit/spinner/spinner_defaults.js @@ -1,19 +1,19 @@ -commonWidgetTests( "spinner", { - defaults: { - disabled: false, - incremental: true, - max: Number.MAX_VALUE, - min: -Number.MAX_VALUE, - numberFormat: null, - page: 10, - step: 1, - value: null, - - // callbacks - change: null, - create: null, - spin: null, - start: null, - stop: null - } -}); +commonWidgetTests( "spinner", { + defaults: { + disabled: false, + incremental: true, + max: Number.MAX_VALUE, + min: -Number.MAX_VALUE, + numberFormat: null, + page: 10, + step: 1, + value: null, + + // callbacks + change: null, + create: null, + spin: null, + start: null, + stop: null + } +}); diff --git a/tests/unit/spinner/spinner_events.js b/tests/unit/spinner/spinner_events.js index 66735028a..98292b055 100644 --- a/tests/unit/spinner/spinner_events.js +++ b/tests/unit/spinner/spinner_events.js @@ -1,50 +1,50 @@ -(function( $ ) { - -module( "spinner: events" ); - -test( "start", function() { - expect( 1 ); - var element = $( "#spin" ).spinner({ - start: function() { - ok( true, "start" ); - } - }); - - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); -}); - -test( "spin", function() { - expect( 1 ); - var element = $( "#spin" ).spinner({ - spin: function(){ - ok( true, "spin" ); - } - }); - - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); -}); - -test( "stop", function() { - expect( 1 ); - var element = $( "#spin" ).spinner({ - stop: function(){ - ok( true, "stop" ); - } - }); - - spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); -}); - -test( "change", function() { - expect( 1 ); - var element = $( "#spin" ).spinner({ - change: function(){ - ok( true, "change" ); - } - }); - - spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); - element.blur(); -}); - -})( jQuery ); +(function( $ ) { + +module( "spinner: events" ); + +test( "start", function() { + expect( 1 ); + var element = $( "#spin" ).spinner({ + start: function() { + ok( true, "start" ); + } + }); + + spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); +}); + +test( "spin", function() { + expect( 1 ); + var element = $( "#spin" ).spinner({ + spin: function(){ + ok( true, "spin" ); + } + }); + + spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); +}); + +test( "stop", function() { + expect( 1 ); + var element = $( "#spin" ).spinner({ + stop: function(){ + ok( true, "stop" ); + } + }); + + spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); +}); + +test( "change", function() { + expect( 1 ); + var element = $( "#spin" ).spinner({ + change: function(){ + ok( true, "change" ); + } + }); + + spinner_simulateKeyDownUp( element, $.ui.keyCode.UP ); + element.blur(); +}); + +})( jQuery ); diff --git a/tests/unit/spinner/spinner_methods.js b/tests/unit/spinner/spinner_methods.js index 4839844c9..e12432a76 100644 --- a/tests/unit/spinner/spinner_methods.js +++ b/tests/unit/spinner/spinner_methods.js @@ -1,159 +1,159 @@ -(function( $ ) { - -module( "spinner: methods" ); - -test( "disable", function() { - expect( 14 ); - var element = $( "#spin" ).spinner({ value: 2 }), - wrapper = $( "#spin" ).spinner( "widget" ); - - ok( !wrapper.hasClass( "ui-spinner-disabled" ), "before: wrapper does not have ui-spinner-disabled class" ); - ok( !element.is( ":disabled" ), "before: input does not have disabled attribute" ); - - element.spinner( "disable" ); - 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 ); - equals( 2, element.val(), "keyboard - value does not change on key UP" ); - - spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); - equals( 2, element.val(), "keyboard - value does not change on key DOWN" ); - - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); - equals( 2, element.val(), "keyboard - value does not change on key PGUP" ); - - spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); - equals( 2, element.val(), "keyboard - value does not change on key PGDN" ); - - wrapper.find( ".ui-spinner-up" ).trigger( "mousedown" ).trigger( "mouseup" ); - equals( 2, element.val(), "mouse - value does not change on clicking up button" ); - - wrapper.find( ".ui-spinner-down" ).trigger( "mousedown" ).trigger( "mouseup" ); - equals( 2, element.val(), "mouse - value does not change on clicking down button" ); - - element.spinner( "stepUp", 6 ); - equals( 8, element.val(), "script - stepUp 6 steps changes value"); - - element.spinner( "stepDown" ); - equals( 7, element.val(), "script - stepDown 1 step changes value" ); - - element.spinner( "pageUp" ); - equals( 17, element.val(), "script - pageUp 1 page changes value" ); - - element.spinner( "pageDown" ); - equals( 7, element.val(), "script - pageDown 1 page changes value" ); -}); - -test( "enable", function() { - expect( 5 ); - var element = $( "#spin" ).spinner({ disabled: true }) - wrapper = element.spinner( "widget" ); - - ok( wrapper.hasClass( "ui-spinner-disabled" ), "before: wrapper has ui-spinner-disabled class" ); - ok( element.is( ":disabled" ), "before: input has disabled attribute" ); - - element.spinner( "enable" ); - - 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 ); - equals( 1, element.val(), "keyboard - value does not change on key UP" ); -}); - -test( "pageDown", function() { - expect( 4 ); - var element = $( "#spin" ).spinner({ - page: 20, - value: -12, - min: -100 - }); - - element.spinner( "pageDown" ); - equals( element.val(), -32, "pageDown 1 page" ); - - element.spinner( "pageDown", 3 ); - equals( element.val(), -92, "pageDown 3 pages" ); - - element.spinner( "pageDown" ); - equals( element.val(), -100, "value close to min and pageDown 1 page" ); - - element.spinner( "pageDown", 10 ); - equals( element.val(), -100, "value at min and pageDown 10 pages" ); -}); - -test( "pageUp", function() { - expect( 4 ); - var element = $( "#spin" ).spinner({ - page: 20, - value: 12, - max: 100 - }); - - element.spinner( "pageUp" ); - equals( element.val(), 32, "pageUp 1 page" ); - - element.spinner( "pageUp", 3 ); - equals( element.val(), 92, "pageUp 3 pages" ); - - element.spinner( "pageUp" ); - equals( element.val(), 100, "value close to max and pageUp 1 page" ); - - element.spinner( "pageUp", 10 ); - equals( element.val(), 100, "value at max and pageUp 10 pages" ); -}); - -test( "stepDown", function() { - expect( 4 ); - var element = $( "#spin" ).spinner({ - step: 2, - value: 0, - min: -15 - }); - - element.spinner( "stepDown" ); - equals( element.val(), -2, "stepDown 1 step" ); - - element.spinner( "stepDown", 5 ); - equals( element.val(), -12, "stepDown 5 steps" ); - - element.spinner( "stepDown", 4 ); - equals( element.val(), -15, "close to min and stepDown 4 steps" ); - - element.spinner( "stepDown" ); - equals( element.val(), -15, "at min and stepDown 1 step" ); -}); - -test( "stepUp", function() { - expect( 4 ); - var element = $( "#spin" ).spinner({ - step: 2, - value: 0, - max: 15 - }); - - element.spinner( "stepUp" ); - equals( element.val(), 2, "stepUp 1 step" ); - - element.spinner( "stepUp", 5 ); - equals( element.val(), 12, "stepUp 5 steps" ); - - element.spinner( "stepUp", 4 ); - equals( element.val(), 15, "close to min and stepUp 4 steps" ); - - element.spinner( "stepUp" ); - equals( element.val(), 15, "at max and stepUp 1 step" ); -}); - -test( "value", function() { - expect( 2 ); - var element = $( "#spin" ).spinner({ value: 0 }); - - element.spinner( "value", 10 ); - equals( element.val(), 10, "change value via value method" ); - - equals( element.spinner( "value" ), 10, "get value via value method" ); -}); - -})( jQuery ); +(function( $ ) { + +module( "spinner: methods" ); + +test( "disable", function() { + expect( 14 ); + var element = $( "#spin" ).spinner({ value: 2 }), + wrapper = $( "#spin" ).spinner( "widget" ); + + ok( !wrapper.hasClass( "ui-spinner-disabled" ), "before: wrapper does not have ui-spinner-disabled class" ); + ok( !element.is( ":disabled" ), "before: input does not have disabled attribute" ); + + element.spinner( "disable" ); + 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 ); + equals( 2, element.val(), "keyboard - value does not change on key UP" ); + + spinner_simulateKeyDownUp( element, $.ui.keyCode.DOWN ); + equals( 2, element.val(), "keyboard - value does not change on key DOWN" ); + + spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); + equals( 2, element.val(), "keyboard - value does not change on key PGUP" ); + + spinner_simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); + equals( 2, element.val(), "keyboard - value does not change on key PGDN" ); + + wrapper.find( ".ui-spinner-up" ).trigger( "mousedown" ).trigger( "mouseup" ); + equals( 2, element.val(), "mouse - value does not change on clicking up button" ); + + wrapper.find( ".ui-spinner-down" ).trigger( "mousedown" ).trigger( "mouseup" ); + equals( 2, element.val(), "mouse - value does not change on clicking down button" ); + + element.spinner( "stepUp", 6 ); + equals( 8, element.val(), "script - stepUp 6 steps changes value"); + + element.spinner( "stepDown" ); + equals( 7, element.val(), "script - stepDown 1 step changes value" ); + + element.spinner( "pageUp" ); + equals( 17, element.val(), "script - pageUp 1 page changes value" ); + + element.spinner( "pageDown" ); + equals( 7, element.val(), "script - pageDown 1 page changes value" ); +}); + +test( "enable", function() { + expect( 5 ); + var element = $( "#spin" ).spinner({ disabled: true }) + wrapper = element.spinner( "widget" ); + + ok( wrapper.hasClass( "ui-spinner-disabled" ), "before: wrapper has ui-spinner-disabled class" ); + ok( element.is( ":disabled" ), "before: input has disabled attribute" ); + + element.spinner( "enable" ); + + 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 ); + equals( 1, element.val(), "keyboard - value does not change on key UP" ); +}); + +test( "pageDown", function() { + expect( 4 ); + var element = $( "#spin" ).spinner({ + page: 20, + value: -12, + min: -100 + }); + + element.spinner( "pageDown" ); + equals( element.val(), -32, "pageDown 1 page" ); + + element.spinner( "pageDown", 3 ); + equals( element.val(), -92, "pageDown 3 pages" ); + + element.spinner( "pageDown" ); + equals( element.val(), -100, "value close to min and pageDown 1 page" ); + + element.spinner( "pageDown", 10 ); + equals( element.val(), -100, "value at min and pageDown 10 pages" ); +}); + +test( "pageUp", function() { + expect( 4 ); + var element = $( "#spin" ).spinner({ + page: 20, + value: 12, + max: 100 + }); + + element.spinner( "pageUp" ); + equals( element.val(), 32, "pageUp 1 page" ); + + element.spinner( "pageUp", 3 ); + equals( element.val(), 92, "pageUp 3 pages" ); + + element.spinner( "pageUp" ); + equals( element.val(), 100, "value close to max and pageUp 1 page" ); + + element.spinner( "pageUp", 10 ); + equals( element.val(), 100, "value at max and pageUp 10 pages" ); +}); + +test( "stepDown", function() { + expect( 4 ); + var element = $( "#spin" ).spinner({ + step: 2, + value: 0, + min: -15 + }); + + element.spinner( "stepDown" ); + equals( element.val(), -2, "stepDown 1 step" ); + + element.spinner( "stepDown", 5 ); + equals( element.val(), -12, "stepDown 5 steps" ); + + element.spinner( "stepDown", 4 ); + equals( element.val(), -15, "close to min and stepDown 4 steps" ); + + element.spinner( "stepDown" ); + equals( element.val(), -15, "at min and stepDown 1 step" ); +}); + +test( "stepUp", function() { + expect( 4 ); + var element = $( "#spin" ).spinner({ + step: 2, + value: 0, + max: 15 + }); + + element.spinner( "stepUp" ); + equals( element.val(), 2, "stepUp 1 step" ); + + element.spinner( "stepUp", 5 ); + equals( element.val(), 12, "stepUp 5 steps" ); + + element.spinner( "stepUp", 4 ); + equals( element.val(), 15, "close to min and stepUp 4 steps" ); + + element.spinner( "stepUp" ); + equals( element.val(), 15, "at max and stepUp 1 step" ); +}); + +test( "value", function() { + expect( 2 ); + var element = $( "#spin" ).spinner({ value: 0 }); + + element.spinner( "value", 10 ); + equals( element.val(), 10, "change value via value method" ); + + equals( element.spinner( "value" ), 10, "get value via value method" ); +}); + +})( jQuery ); diff --git a/tests/unit/spinner/spinner_options.js b/tests/unit/spinner/spinner_options.js index 33a7c1978..30155e755 100644 --- a/tests/unit/spinner/spinner_options.js +++ b/tests/unit/spinner/spinner_options.js @@ -1,122 +1,122 @@ -(function( $ ) { - -module( "spinner: options" ); - -test( "numberFormat, number", function() { - expect( 1 ); - var element = $( "#spin" ).spinner({ - value: "1", - numberFormat: "n" - }); - equal( element.val(), "1.00", "n" ); -}); - -test( "numberFormat, number, simple", function() { - expect( 1 ); - var element = $( "#spin" ).spinner({ - value: "1", - numberFormat: "n0" - }); - equal( element.val(), "1", "n0" ); -}); - -test( "numberFormat, currency", function() { - expect( 1 ); - var element = $( "#spin" ).spinner({ - value: "1", - numberFormat: "C" - }); - equal( element.val(), "$1.00", "C" ); -}); - -/* TODO figure out how to test this properly -test("incremental - false (default)", function() { - var el = $("#spin").spinner({ incremental:false }); - - for ( var i = 1 ; i<=120 ; i++ ) { - el.simulate("keydown",{keyCode:$.ui.keyCode.UP}); - } - el.simulate("keyup",{keyCode:$.ui.keyCode.UP}); - - equals(el.val(), 120, "incremental false - keydown 120 times"); - - for ( var i = 1 ; i<=210 ; i++ ) { - el.simulate("keydown",{keyCode:$.ui.keyCode.DOWN}); - } - el.simulate("keyup",{keyCode:$.ui.keyCode.DOWN}); - - equals(el.val(), -90, "incremental false - keydown 210 times"); -}); - -test("incremental - true (default)", function() { - var el = $("#spin").spinner(); - - for ( var i = 1 ; i<=120 ; i++ ) { - el.simulate("keydown",{keyCode:$.ui.keyCode.UP}); - } - el.simulate("keyup",{keyCode:$.ui.keyCode.UP}); - - equals(el.val(), 300, "incremental true - keydown 120 times (100+20*10)"); - - for ( var i = 1 ; i<=210 ; i++ ) { - el.simulate("keydown",{keyCode:$.ui.keyCode.DOWN}); - } - el.simulate("keyup",{keyCode:$.ui.keyCode.DOWN}); - - equals(el.val(), -1800, "incremental true - keydown 210 times (300-100-100*10-10*100)"); -}); -*/ - -test( "max", function() { - expect( 3 ); - var element = $( "#spin" ).spinner({ max: 100, value: 1000 }); - equals( element.val(), 100, "max constrained if value option is greater" ); - - element.spinner( "value", 1000 ); - equals( element.val(), 100, "max constrained if value method is greater" ); - - element.val( 1000 ).blur(); - equals( element.val(), 100, "max constrained if manual entry" ); -}); - -test( "min", function() { - expect( 3 ); - var element = $( "#spin" ).spinner({ min: -100, value: -1000 }); - equals( element.val(), -100, "min constrained if value option is greater" ); - - element.spinner( "value", -1000 ); - equals( element.val(), -100, "min constrained if value method is greater" ); - - element.val( -1000 ).blur(); - equals( element.val(), -100, "min constrained if manual entry" ); -}); - -test( "step, 2", function() { - expect( 4 ); - var element = $( "#spin" ).spinner({ step: 2 }); - equals( element.val(), "0", "value initialized to 0" ); - - element.spinner( "stepUp" ); - equals( element.val(), "2", "stepUp" ); - - element.spinner( "value", "10.5" ); - equals( element.val(), "10.5", "value reset to 10.5" ); - - element.spinner( "stepUp" ); - equals( element.val(), "12.5", "stepUp" ); -}); - -test( "step, 0.7", function() { - expect( 2 ); - var element = $("#spin").spinner({ - step: 0.7 - }); - equals( element.val(), "0", "value initialized to 0" ); - - element.spinner( "stepUp" ); - equals( element.val(), "0.7", "stepUp" ); -}); - -// TODO: test value - -})( jQuery ); +(function( $ ) { + +module( "spinner: options" ); + +test( "numberFormat, number", function() { + expect( 1 ); + var element = $( "#spin" ).spinner({ + value: "1", + numberFormat: "n" + }); + equal( element.val(), "1.00", "n" ); +}); + +test( "numberFormat, number, simple", function() { + expect( 1 ); + var element = $( "#spin" ).spinner({ + value: "1", + numberFormat: "n0" + }); + equal( element.val(), "1", "n0" ); +}); + +test( "numberFormat, currency", function() { + expect( 1 ); + var element = $( "#spin" ).spinner({ + value: "1", + numberFormat: "C" + }); + equal( element.val(), "$1.00", "C" ); +}); + +/* TODO figure out how to test this properly +test("incremental - false (default)", function() { + var el = $("#spin").spinner({ incremental:false }); + + for ( var i = 1 ; i<=120 ; i++ ) { + el.simulate("keydown",{keyCode:$.ui.keyCode.UP}); + } + el.simulate("keyup",{keyCode:$.ui.keyCode.UP}); + + equals(el.val(), 120, "incremental false - keydown 120 times"); + + for ( var i = 1 ; i<=210 ; i++ ) { + el.simulate("keydown",{keyCode:$.ui.keyCode.DOWN}); + } + el.simulate("keyup",{keyCode:$.ui.keyCode.DOWN}); + + equals(el.val(), -90, "incremental false - keydown 210 times"); +}); + +test("incremental - true (default)", function() { + var el = $("#spin").spinner(); + + for ( var i = 1 ; i<=120 ; i++ ) { + el.simulate("keydown",{keyCode:$.ui.keyCode.UP}); + } + el.simulate("keyup",{keyCode:$.ui.keyCode.UP}); + + equals(el.val(), 300, "incremental true - keydown 120 times (100+20*10)"); + + for ( var i = 1 ; i<=210 ; i++ ) { + el.simulate("keydown",{keyCode:$.ui.keyCode.DOWN}); + } + el.simulate("keyup",{keyCode:$.ui.keyCode.DOWN}); + + equals(el.val(), -1800, "incremental true - keydown 210 times (300-100-100*10-10*100)"); +}); +*/ + +test( "max", function() { + expect( 3 ); + var element = $( "#spin" ).spinner({ max: 100, value: 1000 }); + equals( element.val(), 100, "max constrained if value option is greater" ); + + element.spinner( "value", 1000 ); + equals( element.val(), 100, "max constrained if value method is greater" ); + + element.val( 1000 ).blur(); + equals( element.val(), 100, "max constrained if manual entry" ); +}); + +test( "min", function() { + expect( 3 ); + var element = $( "#spin" ).spinner({ min: -100, value: -1000 }); + equals( element.val(), -100, "min constrained if value option is greater" ); + + element.spinner( "value", -1000 ); + equals( element.val(), -100, "min constrained if value method is greater" ); + + element.val( -1000 ).blur(); + equals( element.val(), -100, "min constrained if manual entry" ); +}); + +test( "step, 2", function() { + expect( 4 ); + var element = $( "#spin" ).spinner({ step: 2 }); + equals( element.val(), "0", "value initialized to 0" ); + + element.spinner( "stepUp" ); + equals( element.val(), "2", "stepUp" ); + + element.spinner( "value", "10.5" ); + equals( element.val(), "10.5", "value reset to 10.5" ); + + element.spinner( "stepUp" ); + equals( element.val(), "12.5", "stepUp" ); +}); + +test( "step, 0.7", function() { + expect( 2 ); + var element = $("#spin").spinner({ + step: 0.7 + }); + equals( element.val(), "0", "value initialized to 0" ); + + element.spinner( "stepUp" ); + equals( element.val(), "0.7", "stepUp" ); +}); + +// TODO: test value + +})( jQuery );