| Check stepping-up and -down for number input from renderer. |
| |
| On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
| |
| |
| Number type |
| Function arguments are (value, step, {min or max}, [stepCount]). |
| Invalid value |
| PASS stepUp("", null, null) is "1" |
| PASS stepDown("", null, null) is "-1" |
| PASS stepUp("", "any", null) is "1" |
| PASS stepDown("", "any", null) is "-1" |
| PASS stepUp("", "foo", null) is "1" |
| PASS stepDown("", "foo", null) is "-1" |
| PASS stepUp("foo", null, null) is "1" |
| PASS stepDown("foo", null, null) is "-1" |
| PASS stepUp("foo", "any", null) is "1" |
| PASS stepDown("foo", "any", null) is "-1" |
| PASS stepUp("foo", "foo", null) is "1" |
| PASS stepDown("foo", "foo", null) is "-1" |
| 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" |
| 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) is "1" |
| PASS stepDown("0", "any", null) is "-1" |
| Step=any corner case |
| PASS stepUpExplicitBounds("0", "100", "any", "1.5", "1") is "2.5" |
| PASS stepDownExplicitBounds("0", "100", "any", "1.5", "1") is "0.5" |
| Overflow/underflow |
| PASS stepDown("1", "1", "0") is "0" |
| PASS stepDown("0", "1", "0") is "0" |
| PASS stepDown("1", "1", "0", 2) is "0" |
| PASS stepDown("1", "3.40282346e+38", "", 2) is "-3.40282346e+38" |
| PASS stepUp("-1", "1", "0") is "0" |
| PASS stepUp("0", "1", "0") is "0" |
| PASS stepUp("-1", "1", "0", 2) is "0" |
| PASS stepUp("1", "3.40282346e+38", "", 2) is "3.40282346e+38" |
| stepDown()/stepUp() for stepMismatch values |
| PASS stepUp("1", "2", "") is "2" |
| PASS input.min = "0"; stepUp("9", "10", "") is "10" |
| PASS stepDown("19", "10", "0") is "10" |
| PASS stepUp("89", "10", "99") is "90" |
| PASS stepUp("7", "300", "") is "300" |
| PASS stepUp("-7", "300", "") is "0" |
| PASS stepDown("7", "300", "") is "0" |
| PASS stepDown("-7", "300", "") is "-300" |
| Huge value and small step |
| PASS input.min = ""; stepUp("1e+38", "1", "", 999) is "1e+38" |
| PASS input.max = ""; stepDown("1e+38", "1", "", 999) is "1e+38" |
| Fractional numbers |
| PASS input.min = ""; stepUp("0", "0.33333333333333333", "", 3) is "1" |
| PASS stepUp("1", "0.1", "", 10) is "2" |
| PASS input.min = "0"; stepUp("0", "0.003921568627450980", "1", 255) is "1" |
| Rounding |
| PASS stepUp("5.005", "0.005", "", 2) is "5.015" |
| PASS stepUp("5.005", "0.005", "", 11) is "5.06" |
| PASS stepUp("5.005", "0.005", "", 12) is "5.065" |
| PASS stepUpExplicitBounds("4", "9", "0.005", "5.005", 2) is "5.015" |
| PASS stepUpExplicitBounds("4", "9", "0.005", "5.005", 11) is "5.06" |
| PASS stepUpExplicitBounds("4", "9", "0.005", "5.005", 12) is "5.065" |
| PASS stepUpExplicitBounds(-4, 4, 1, "") is "1" |
| PASS stepDownExplicitBounds(-4, 4, 1, "") is "-1" |
| PASS stepDownExplicitBounds(0, 4, 1, "") is "0" |
| PASS stepUpExplicitBounds(-4, 0, 1, "") is "0" |
| PASS stepDownExplicitBounds(1, 4, 1, "") is "1" |
| PASS stepUpExplicitBounds(1, 4, 1, "") is "1" |
| PASS stepDownExplicitBounds(-4, -1, 1, "") is "-1" |
| PASS stepUpExplicitBounds(-4, -1, 1, "") is "-1" |
| PASS stepUpExplicitBounds(-100, null, 3, "") is "2" |
| PASS stepDownExplicitBounds(-100, null, 3, "") is "-1" |
| PASS stepUpExplicitBounds(1, 4, 1, 0) is "1" |
| PASS stepDownExplicitBounds(1, 4, 1, 0) is "0" |
| PASS stepDownExplicitBounds(-4, -1, 1, 0) is "-1" |
| PASS stepUpExplicitBounds(-4, -1, 1, 0) is "0" |
| PASS stepUpExplicitBounds(-100, null, 3, 3) is "5" |
| PASS stepDownExplicitBounds(-100, null, 3, 3) is "2" |
| |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |