blob: 82101d4dbbeb7ff16da8e0c24fcf6203a6506460 [file] [log] [blame]
Tests for .valueAsNumber with <input type=number>.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS valueAsNumberFor("0") is 0
PASS valueAsNumberFor("0.2") is 0.2
PASS valueAsNumberFor(".2") is 0.2
PASS valueAsNumberFor("10") is 10
PASS valueAsNumberFor("01") is 1
PASS valueAsNumberFor("-0") is 0
PASS valueAsNumberFor("-1.2") is -1.2
PASS valueAsNumberFor("1.2E10") is 1.2E10
PASS valueAsNumberFor("1.2E-10") is 1.2E-10
PASS valueAsNumberFor("1.2E+10") is 1.2E10
PASS valueAsNumberFor("123456789012345678901234567890123456789") is 1.2345678901234568E+38
PASS valueAsNumberFor("0.12345678901234567890123456789012345678901234567890") is 0.123456789012345678
valueAsNumber for invalid string values:
PASS isNaN(valueAsNumberFor("")) is true
PASS isNaN(valueAsNumberFor("abc")) is true
PASS isNaN(valueAsNumberFor("0xff")) is true
PASS isNaN(valueAsNumberFor("+1")) is true
PASS isNaN(valueAsNumberFor(" 10")) is true
PASS isNaN(valueAsNumberFor("10 ")) is true
PASS isNaN(valueAsNumberFor(".")) is true
PASS isNaN(valueAsNumberFor("1E")) is true
PASS isNaN(valueAsNumberFor("NaN")) is true
PASS isNaN(valueAsNumberFor("nan")) is true
PASS isNaN(valueAsNumberFor("Inf")) is true
PASS isNaN(valueAsNumberFor("inf")) is true
PASS isNaN(valueAsNumberFor("Infinity")) is true
PASS isNaN(valueAsNumberFor("infinity")) is true
Too huge exponent to support
PASS isNaN(valueAsNumberFor("1.2E65535")) is true
Tests for the valueAsNumber setter:
PASS setValueAsNumberAndGetValue(0) is "0"
PASS setValueAsNumberAndGetValue(10) is "10"
PASS setValueAsNumberAndGetValue(01) is "1"
PASS setValueAsNumberAndGetValue(-0) is "0"
PASS setValueAsNumberAndGetValue(-1.2) is "-1.2"
PASS setValueAsNumberAndGetValue(1.2e10) is "12000000000"
PASS setValueAsNumberAndGetValue(1.2e-10) is "1.2e-10"
PASS setValueAsNumberAndGetValue(1.2345678901234567e+38) is "1.2345678901234567e+38"
PASS setValueAsNumberAndGetValue("-3.40282346e+38") is "-3.40282346e+38"
PASS setValueAsNumberAndGetValue("-3.40282348e+38") threw exception InvalidStateError: The object is in an invalid state..
PASS setValueAsNumberAndGetValue("3.40282346e+38") is "3.40282346e+38"
PASS setValueAsNumberAndGetValue("3.40282348e+38") threw exception InvalidStateError: The object is in an invalid state..
Tests to set invalid values to valueAsNumber:
PASS setValueAsNumberAndGetValue(null) is "0"
PASS setValueAsNumberAndGetValue("foo") threw exception NotSupportedError: The operation is not supported..
PASS setValueAsNumberAndGetValue(NaN) threw exception NotSupportedError: The operation is not supported..
PASS setValueAsNumberAndGetValue(Number.NaN) threw exception NotSupportedError: The operation is not supported..
PASS setValueAsNumberAndGetValue(Infinity) threw exception NotSupportedError: The operation is not supported..
PASS setValueAsNumberAndGetValue(Number.POSITIVE_INFINITY) threw exception NotSupportedError: The operation is not supported..
PASS setValueAsNumberAndGetValue(Number.NEGATIVE_INFINITY) threw exception NotSupportedError: The operation is not supported..
PASS successfullyParsed is true
TEST COMPLETE