blob: 28f0c9af49da3c0300cd445c75845e7c88a1003e [file] [log] [blame]
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