Check stepUp() and stepDown() bahevior for type=date, datetime, datetime-local, month, time, week. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". Date type Invalid value PASS stepUp("", null, null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("", null, null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Non-number arguments PASS stepUp("2010-02-10", null, null, "0") is "2010-02-10" PASS stepDown("2010-02-10", null, null, "0") is "2010-02-10" PASS stepUp("2010-02-10", null, null, "foo") is "2010-02-10" PASS stepDown("2010-02-10", null, null, "foo") is "2010-02-10" PASS stepUp("2010-02-10", null, null, null) is "2010-02-10" PASS stepDown("2010-02-10", null, null, null) is "2010-02-10" Normal cases PASS stepUp("2010-02-10", null, null) is "2010-02-11" PASS stepDown("2010-02-10", null, null) is "2010-02-09" PASS stepUp("2010-02-10", null, null, 10) is "2010-02-20" PASS stepDown("2010-02-10", null, null, 11) is "2010-01-30" PASS stepUp("1970-01-01", "4", null, 2) is "1970-01-09" PASS stepDown("1970-01-01", "4", null, 3) is "1969-12-20" Step=any PASS stepUp("2010-02-10", "any", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("2010-02-10", "any", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Overflow/underflow PASS stepUp("2010-02-10", "1.7976931348623156e+308", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("2010-02-10", "1.7976931348623156e+308", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepUp("2010-02-10", "1", "2010-02-10") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("2010-02-10", "1", "2010-02-10") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Datetime type Invalid value PASS stepUp("", null, null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("", null, null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Non-number arguments PASS stepUp("2010-02-10T20:13Z", null, null, "0") is "2010-02-10T20:13Z" PASS stepDown("2010-02-10T20:13Z", null, null, "0") is "2010-02-10T20:13Z" PASS stepUp("2010-02-10T20:13Z", null, null, "foo") is "2010-02-10T20:13Z" PASS stepDown("2010-02-10T20:13Z", null, null, "foo") is "2010-02-10T20:13Z" PASS stepUp("2010-02-10T20:13Z", null, null, null) is "2010-02-10T20:13Z" PASS stepDown("2010-02-10T20:13Z", null, null, null) is "2010-02-10T20:13Z" Normal cases PASS stepUp("2010-02-10T20:13Z", null, null) is "2010-02-10T20:14Z" PASS stepDown("2010-02-10T20:13Z", null, null) is "2010-02-10T20:12Z" PASS stepUp("2010-02-10T20:13Z", null, null, 10) is "2010-02-10T20:23Z" PASS stepDown("2010-02-10T20:13Z", null, null, 11) is "2010-02-10T20:02Z" PASS stepUp("1970-01-01T20:13Z", "4", null, 2) is "1970-01-01T20:13:08Z" PASS stepDown("1970-01-01T20:13Z", "4", null, 3) is "1970-01-01T20:12:48Z" Step=any PASS stepUp("2010-02-10T20:13Z", "any", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("2010-02-10T20:13Z", "any", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Overflow/underflow PASS stepUp("2010-02-10T20:13Z", "1.7976931348623156e+308", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("2010-02-10T20:13Z", "1.7976931348623156e+308", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepUp("2010-02-10T20:13Z", "1", "2010-02-10T20:13Z") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("2010-02-10T20:13Z", "1", "2010-02-10T20:13Z") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Datetime-local type Invalid value PASS stepUp("", null, null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("", null, null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Non-number arguments PASS stepUp("2010-02-10T20:13", null, null, "0") is "2010-02-10T20:13" PASS stepDown("2010-02-10T20:13", null, null, "0") is "2010-02-10T20:13" PASS stepUp("2010-02-10T20:13", null, null, "foo") is "2010-02-10T20:13" PASS stepDown("2010-02-10T20:13", null, null, "foo") is "2010-02-10T20:13" PASS stepUp("2010-02-10T20:13", null, null, null) is "2010-02-10T20:13" PASS stepDown("2010-02-10T20:13", null, null, null) is "2010-02-10T20:13" Normal cases PASS stepUp("2010-02-10T20:13", null, null) is "2010-02-10T20:14" PASS stepDown("2010-02-10T20:13", null, null) is "2010-02-10T20:12" PASS stepUp("2010-02-10T20:13", null, null, 10) is "2010-02-10T20:23" PASS stepDown("2010-02-10T20:13", null, null, 11) is "2010-02-10T20:02" PASS stepUp("1970-01-01T20:13", "4", null, 2) is "1970-01-01T20:13:08" PASS stepDown("1970-01-01T20:13", "4", null, 3) is "1970-01-01T20:12:48" Step=any PASS stepUp("2010-02-10T20:13", "any", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("2010-02-10T20:13", "any", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Overflow/underflow PASS stepUp("2010-02-10T20:13", "1.7976931348623156e+308", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("2010-02-10T20:13", "1.7976931348623156e+308", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepUp("2010-02-10T20:13", "1", "2010-02-10T20:13") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("2010-02-10T20:13", "1", "2010-02-10T20:13") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Month type Invalid value PASS stepUp("", null, null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("", null, null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Non-number arguments PASS stepUp("2010-02", null, null, "0") is "2010-02" PASS stepDown("2010-02", null, null, "0") is "2010-02" PASS stepUp("2010-02", null, null, "foo") is "2010-02" PASS stepDown("2010-02", null, null, "foo") is "2010-02" PASS stepUp("2010-02", null, null, null) is "2010-02" PASS stepDown("2010-02", null, null, null) is "2010-02" Normal cases PASS stepUp("2010-02", null, null) is "2010-03" PASS stepDown("2010-02", null, null) is "2010-01" PASS stepUp("2010-02", null, null, 10) is "2010-12" PASS stepDown("2010-02", null, null, 11) is "2009-03" PASS stepUp("1970-01", "4", null, 2) is "1970-09" PASS stepDown("1970-01", "4", null, 3) is "1969-01" Step=any PASS stepUp("2010-02", "any", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("2010-02", "any", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Overflow/underflow PASS stepUp("2010-02", "1.7976931348623156e+308", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("2010-02", "1.7976931348623156e+308", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepUp("2010-02", "1", "2010-02") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("2010-02", "1", "2010-02") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Number type Invalid value PASS stepUp("", null, null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("", null, null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Non-number arguments PASS stepUp("0", null, null, "0") is "0" PASS stepDown("0", null, null, "0") is "0" PASS stepUp("0", null, null, "foo") is "0" PASS stepDown("0", null, null, "foo") is "0" PASS stepUp("0", null, null, null) is "0" PASS stepDown("0", null, null, null) is "0" Normal cases PASS stepUp("0", null, null) is "1" PASS stepUp("1", null, null, 2) is "3" PASS stepUp("3", null, null, -1) is "2" PASS stepDown("2", null, null) is "1" PASS stepDown("1", null, null, 2) is "-1" PASS stepDown("-1", null, null, -1) is "0" Extra arguments PASS input.value = "0"; input.min = null; input.step = null; input.stepUp(1, 2); input.value is "1" PASS input.value = "1"; input.stepDown(1, 3); input.value is "0" Invalid step value PASS stepUp("0", "foo", null) is "1" PASS stepUp("1", "0", null) is "2" PASS stepUp("2", "-1", null) is "3" Step=any PASS stepUp("0", "any", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("0", "any", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Overflow/underflow PASS stepDown("1", "1", "0") is "0" PASS stepDown("0", "1", "0") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("1", "1", "0", 2) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS input.value is "1" PASS stepDown("1", "1.7976931348623156e+308", "", 2) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepUp("-1", "1", "0") is "0" PASS stepUp("0", "1", "0") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepUp("-1", "1", "0", 2) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS input.value is "-1" PASS stepUp("1", "1.7976931348623156e+308", "", 2) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. stepDown()/stepUp() for stepMismatch values PASS stepUp("1", "2", "") is "4" PASS input.stepDown(); input.value is "2" PASS input.min = "0"; stepUp("9", "10", "", 9) is "100" PASS stepDown("19", "10", "0") is "10" PASS stepUp("89", "10", "99") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Huge value and small step PASS input.min = ""; stepUp("1e+308", "1", "", 999999) is "1e+308" PASS input.max = ""; stepDown("1e+308", "1", "", 999999) is "1e+308" Fractional numbers PASS input.min = ""; stepUp("0", "0.33333333333333333", "", 3) is "1" PASS stepUp("1", "0.1", "", 10) is "2" PASS input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.value is "3" PASS input.min = "0"; stepUp("0", "0.003921568627450980", "1", 255) is "1" PASS for (var i = 0; i < 255; i++) { input.stepDown(); }; input.value is "0" Range type function arguments are (min, max, step, value, [stepCount]) Using the default values PASS stepUpExplicitBounds(null, null, null, "") is "51" PASS stepDownExplicitBounds(null, null, null, "") is "49" Non-number arguments (stepCount) PASS stepUpExplicitBounds(null, null, null, "0", "0") is "0" PASS stepDownExplicitBounds(null, null, null, "0", "0") is "0" PASS stepUpExplicitBounds(null, null, null, "0", "foo") is "0" PASS stepDownExplicitBounds(null, null, null, "0", "foo") is "0" PASS stepUpExplicitBounds(null, null, null, "0", null) is "0" PASS stepDownExplicitBounds(null, null, null, "0", null) is "0" Normal cases PASS stepUpExplicitBounds(null, null, null, "0") is "1" PASS stepUpExplicitBounds(null, null, null, "1", 2) is "3" PASS stepUpExplicitBounds(null, null, null, "3", -1) is "2" PASS stepDownExplicitBounds("-100", null, null, "2") is "1" PASS stepDownExplicitBounds("-100", null, null, "1", 2) is "-1" PASS stepDownExplicitBounds("-100", null, null, "-1", -1) is "0" Extra arguments PASS setInputAttributes(null, null, null, "0"); input.stepUp(1,2); input.value is "1" PASS setInputAttributes(null, null, null, "1"); input.stepDown(1,3); input.value is "0" Invalid step value PASS stepUpExplicitBounds(null, null, "foo", "0") is "1" PASS stepUpExplicitBounds(null, null, "0", "1") is "2" PASS stepUpExplicitBounds(null, null, "-1", "2") is "3" PASS stepDownExplicitBounds(null, null, "foo", "1") is "0" PASS stepDownExplicitBounds(null, null, "0", "2") is "1" PASS stepDownExplicitBounds(null, null, "-1", "3") is "2" Step=any PASS stepUpExplicitBounds(null, null, "any", "1") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDownExplicitBounds(null, null, "any", "1") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Overflow/underflow PASS stepUpExplicitBounds(null, "100", "1", "99") is "100" PASS stepUpExplicitBounds(null, "100", "1", "100") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS input.value is "100" PASS stepUpExplicitBounds(null, "100", "1", "99", "2") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS input.value is "99" PASS stepDownExplicitBounds("0", null, "1", "1") is "0" PASS stepDownExplicitBounds("0", null, "1", "0") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS input.value is "0" PASS stepDownExplicitBounds("0", null, "1", "1", "2") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS input.value is "1" PASS stepDownExplicitBounds(null, null, "1.7976931348623156e+308", "1", "2") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepUpExplicitBounds(-100, 0, 1, -1) is "0" PASS stepUpExplicitBounds(null, 0, 1, 0) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepUpExplicitBounds(-100, 0, 1, -1, 2) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS input.value is "-1" PASS stepUpExplicitBounds(null, null, "1.7976931348623156e+308", "1", "2") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. stepDown()/stepUp() for stepMismatch values PASS stepUpExplicitBounds(null, null, 2, 1) is "4" PASS input.stepDown(); input.value is "2" PASS stepUpExplicitBounds(0, null, 10, 9, 9) is "100" PASS stepDownExplicitBounds(0, null, 10, 19) is "10" value + step is <= max, but rounded result would be > max. PASS stepUpExplicitBounds(null, 99, 10, 89) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Huge value and small step PASS stepUpExplicitBounds(0, 1e308, 1, 1e308, 999999) is "1e+308" PASS stepDownExplicitBounds(0, 1e308, 1, 1e308, 999999) is "1e+308" Fractional numbers PASS stepUpExplicitBounds(null, null, 0.33333333333333333, 0, 3) is "1" PASS stepUpExplicitBounds(null, null, 0.1, 1) is "1.1" PASS stepUpExplicitBounds(null, null, 0.1, 1, 8) is "1.8" PASS stepUpExplicitBounds(null, null, 0.1, 1, 10) is "2" PASS input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.stepUp(); input.value is "3" PASS stepUpExplicitBounds(0, 1, 0.003921568627450980, 0, 255) is "1" PASS for (var i = 0; i < 255; i++) { input.stepDown(); }; input.value is "0" PASS stepDownExplicitBounds(null, null, 0.1, 1, 8) is "0.2" PASS stepDownExplicitBounds(null, null, 0.1, 1) is "0.9" Time type Invalid value PASS stepUp("", null, null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("", null, null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Non-number arguments PASS stepUp("20:13", null, null, "0") is "20:13" PASS stepDown("20:13", null, null, "0") is "20:13" PASS stepUp("20:13", null, null, "foo") is "20:13" PASS stepDown("20:13", null, null, "foo") is "20:13" PASS stepUp("20:13", null, null, null) is "20:13" PASS stepDown("20:13", null, null, null) is "20:13" Normal cases PASS stepUp("20:13", null, null) is "20:14" PASS stepDown("20:13", null, null) is "20:12" PASS stepUp("20:13", null, null, 10) is "20:23" PASS stepDown("20:13", null, null, 11) is "20:02" PASS stepUp("20:13", "4", null, 2) is "20:13:08" PASS stepDown("20:13", "4", null, 3) is "20:12:48" Step=any PASS stepUp("20:13", "any", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("20:13", "any", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Overflow/underflow PASS stepUp("20:13", "1.7976931348623156e+308", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("20:13", "1.7976931348623156e+308", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepUp("20:13", "1", "20:13") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("20:13", "1", "20:13") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepUp("23:59", null, null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("00:00", null, null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Week type Invalid value PASS stepUp("", null, null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("", null, null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Non-number arguments PASS stepUp("2010-W02", null, null, "0") is "2010-W02" PASS stepDown("2010-W02", null, null, "0") is "2010-W02" PASS stepUp("2010-W02", null, null, "foo") is "2010-W02" PASS stepDown("2010-W02", null, null, "foo") is "2010-W02" PASS stepUp("2010-W02", null, null, null) is "2010-W02" PASS stepDown("2010-W02", null, null, null) is "2010-W02" Normal cases PASS stepUp("2010-W02", null, null) is "2010-W03" PASS stepDown("2010-W02", null, null) is "2010-W01" PASS stepUp("2010-W02", null, null, 10) is "2010-W12" PASS stepDown("2010-W02", null, null, 11) is "2009-W44" PASS stepUp("1970-W01", "4", null, 2) is "1970-W09" PASS stepDown("1970-W01", "4", null, 3) is "1969-W41" Step=any PASS stepUp("2010-W02", "any", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("2010-W02", "any", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Overflow/underflow PASS stepUp("2010-W02", "1.7976931348623156e+308", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("2010-W02", "1.7976931348623156e+308", null) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepUp("2010-W02", "1", "2010-W02") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS stepDown("2010-W02", "1", "2010-W02") threw exception Error: INVALID_STATE_ERR: DOM Exception 11. Unsupported type PASS input.step = "3"; input.min = ""; input.max = ""; input.value = "2"; input.stepDown() threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS input.stepDown(0) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS input.stepUp() threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS input.stepUp(0) threw exception Error: INVALID_STATE_ERR: DOM Exception 11. PASS successfullyParsed is true TEST COMPLETE