equal( 2, element.val(), "keyboard - value changes on key UP" );
});
+test( "isValid", function() {
+ expect( 8 );
+ var element = $( "#spin" ).spinner({
+ min: 0,
+ max: 10,
+ step: 2
+ }),
+ spinner = element.spinner( "instance" );
+ ok( !spinner.isValid(), "initial state is invalid" );
+
+ element.val( "this is not a number" );
+ ok( !spinner.isValid(), "text string is not valid" );
+
+ element.val( "0" );
+ ok( spinner.isValid(), "min value is valid" );
+
+ element.val( "10" );
+ ok( spinner.isValid(), "max value is valid" );
+
+ element.val( "4" );
+ ok( spinner.isValid(), "inbetween step is valid" );
+
+ element.val( "-1" );
+ ok( !spinner.isValid(), "below min is invalid" );
+
+ element.val( "11" );
+ ok( !spinner.isValid(), "above max is invalid" );
+
+ element.val( "1" );
+ ok( !spinner.isValid(), "step mismatch is invalid" );
+});
+
test( "pageDown", function() {
expect( 4 );
var element = $( "#spin" ).val( -12 ).spinner({
});
},
+ isValid: function() {
+ var value = this.value();
+
+ // null is invalid
+ if ( value === null ) {
+ return false;
+ }
+
+ // if value gets adjusted, it's invalid
+ return value === this._adjustValue( value );
+ },
+
// update the value without triggering change
_value: function( value, allowAny ) {
var parsed;