forked from bblanchon/ArduinoJson
Add as<JsonString>()
This commit is contained in:
@ -24,6 +24,7 @@ TEST_CASE("JsonVariant::as()") {
|
||||
REQUIRE(0.0f == variant.as<float>());
|
||||
REQUIRE(0 == variant.as<const char*>());
|
||||
REQUIRE("null" == variant.as<std::string>());
|
||||
REQUIRE(variant.as<JsonString>().isNull());
|
||||
}
|
||||
|
||||
SECTION("set(4.2)") {
|
||||
@ -34,6 +35,7 @@ TEST_CASE("JsonVariant::as()") {
|
||||
REQUIRE(variant.as<std::string>() == "4.2");
|
||||
REQUIRE(variant.as<long>() == 4L);
|
||||
REQUIRE(variant.as<unsigned>() == 4U);
|
||||
REQUIRE(variant.as<JsonString>().isNull());
|
||||
}
|
||||
|
||||
SECTION("set(0.0)") {
|
||||
@ -41,6 +43,7 @@ TEST_CASE("JsonVariant::as()") {
|
||||
|
||||
REQUIRE(variant.as<bool>() == false);
|
||||
REQUIRE(variant.as<long>() == 0L);
|
||||
REQUIRE(variant.as<JsonString>().isNull());
|
||||
}
|
||||
|
||||
SECTION("set(false)") {
|
||||
@ -50,6 +53,7 @@ TEST_CASE("JsonVariant::as()") {
|
||||
REQUIRE(variant.as<double>() == 0.0);
|
||||
REQUIRE(variant.as<long>() == 0L);
|
||||
REQUIRE(variant.as<std::string>() == "false");
|
||||
REQUIRE(variant.as<JsonString>().isNull());
|
||||
}
|
||||
|
||||
SECTION("set(true)") {
|
||||
@ -59,6 +63,7 @@ TEST_CASE("JsonVariant::as()") {
|
||||
REQUIRE(variant.as<double>() == 1.0);
|
||||
REQUIRE(variant.as<long>() == 1L);
|
||||
REQUIRE(variant.as<std::string>() == "true");
|
||||
REQUIRE(variant.as<JsonString>().isNull());
|
||||
}
|
||||
|
||||
SECTION("set(42)") {
|
||||
@ -69,6 +74,7 @@ TEST_CASE("JsonVariant::as()") {
|
||||
REQUIRE(variant.as<int>() == 42);
|
||||
REQUIRE(variant.as<unsigned int>() == 42U); // issue #1601
|
||||
REQUIRE(variant.as<std::string>() == "42");
|
||||
REQUIRE(variant.as<JsonString>().isNull());
|
||||
}
|
||||
|
||||
SECTION("set(42L)") {
|
||||
@ -77,6 +83,7 @@ TEST_CASE("JsonVariant::as()") {
|
||||
REQUIRE(variant.as<bool>() == true);
|
||||
REQUIRE(variant.as<double>() == 42.0);
|
||||
REQUIRE(variant.as<std::string>() == "42");
|
||||
REQUIRE(variant.as<JsonString>().isNull());
|
||||
}
|
||||
|
||||
SECTION("set(-42L)") {
|
||||
@ -84,6 +91,7 @@ TEST_CASE("JsonVariant::as()") {
|
||||
|
||||
REQUIRE(variant.as<double>() == -42.0);
|
||||
REQUIRE(variant.as<std::string>() == "-42");
|
||||
REQUIRE(variant.as<JsonString>().isNull());
|
||||
}
|
||||
|
||||
SECTION("set(42UL)") {
|
||||
@ -92,6 +100,7 @@ TEST_CASE("JsonVariant::as()") {
|
||||
REQUIRE(variant.as<bool>() == true);
|
||||
REQUIRE(variant.as<double>() == 42.0);
|
||||
REQUIRE(variant.as<std::string>() == "42");
|
||||
REQUIRE(variant.as<JsonString>().isNull());
|
||||
}
|
||||
|
||||
SECTION("set(0L)") {
|
||||
@ -100,6 +109,7 @@ TEST_CASE("JsonVariant::as()") {
|
||||
REQUIRE(variant.as<bool>() == false);
|
||||
REQUIRE(variant.as<double>() == 0.0);
|
||||
REQUIRE(variant.as<std::string>() == "0");
|
||||
REQUIRE(variant.as<JsonString>().isNull());
|
||||
}
|
||||
|
||||
SECTION("set(0UL)") {
|
||||
@ -108,6 +118,7 @@ TEST_CASE("JsonVariant::as()") {
|
||||
REQUIRE(variant.as<bool>() == false);
|
||||
REQUIRE(variant.as<double>() == 0.0);
|
||||
REQUIRE(variant.as<std::string>() == "0");
|
||||
REQUIRE(variant.as<JsonString>().isNull());
|
||||
}
|
||||
|
||||
SECTION("set(null)") {
|
||||
@ -117,12 +128,14 @@ TEST_CASE("JsonVariant::as()") {
|
||||
REQUIRE(variant.as<double>() == 0.0);
|
||||
REQUIRE(variant.as<long>() == 0L);
|
||||
REQUIRE(variant.as<std::string>() == "null");
|
||||
REQUIRE(variant.as<JsonString>().isNull());
|
||||
}
|
||||
|
||||
SECTION("set(\"42\")") {
|
||||
variant.set("42");
|
||||
|
||||
REQUIRE(variant.as<long>() == 42L);
|
||||
REQUIRE(variant.as<JsonString>() == "42");
|
||||
}
|
||||
|
||||
SECTION("set(\"hello\")") {
|
||||
@ -133,6 +146,7 @@ TEST_CASE("JsonVariant::as()") {
|
||||
REQUIRE(variant.as<const char*>() == std::string("hello"));
|
||||
REQUIRE(variant.as<const char*>() == std::string("hello"));
|
||||
REQUIRE(variant.as<std::string>() == std::string("hello"));
|
||||
REQUIRE(variant.as<JsonString>() == "hello");
|
||||
}
|
||||
|
||||
SECTION("set(std::string(\"4.2\"))") {
|
||||
@ -143,6 +157,7 @@ TEST_CASE("JsonVariant::as()") {
|
||||
REQUIRE(variant.as<double>() == 4.2);
|
||||
REQUIRE(variant.as<const char*>() == std::string("4.2"));
|
||||
REQUIRE(variant.as<std::string>() == std::string("4.2"));
|
||||
REQUIRE(variant.as<JsonString>() == "4.2");
|
||||
}
|
||||
|
||||
SECTION("set(\"true\")") {
|
||||
@ -150,6 +165,7 @@ TEST_CASE("JsonVariant::as()") {
|
||||
|
||||
REQUIRE(variant.as<bool>() == true);
|
||||
REQUIRE(variant.as<int>() == 0);
|
||||
REQUIRE(variant.as<JsonString>() == "true");
|
||||
}
|
||||
|
||||
SECTION("set(-1e300)") {
|
||||
@ -159,6 +175,7 @@ TEST_CASE("JsonVariant::as()") {
|
||||
REQUIRE(variant.as<double>() == -1e300);
|
||||
REQUIRE(variant.as<float>() < 0);
|
||||
REQUIRE(my::isinf(variant.as<float>()));
|
||||
REQUIRE(variant.as<JsonString>().isNull());
|
||||
}
|
||||
|
||||
SECTION("set(1e300)") {
|
||||
@ -168,6 +185,7 @@ TEST_CASE("JsonVariant::as()") {
|
||||
REQUIRE(variant.as<double>() == 1e300);
|
||||
REQUIRE(variant.as<float>() > 0);
|
||||
REQUIRE(my::isinf(variant.as<float>()));
|
||||
REQUIRE(variant.as<JsonString>().isNull());
|
||||
}
|
||||
|
||||
SECTION("set(1e-300)") {
|
||||
@ -176,6 +194,7 @@ TEST_CASE("JsonVariant::as()") {
|
||||
REQUIRE(variant.as<bool>() == true);
|
||||
REQUIRE(variant.as<double>() == 1e-300);
|
||||
REQUIRE(variant.as<float>() == 0);
|
||||
REQUIRE(variant.as<JsonString>().isNull());
|
||||
}
|
||||
|
||||
SECTION("to<JsonObject>()") {
|
||||
|
Reference in New Issue
Block a user