/inventoryBrowser/node_modules/jquery-ui/tests/unit/spinner/core.js |
@@ -0,0 +1,259 @@ |
define( [ |
"qunit", |
"jquery", |
"./helper", |
"ui/widgets/spinner" |
], function( QUnit, $, testHelper ) { |
|
var simulateKeyDownUp = testHelper.simulateKeyDownUp; |
|
QUnit.module( "spinner: core" ); |
|
QUnit.test( "markup structure", function( assert ) { |
assert.expect( 6 ); |
var element = $( "#spin" ).spinner(), |
spinner = element.spinner( "widget" ), |
up = spinner.find( ".ui-spinner-up" ), |
down = spinner.find( ".ui-spinner-down" ); |
|
assert.hasClasses( element, "ui-spinner-input" ); |
assert.hasClasses( spinner, "ui-spinner ui-widget ui-widget-content" ); |
assert.hasClasses( up, "ui-spinner-button ui-spinner-up ui-widget" ); |
assert.equal( up.length, 1, "Spinner contains exactly one up button" ); |
assert.hasClasses( down, "ui-spinner-button ui-spinner-down ui-widget" ); |
assert.equal( down.length, 1, "Spinner contains exactly one down button" ); |
} ); |
|
QUnit.test( "keydown UP on input, increases value not greater than max", function( assert ) { |
assert.expect( 5 ); |
var element = $( "#spin" ).val( 70 ).spinner( { |
max: 100, |
step: 10 |
} ); |
|
simulateKeyDownUp( element, $.ui.keyCode.UP ); |
assert.equal( element.val(), 80 ); |
simulateKeyDownUp( element, $.ui.keyCode.UP ); |
assert.equal( element.val(), 90 ); |
simulateKeyDownUp( element, $.ui.keyCode.UP ); |
assert.equal( element.val(), 100 ); |
simulateKeyDownUp( element, $.ui.keyCode.UP ); |
assert.equal( element.val(), 100 ); |
simulateKeyDownUp( element, $.ui.keyCode.UP ); |
assert.equal( element.val(), 100 ); |
} ); |
|
QUnit.test( "keydown DOWN on input, decreases value not less than min", function( assert ) { |
assert.expect( 5 ); |
var element = $( "#spin" ).val( 50 ).spinner( { |
min: 20, |
step: 10 |
} ); |
|
simulateKeyDownUp( element, $.ui.keyCode.DOWN ); |
assert.equal( element.val(), 40 ); |
simulateKeyDownUp( element, $.ui.keyCode.DOWN ); |
assert.equal( element.val(), 30 ); |
simulateKeyDownUp( element, $.ui.keyCode.DOWN ); |
assert.equal( element.val(), 20 ); |
simulateKeyDownUp( element, $.ui.keyCode.DOWN ); |
assert.equal( element.val(), 20 ); |
simulateKeyDownUp( element, $.ui.keyCode.DOWN ); |
assert.equal( element.val(), 20 ); |
} ); |
|
QUnit.test( "keydown PAGE_UP on input, increases value not greater than max", function( assert ) { |
assert.expect( 5 ); |
var element = $( "#spin" ).val( 70 ).spinner( { |
max: 100, |
page: 10 |
} ); |
|
simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); |
assert.equal( element.val(), 80 ); |
simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); |
assert.equal( element.val(), 90 ); |
simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); |
assert.equal( element.val(), 100 ); |
simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); |
assert.equal( element.val(), 100 ); |
simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); |
assert.equal( element.val(), 100 ); |
} ); |
|
QUnit.test( "keydown PAGE_DOWN on input, decreases value not less than min", function( assert ) { |
assert.expect( 5 ); |
var element = $( "#spin" ).val( 50 ).spinner( { |
min: 20, |
page: 10 |
} ); |
|
simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); |
assert.equal( element.val(), 40 ); |
simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); |
assert.equal( element.val(), 30 ); |
simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); |
assert.equal( element.val(), 20 ); |
simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); |
assert.equal( element.val(), 20 ); |
simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); |
assert.equal( element.val(), 20 ); |
} ); |
|
QUnit.test( "blur input while spinning with UP", function( assert ) { |
var ready = assert.async(); |
assert.expect( 3 ); |
var value, |
element = $( "#spin" ).val( 10 ).spinner(); |
|
function step1() { |
element.simulate( "keydown", { keyCode: $.ui.keyCode.UP } ); |
assert.equal( element.val(), 11 ); |
setTimeout( step2, 750 ); |
} |
|
function step2() { |
value = element.val(); |
assert.ok( value > 11, "repeating while key is down" ); |
|
element.on( "blur", function() { |
value = element.val(); |
setTimeout( step3, 750 ); |
} )[ 0 ].blur(); |
} |
|
function step3() { |
assert.equal( element.val(), value, "stopped repeating on blur" ); |
ready(); |
} |
|
element[ 0 ].focus(); |
setTimeout( step1 ); |
} ); |
|
QUnit.test( "mouse click on up button, increases value not greater than max", function( assert ) { |
assert.expect( 3 ); |
var element = $( "#spin" ).val( 18 ).spinner( { |
max: 20 |
} ), |
button = element.spinner( "widget" ).find( ".ui-spinner-up" ); |
|
button.trigger( "mousedown" ).trigger( "mouseup" ); |
assert.equal( element.val(), 19 ); |
button.trigger( "mousedown" ).trigger( "mouseup" ); |
assert.equal( element.val(), 20 ); |
button.trigger( "mousedown" ).trigger( "mouseup" ); |
assert.equal( element.val(), 20 ); |
} ); |
|
QUnit.test( "mouse click on up button, increases value not greater than max", function( assert ) { |
assert.expect( 3 ); |
var element = $( "#spin" ).val( 2 ).spinner( { |
min: 0 |
} ), |
button = element.spinner( "widget" ).find( ".ui-spinner-down" ); |
|
button.trigger( "mousedown" ).trigger( "mouseup" ); |
assert.equal( element.val(), 1 ); |
button.trigger( "mousedown" ).trigger( "mouseup" ); |
assert.equal( element.val(), 0 ); |
button.trigger( "mousedown" ).trigger( "mouseup" ); |
assert.equal( element.val(), 0 ); |
} ); |
|
QUnit.test( "mousewheel on input", function( assert ) { |
assert.expect( 4 ); |
|
var element = $( "#spin" ).val( 0 ).spinner( { |
step: 2 |
} ); |
|
element.trigger( "mousewheel" ); |
assert.equal( element.val(), 0, "mousewheel event without delta does not change value" ); |
|
element.trigger( "mousewheel", 1 ); |
assert.equal( element.val(), 2 ); |
|
element.trigger( "mousewheel", -0.2 ); |
assert.equal( element.val(), 0 ); |
|
element.trigger( "mousewheel", -15 ); |
assert.equal( element.val(), -2 ); |
} ); |
|
QUnit.test( "reading HTML5 attributes", function( assert ) { |
assert.expect( 6 ); |
var markup = "<input type='number' min='-100' max='100' value='5' step='2'>", |
element = $( markup ).spinner(); |
assert.equal( element.spinner( "option", "min" ), -100, "min from markup" ); |
assert.equal( element.spinner( "option", "max" ), 100, "max from markup" ); |
assert.equal( element.spinner( "option", "step" ), 2, "step from markup" ); |
|
element = $( markup ).spinner( { |
min: -200, |
max: 200, |
step: 5 |
} ); |
assert.equal( element.spinner( "option", "min" ), -200, "min from options" ); |
assert.equal( element.spinner( "option", "max" ), 200, "max from options" ); |
assert.equal( element.spinner( "option", "step" ), 5, "stop from options" ); |
} ); |
|
QUnit.test( "ARIA attributes", function( assert ) { |
assert.expect( 9 ); |
var element = $( "#spin" ).val( 2 ).spinner( { min: -5, max: 5 } ); |
|
assert.equal( element.attr( "role" ), "spinbutton", "role" ); |
assert.equal( element.attr( "aria-valuemin" ), "-5", "aria-valuemin" ); |
assert.equal( element.attr( "aria-valuemax" ), "5", "aria-valuemax" ); |
assert.equal( element.attr( "aria-valuenow" ), "2", "aria-valuenow" ); |
|
element.spinner( "stepUp" ); |
|
assert.equal( element.attr( "aria-valuenow" ), "3", "stepUp 1 step changes aria-valuenow" ); |
|
element.spinner( "option", { min: -10, max: 10 } ); |
|
assert.equal( element.attr( "aria-valuemin" ), "-10", "min option changed aria-valuemin changes" ); |
assert.equal( element.attr( "aria-valuemax" ), "10", "max option changed aria-valuemax changes" ); |
|
element.spinner( "option", "min", null ); |
assert.equal( element.attr( "aria-valuemin" ), undefined, "aria-valuemin not set when no min" ); |
|
element.spinner( "option", "max", null ); |
assert.equal( element.attr( "aria-valuemax" ), undefined, "aria-valuemax not set when no max" ); |
} ); |
|
QUnit.test( "focus text field when pressing button", function( assert ) { |
assert.expect( 2 ); |
var element = $( "#spin" ).spinner(); |
$( "body" ).trigger( "focus" ); |
assert.ok( element[ 0 ] !== document.activeElement, "not focused before" ); |
element.spinner( "widget" ).find( ".ui-spinner-up" ).trigger( "mousedown" ); |
assert.ok( element[ 0 ] === document.activeElement, "focused after" ); |
} ); |
|
QUnit.test( "don't clear invalid value on blur", function( assert ) { |
assert.expect( 1 ); |
var element = $( "#spin" ).spinner(); |
element.trigger( "focus" ).val( "a" ).trigger( "blur" ); |
assert.equal( element.val(), "a" ); |
} ); |
|
QUnit.test( "precision", function( assert ) { |
assert.expect( 2 ); |
var element = $( "#spin" ).val( 0.05 ).spinner( { |
step: 0.0001 |
} ); |
element.spinner( "stepUp" ); |
assert.equal( element.val(), "0.0501", "precision from step" ); |
|
element.val( 1.05 ).spinner( "option", { |
step: 1, |
min: -9.95 |
} ); |
element.spinner( "stepDown" ); |
assert.equal( element.val(), "0.05", "precision from min" ); |
} ); |
|
} ); |
/inventoryBrowser/node_modules/jquery-ui/tests/unit/spinner/events.js |
@@ -0,0 +1,265 @@ |
define( [ |
"qunit", |
"jquery", |
"./helper", |
"ui/widgets/spinner" |
], function( QUnit, $, testHelper ) { |
|
var simulateKeyDownUp = testHelper.simulateKeyDownUp; |
|
QUnit.module( "spinner: events" ); |
|
QUnit.test( "start", function( assert ) { |
assert.expect( 10 ); |
var element = $( "#spin" ).spinner(); |
|
function shouldStart( expectation, msg ) { |
element.spinner( "option", "start", function() { |
assert.ok( expectation, msg ); |
} ); |
} |
|
shouldStart( true, "key UP" ); |
simulateKeyDownUp( element, $.ui.keyCode.UP ); |
shouldStart( true, "key DOWN" ); |
simulateKeyDownUp( element, $.ui.keyCode.DOWN ); |
|
shouldStart( true, "key PAGE_UP" ); |
simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); |
shouldStart( true, "key PAGE_DOWN" ); |
simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); |
|
shouldStart( true, "button up" ); |
element.spinner( "widget" ).find( ".ui-spinner-up" ).trigger( "mousedown" ).trigger( "mouseup" ); |
shouldStart( true, "button down" ); |
element.spinner( "widget" ).find( ".ui-spinner-down" ).trigger( "mousedown" ).trigger( "mouseup" ); |
|
shouldStart( true, "stepUp" ); |
element.spinner( "stepUp" ); |
shouldStart( true, "stepDown" ); |
element.spinner( "stepDown" ); |
|
shouldStart( true, "pageUp" ); |
element.spinner( "pageUp" ); |
shouldStart( true, "pageDown" ); |
element.spinner( "pageDown" ); |
|
shouldStart( false, "value" ); |
element.spinner( "value", 999 ); |
} ); |
|
QUnit.test( "spin", function( assert ) { |
assert.expect( 10 ); |
var element = $( "#spin" ).spinner(); |
|
function shouldSpin( expectation, msg ) { |
element.spinner( "option", "spin", function() { |
assert.ok( expectation, msg ); |
} ); |
} |
|
shouldSpin( true, "key UP" ); |
simulateKeyDownUp( element, $.ui.keyCode.UP ); |
shouldSpin( true, "key DOWN" ); |
simulateKeyDownUp( element, $.ui.keyCode.DOWN ); |
|
shouldSpin( true, "key PAGE_UP" ); |
simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); |
shouldSpin( true, "key PAGE_DOWN" ); |
simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); |
|
shouldSpin( true, "button up" ); |
element.spinner( "widget" ).find( ".ui-spinner-up" ).trigger( "mousedown" ).trigger( "mouseup" ); |
shouldSpin( true, "button down" ); |
element.spinner( "widget" ).find( ".ui-spinner-down" ).trigger( "mousedown" ).trigger( "mouseup" ); |
|
shouldSpin( true, "stepUp" ); |
element.spinner( "stepUp" ); |
shouldSpin( true, "stepDown" ); |
element.spinner( "stepDown" ); |
|
shouldSpin( true, "pageUp" ); |
element.spinner( "pageUp" ); |
shouldSpin( true, "pageDown" ); |
element.spinner( "pageDown" ); |
|
shouldSpin( false, "value" ); |
element.spinner( "value", 999 ); |
} ); |
|
QUnit.test( "stop", function( assert ) { |
assert.expect( 10 ); |
var element = $( "#spin" ).spinner(); |
|
function shouldStop( expectation, msg ) { |
element.spinner( "option", "stop", function() { |
assert.ok( expectation, msg ); |
} ); |
} |
|
shouldStop( true, "key UP" ); |
simulateKeyDownUp( element, $.ui.keyCode.UP ); |
shouldStop( true, "key DOWN" ); |
simulateKeyDownUp( element, $.ui.keyCode.DOWN ); |
|
shouldStop( true, "key PAGE_UP" ); |
simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); |
shouldStop( true, "key PAGE_DOWN" ); |
simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); |
|
shouldStop( true, "button up" ); |
element.spinner( "widget" ).find( ".ui-spinner-up" ).trigger( "mousedown" ).trigger( "mouseup" ); |
shouldStop( true, "button down" ); |
element.spinner( "widget" ).find( ".ui-spinner-down" ).trigger( "mousedown" ).trigger( "mouseup" ); |
|
shouldStop( true, "stepUp" ); |
element.spinner( "stepUp" ); |
shouldStop( true, "stepDown" ); |
element.spinner( "stepDown" ); |
|
shouldStop( true, "pageUp" ); |
element.spinner( "pageUp" ); |
shouldStop( true, "pageDown" ); |
element.spinner( "pageDown" ); |
|
shouldStop( false, "value" ); |
element.spinner( "value", 999 ); |
} ); |
|
QUnit.test( "change", function( assert ) { |
var ready = assert.async(); |
assert.expect( 12 ); |
var element = $( "#spin" ).spinner(); |
|
function shouldChange( expectation, msg ) { |
element.spinner( "option", "change", function() { |
assert.ok( expectation, msg ); |
} ); |
} |
|
function focusWrap( fn, next ) { |
element[ 0 ].focus(); |
setTimeout( function() { |
fn(); |
setTimeout( function() { |
element[ 0 ].blur(); |
setTimeout( next ); |
} ); |
} ); |
} |
|
function step1() { |
focusWrap( function() { |
shouldChange( false, "key UP, before blur" ); |
simulateKeyDownUp( element, $.ui.keyCode.UP ); |
shouldChange( true, "blur after key UP" ); |
}, step2 ); |
} |
|
function step2() { |
focusWrap( function() { |
shouldChange( false, "key DOWN, before blur" ); |
simulateKeyDownUp( element, $.ui.keyCode.DOWN ); |
shouldChange( true, "blur after key DOWN" ); |
}, step3 ); |
} |
|
function step3() { |
focusWrap( function() { |
shouldChange( false, "key PAGE_UP, before blur" ); |
simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); |
shouldChange( true, "blur after key PAGE_UP" ); |
}, step4 ); |
} |
|
function step4() { |
focusWrap( function() { |
shouldChange( false, "key PAGE_DOWN, before blur" ); |
simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); |
shouldChange( true, "blur after key PAGE_DOWN" ); |
}, step5 ); |
} |
|
function step5() { |
focusWrap( function() { |
shouldChange( false, "many keys, before blur" ); |
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" ); |
}, step6 ); |
} |
|
function step6() { |
focusWrap( function() { |
shouldChange( false, "many keys, same final value, before blur" ); |
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" ); |
element.spinner( "widget" ).find( ".ui-spinner-up" ).trigger( "mousedown" ).trigger( "mouseup" ); |
shouldChange( true, "blur after button up" ); |
}, step7 ); |
} |
|
function step7() { |
focusWrap( function() { |
shouldChange( false, "button down, before blur" ); |
element.spinner( "widget" ).find( ".ui-spinner-down" ).trigger( "mousedown" ).trigger( "mouseup" ); |
shouldChange( true, "blur after button down" ); |
}, step8 ); |
} |
|
function step8() { |
focusWrap( function() { |
shouldChange( false, "many buttons, same final value, before blur" ); |
element.spinner( "widget" ).find( ".ui-spinner-up" ).trigger( "mousedown" ).trigger( "mouseup" ); |
element.spinner( "widget" ).find( ".ui-spinner-up" ).trigger( "mousedown" ).trigger( "mouseup" ); |
element.spinner( "widget" ).find( ".ui-spinner-down" ).trigger( "mousedown" ).trigger( "mouseup" ); |
element.spinner( "widget" ).find( ".ui-spinner-down" ).trigger( "mousedown" ).trigger( "mouseup" ); |
shouldChange( false, "blur after many buttons, same final value" ); |
}, step9 ); |
} |
|
function step9() { |
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( false, "max, value not changed" ); |
element.spinner( "option", "max", 900 ); |
|
shouldChange( false, "max, value not changed" ); |
element.spinner( "option", "max", 1000 ); |
|
shouldChange( false, "min, value not changed" ); |
element.spinner( "option", "min", 950 ); |
|
shouldChange( false, "min, value not changed" ); |
element.spinner( "option", "min", 200 ); |
ready(); |
} |
|
setTimeout( step1 ); |
} ); |
|
} ); |
/inventoryBrowser/node_modules/jquery-ui/tests/unit/spinner/methods.js |
@@ -0,0 +1,212 @@ |
define( [ |
"qunit", |
"jquery", |
"./helper", |
"ui/widgets/spinner" |
], function( QUnit, $, testHelper ) { |
|
var simulateKeyDownUp = testHelper.simulateKeyDownUp; |
|
QUnit.module( "spinner: methods" ); |
|
QUnit.test( "destroy", function( assert ) { |
assert.expect( 1 ); |
assert.domEqual( "#spin", function() { |
$( "#spin" ).spinner().spinner( "destroy" ); |
} ); |
} ); |
|
QUnit.test( "disable", function( assert ) { |
assert.expect( 15 ); |
var element = $( "#spin" ).val( 2 ).spinner(), |
wrapper = $( "#spin" ).spinner( "widget" ); |
|
assert.lacksClasses( wrapper, "ui-spinner-disabled" ); |
assert.ok( !element.is( ":disabled" ), "before: input does not have disabled attribute" ); |
|
element.spinner( "disable" ); |
assert.hasClasses( wrapper, "ui-state-disabled ui-spinner-disabled" ); |
assert.ok( !wrapper.attr( "aria-disabled" ), "after: wrapper does not have aria-disabled attr" ); |
assert.ok( element.is( ":disabled" ), "after: input has disabled attribute" ); |
|
simulateKeyDownUp( element, $.ui.keyCode.UP ); |
assert.equal( 2, element.val(), "keyboard - value does not change on key UP" ); |
|
simulateKeyDownUp( element, $.ui.keyCode.DOWN ); |
assert.equal( 2, element.val(), "keyboard - value does not change on key DOWN" ); |
|
simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); |
assert.equal( 2, element.val(), "keyboard - value does not change on key PGUP" ); |
|
simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); |
assert.equal( 2, element.val(), "keyboard - value does not change on key PGDN" ); |
|
wrapper.find( ".ui-spinner-up" ).trigger( "mousedown" ).trigger( "mouseup" ); |
assert.equal( 2, element.val(), "mouse - value does not change on clicking up button" ); |
|
wrapper.find( ".ui-spinner-down" ).trigger( "mousedown" ).trigger( "mouseup" ); |
assert.equal( 2, element.val(), "mouse - value does not change on clicking down button" ); |
|
element.spinner( "stepUp", 6 ); |
assert.equal( 8, element.val(), "script - stepUp 6 steps changes value" ); |
|
element.spinner( "stepDown" ); |
assert.equal( 7, element.val(), "script - stepDown 1 step changes value" ); |
|
element.spinner( "pageUp" ); |
assert.equal( 17, element.val(), "script - pageUp 1 page changes value" ); |
|
element.spinner( "pageDown" ); |
assert.equal( 7, element.val(), "script - pageDown 1 page changes value" ); |
} ); |
|
QUnit.test( "enable", function( assert ) { |
assert.expect( 5 ); |
var element = $( "#spin" ).val( 1 ).spinner( { disabled: true } ), |
wrapper = element.spinner( "widget" ); |
|
assert.hasClasses( wrapper, "ui-spinner-disabled" ); |
assert.ok( element.is( ":disabled" ), "before: input has disabled attribute" ); |
|
element.spinner( "enable" ); |
|
assert.lacksClasses( wrapper, "ui-spinner-disabled" ); |
assert.ok( !element.is( ":disabled" ), "after: input does not have disabled attribute" ); |
|
simulateKeyDownUp( element, $.ui.keyCode.UP ); |
assert.equal( 2, element.val(), "keyboard - value changes on key UP" ); |
} ); |
|
QUnit.test( "isValid", function( assert ) { |
assert.expect( 8 ); |
var element = $( "#spin" ).spinner( { |
min: 0, |
max: 10, |
step: 2 |
} ), |
spinner = element.spinner( "instance" ); |
assert.ok( !spinner.isValid(), "initial state is invalid" ); |
|
element.val( "this is not a number" ); |
assert.ok( !spinner.isValid(), "text string is not valid" ); |
|
element.val( "0" ); |
assert.ok( spinner.isValid(), "min value is valid" ); |
|
element.val( "10" ); |
assert.ok( spinner.isValid(), "max value is valid" ); |
|
element.val( "4" ); |
assert.ok( spinner.isValid(), "inbetween step is valid" ); |
|
element.val( "-1" ); |
assert.ok( !spinner.isValid(), "below min is invalid" ); |
|
element.val( "11" ); |
assert.ok( !spinner.isValid(), "above max is invalid" ); |
|
element.val( "1" ); |
assert.ok( !spinner.isValid(), "step mismatch is invalid" ); |
} ); |
|
QUnit.test( "pageDown", function( assert ) { |
assert.expect( 4 ); |
var element = $( "#spin" ).val( -12 ).spinner( { |
page: 20, |
min: -100 |
} ); |
|
element.spinner( "pageDown" ); |
assert.equal( element.val(), -32, "pageDown 1 page" ); |
|
element.spinner( "pageDown", 3 ); |
assert.equal( element.val(), -92, "pageDown 3 pages" ); |
|
element.spinner( "pageDown" ); |
assert.equal( element.val(), -100, "value close to min and pageDown 1 page" ); |
|
element.spinner( "pageDown", 10 ); |
assert.equal( element.val(), -100, "value at min and pageDown 10 pages" ); |
} ); |
|
QUnit.test( "pageUp", function( assert ) { |
assert.expect( 4 ); |
var element = $( "#spin" ).val( 12 ).spinner( { |
page: 20, |
max: 100 |
} ); |
|
element.spinner( "pageUp" ); |
assert.equal( element.val(), 32, "pageUp 1 page" ); |
|
element.spinner( "pageUp", 3 ); |
assert.equal( element.val(), 92, "pageUp 3 pages" ); |
|
element.spinner( "pageUp" ); |
assert.equal( element.val(), 100, "value close to max and pageUp 1 page" ); |
|
element.spinner( "pageUp", 10 ); |
assert.equal( element.val(), 100, "value at max and pageUp 10 pages" ); |
} ); |
|
QUnit.test( "stepDown", function( assert ) { |
assert.expect( 4 ); |
var element = $( "#spin" ).val( 0 ).spinner( { |
step: 2, |
min: -15 |
} ); |
|
element.spinner( "stepDown" ); |
assert.equal( element.val(), "-1", "stepDown 1 step" ); |
|
element.spinner( "stepDown", 5 ); |
assert.equal( element.val(), "-11", "stepDown 5 steps" ); |
|
element.spinner( "stepDown", 4 ); |
assert.equal( element.val(), "-15", "close to min and stepDown 4 steps" ); |
|
element.spinner( "stepDown" ); |
assert.equal( element.val(), "-15", "at min and stepDown 1 step" ); |
} ); |
|
QUnit.test( "stepUp", function( assert ) { |
assert.expect( 4 ); |
var element = $( "#spin" ).val( 0 ).spinner( { |
step: 2, |
max: 16 |
} ); |
|
element.spinner( "stepUp" ); |
assert.equal( element.val(), 2, "stepUp 1 step" ); |
|
element.spinner( "stepUp", 5 ); |
assert.equal( element.val(), 12, "stepUp 5 steps" ); |
|
element.spinner( "stepUp", 4 ); |
assert.equal( element.val(), 16, "close to max and stepUp 4 steps" ); |
|
element.spinner( "stepUp" ); |
assert.equal( element.val(), 16, "at max and stepUp 1 step" ); |
} ); |
|
QUnit.test( "value", function( assert ) { |
assert.expect( 2 ); |
var element = $( "#spin" ).val( 0 ).spinner( { |
step: 3 |
} ); |
|
element.spinner( "value", 10 ); |
assert.equal( element.val(), 9, "change value via value method" ); |
|
assert.equal( element.spinner( "value" ), 9, "get value via value method" ); |
} ); |
|
QUnit.test( "widget", function( assert ) { |
assert.expect( 2 ); |
var element = $( "#spin" ).spinner(), |
widgetElement = element.spinner( "widget" ); |
assert.equal( widgetElement.length, 1, "one element" ); |
assert.strictEqual( widgetElement[ 0 ], element.parent()[ 0 ], "parent element" ); |
} ); |
|
} ); |
/inventoryBrowser/node_modules/jquery-ui/tests/unit/spinner/options.js |
@@ -0,0 +1,272 @@ |
define( [ |
"qunit", |
"jquery", |
"ui/widgets/spinner", |
"globalize", |
"globalize/ja-JP" |
], function( QUnit, $ ) { |
|
QUnit.module( "spinner: options" ); |
|
// Culture is tested after numberFormat, since it depends on numberFormat |
|
QUnit.test( "icons: default ", function( assert ) { |
assert.expect( 4 ); |
var element = $( "#spin" ).val( 0 ).spinner(); |
assert.hasClasses( element.spinner( "widget" ).find( ".ui-icon:first" ), |
"ui-icon ui-icon-triangle-1-n" ); |
assert.hasClasses( element.spinner( "widget" ).find( ".ui-icon:last" ), |
"ui-icon ui-icon-triangle-1-s" ); |
|
element.spinner( "option", "icons", { |
up: "ui-icon-caret-1-n", |
down: "ui-icon-caret-1-s" |
} ); |
assert.hasClasses( element.spinner( "widget" ).find( ".ui-icon:first" ), |
"ui-icon ui-icon-caret-1-n" ); |
assert.hasClasses( element.spinner( "widget" ).find( ".ui-icon:last" ), |
"ui-icon ui-icon-caret-1-s" ); |
} ); |
|
QUnit.test( "icons: custom ", function( assert ) { |
assert.expect( 2 ); |
var element = $( "#spin" ).val( 0 ).spinner( { |
icons: { |
down: "custom-down", |
up: "custom-up" |
} |
} ).spinner( "widget" ); |
assert.hasClasses( element.find( ".ui-icon:first" ), "ui-icon custom-up" ); |
assert.hasClasses( element.find( ".ui-icon:last" ), "ui-icon custom-down" ); |
} ); |
|
QUnit.test( "incremental, false", function( assert ) { |
assert.expect( 100 ); |
|
var i, |
prev = 0, |
element = $( "#spin" ).val( prev ).spinner( { |
incremental: false, |
spin: function( event, ui ) { |
assert.equal( ui.value - prev, 1 ); |
prev = ui.value; |
} |
} ); |
|
for ( i = 0; i < 100; i++ ) { |
element.simulate( "keydown", { keyCode: $.ui.keyCode.UP } ); |
} |
element.simulate( "keyup", { keyCode: $.ui.keyCode.UP } ); |
} ); |
|
QUnit.test( "incremental, true", function( assert ) { |
assert.expect( 100 ); |
|
function fill( num, val ) { |
return $.map( new Array( num ), function() { |
return val; |
} ); |
} |
|
var i, |
prev = 0, |
expected = [].concat( fill( 18, 1 ), fill( 37, 2 ), fill( 14, 3 ), |
fill( 9, 4 ), fill( 6, 5 ), fill( 5, 6 ), fill( 5, 7 ), |
fill( 4, 8 ), fill( 2, 9 ) ), |
element = $( "#spin" ).val( prev ).spinner( { |
incremental: true, |
spin: function( event, ui ) { |
assert.equal( ui.value - prev, expected[ i ] ); |
prev = ui.value; |
} |
} ); |
|
for ( i = 0; i < 100; i++ ) { |
element.simulate( "keydown", { keyCode: $.ui.keyCode.UP } ); |
} |
element.simulate( "keyup", { keyCode: $.ui.keyCode.UP } ); |
} ); |
|
QUnit.test( "incremental, function", function( assert ) { |
assert.expect( 100 ); |
|
var i, |
prev = 0, |
element = $( "#spin" ).val( prev ).spinner( { |
incremental: function( i ) { |
return i; |
}, |
spin: function( event, ui ) { |
assert.equal( ui.value - prev, i + 1 ); |
prev = ui.value; |
} |
} ); |
|
for ( i = 0; i < 100; i++ ) { |
element.simulate( "keydown", { keyCode: $.ui.keyCode.UP } ); |
} |
element.simulate( "keyup", { keyCode: $.ui.keyCode.UP } ); |
} ); |
|
QUnit.test( "numberFormat, number", function( assert ) { |
assert.expect( 2 ); |
var element = $( "#spin" ).val( 0 ).spinner( { numberFormat: "n" } ); |
assert.equal( element.val(), "0.00", "formatted on init" ); |
element.spinner( "stepUp" ); |
assert.equal( element.val(), "1.00", "formatted after step" ); |
} ); |
|
QUnit.test( "numberFormat, number, simple", function( assert ) { |
assert.expect( 2 ); |
var element = $( "#spin" ).val( 0 ).spinner( { numberFormat: "n0" } ); |
assert.equal( element.val(), "0", "formatted on init" ); |
element.spinner( "stepUp" ); |
assert.equal( element.val(), "1", "formatted after step" ); |
} ); |
|
QUnit.test( "numberFormat, currency", function( assert ) { |
assert.expect( 2 ); |
var element = $( "#spin" ).val( 0 ).spinner( { numberFormat: "C" } ); |
assert.equal( element.val(), "$0.00", "formatted on init" ); |
element.spinner( "stepUp" ); |
assert.equal( element.val(), "$1.00", "formatted after step" ); |
} ); |
|
QUnit.test( "numberFormat, change", function( assert ) { |
assert.expect( 2 ); |
var element = $( "#spin" ).val( 5 ).spinner( { numberFormat: "n1" } ); |
assert.equal( element.val(), "5.0", "formatted on init" ); |
element.spinner( "option", "numberFormat", "c" ); |
assert.equal( element.val(), "$5.00", "formatted after change" ); |
} ); |
|
QUnit.test( "culture, null", function( assert ) { |
assert.expect( 2 ); |
Globalize.culture( "ja-JP" ); |
var element = $( "#spin" ).val( 0 ).spinner( { numberFormat: "C" } ); |
assert.equal( element.val(), "¥0", "formatted on init" ); |
element.spinner( "stepUp" ); |
assert.equal( element.val(), "¥1", "formatted after step" ); |
|
// Reset culture |
Globalize.culture( "default" ); |
} ); |
|
QUnit.test( "currency, ja-JP", function( assert ) { |
assert.expect( 2 ); |
var element = $( "#spin" ).val( 0 ).spinner( { |
numberFormat: "C", |
culture: "ja-JP" |
} ); |
assert.equal( element.val(), "¥0", "formatted on init" ); |
element.spinner( "stepUp" ); |
assert.equal( element.val(), "¥1", "formatted after step" ); |
} ); |
|
QUnit.test( "currency, change", function( assert ) { |
assert.expect( 2 ); |
var element = $( "#spin" ).val( 5 ).spinner( { |
numberFormat: "C", |
culture: "ja-JP" |
} ); |
assert.equal( element.val(), "¥5", "formatted on init" ); |
element.spinner( "option", "culture", "en" ); |
assert.equal( element.val(), "$5.00", "formatted after change" ); |
} ); |
|
QUnit.test( "max", function( assert ) { |
assert.expect( 3 ); |
var element = $( "#spin" ).val( 1000 ).spinner( { max: 100 } ); |
assert.equal( element.val(), 1000, "value not constrained on init" ); |
|
element.spinner( "value", 1000 ); |
assert.equal( element.val(), 100, "max constrained in value method" ); |
|
element.val( 1000 ).trigger( "blur" ); |
assert.equal( element.val(), 1000, "max not constrained if manual entry" ); |
} ); |
|
QUnit.test( "max, string", function( assert ) { |
assert.expect( 3 ); |
var element = $( "#spin" ) |
.val( 1000 ) |
.spinner( { |
max: "$100.00", |
numberFormat: "C", |
culture: "en" |
} ); |
assert.equal( element.val(), "$1,000.00", "value not constrained on init" ); |
assert.equal( element.spinner( "option", "max" ), 100, "option converted to number" ); |
|
element.spinner( "value", 1000 ); |
assert.equal( element.val(), "$100.00", "max constrained in value method" ); |
} ); |
|
QUnit.test( "min", function( assert ) { |
assert.expect( 3 ); |
var element = $( "#spin" ).val( -1000 ).spinner( { min: -100 } ); |
assert.equal( element.val(), -1000, "value not constrained on init" ); |
|
element.spinner( "value", -1000 ); |
assert.equal( element.val(), -100, "min constrained in value method" ); |
|
element.val( -1000 ).trigger( "blur" ); |
assert.equal( element.val(), -1000, "min not constrained if manual entry" ); |
} ); |
|
QUnit.test( "min, string", function( assert ) { |
assert.expect( 3 ); |
var element = $( "#spin" ) |
.val( -1000 ) |
.spinner( { |
min: "-$100.00", |
numberFormat: "C", |
culture: "en" |
} ); |
assert.equal( element.val(), "($1,000.00)", "value not constrained on init" ); |
assert.equal( element.spinner( "option", "min" ), -100, "option converted to number" ); |
|
element.spinner( "value", -1000 ); |
assert.equal( element.val(), "($100.00)", "min constrained in value method" ); |
} ); |
|
QUnit.test( "step, 2", function( assert ) { |
assert.expect( 3 ); |
var element = $( "#spin" ).val( 0 ).spinner( { step: 2 } ); |
|
element.spinner( "stepUp" ); |
assert.equal( element.val(), "2", "stepUp" ); |
|
element.spinner( "value", "10.5" ); |
assert.equal( element.val(), "10", "value reset to 10" ); |
|
element.val( "4.5" ); |
element.spinner( "stepUp" ); |
assert.equal( element.val(), "6", "stepUp" ); |
} ); |
|
QUnit.test( "step, 0.7", function( assert ) { |
assert.expect( 1 ); |
var element = $( "#spin" ).val( 0 ).spinner( { |
step: 0.7 |
} ); |
|
element.spinner( "stepUp" ); |
assert.equal( element.val(), "0.7", "stepUp" ); |
} ); |
|
QUnit.test( "step, string", function( assert ) { |
assert.expect( 2 ); |
var element = $( "#spin" ).val( 0 ).spinner( { |
step: "$0.70", |
numberFormat: "C", |
culture: "en" |
} ); |
|
assert.equal( element.spinner( "option", "step" ), 0.7, "option converted to number" ); |
|
element.spinner( "stepUp" ); |
assert.equal( element.val(), "$0.70", "stepUp" ); |
} ); |
|
} ); |