mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 08:42:39 +01:00 
			
		
		
		
	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