Fixed reading "true" as a float (issue #516)

This commit is contained in:
Benoit Blanchon
2017-06-03 16:22:26 +02:00
parent 98413089f6
commit bff77abe6a
6 changed files with 26 additions and 8 deletions

View File

@ -23,11 +23,12 @@ TEST_CASE("parseInteger<int8_t>()") {
check<int8_t>("127", 127);
check<int8_t>("+127", 127);
check<int8_t>("3.14", 3);
// check<int8_t>(" 42", 0);
check<int8_t>("x42", 0);
check<int8_t>("128", -128);
check<int8_t>("-129", 127);
check<int8_t>(NULL, 0);
check<int8_t>("true", 1);
check<int8_t>("false", 0);
}
TEST_CASE("parseInteger<int16_t>()") {
@ -35,11 +36,12 @@ TEST_CASE("parseInteger<int16_t>()") {
check<int16_t>("32767", 32767);
check<int16_t>("+32767", 32767);
check<int16_t>("3.14", 3);
// check<int16_t>(" 42", 0);
check<int16_t>("x42", 0);
check<int16_t>("-32769", 32767);
check<int16_t>("32768", -32768);
check<int16_t>(NULL, 0);
check<int16_t>("true", 1);
check<int16_t>("false", 0);
}
TEST_CASE("parseInteger<int32_t>()") {
@ -47,10 +49,11 @@ TEST_CASE("parseInteger<int32_t>()") {
check<int32_t>("2147483647", 2147483647);
check<int32_t>("+2147483647", 2147483647);
check<int32_t>("3.14", 3);
// check<int32_t>(" 42", 0);
check<int32_t>("x42", 0);
check<int32_t>("-2147483649", 2147483647);
check<int32_t>("2147483648", (-2147483647 - 1));
check<int32_t>("true", 1);
check<int32_t>("false", 0);
}
TEST_CASE("parseInteger<uint8_t>()") {
@ -58,10 +61,11 @@ TEST_CASE("parseInteger<uint8_t>()") {
check<uint8_t>("255", 255);
check<uint8_t>("+255", 255);
check<uint8_t>("3.14", 3);
// check<uint8_t>(" 42", 0);
check<uint8_t>("x42", 0);
check<uint8_t>("-1", 255);
check<uint8_t>("256", 0);
check<uint8_t>("true", 1);
check<uint8_t>("false", 0);
}
TEST_CASE("parseInteger<uint16_t>()") {
@ -73,4 +77,6 @@ TEST_CASE("parseInteger<uint16_t>()") {
check<uint16_t>("x42", 0);
check<uint16_t>("-1", 65535);
check<uint16_t>("65536", 0);
check<uint16_t>("true", 1);
check<uint16_t>("false", 0);
}