mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	Run all tests with C++11 enabled (#1820)
This commit is contained in:
		
							
								
								
									
										47
									
								
								extras/tests/JsonVariant/nullptr.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								extras/tests/JsonVariant/nullptr.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,47 @@ | ||||
| #include <ArduinoJson.h> | ||||
|  | ||||
| #include <catch.hpp> | ||||
|  | ||||
| #if !ARDUINOJSON_HAS_NULLPTR | ||||
| #  error ARDUINOJSON_HAS_NULLPTR must be set to 1 | ||||
| #endif | ||||
|  | ||||
| TEST_CASE("nullptr") { | ||||
|   DynamicJsonDocument doc(4096); | ||||
|   JsonVariant variant = doc.to<JsonVariant>(); | ||||
|  | ||||
|   SECTION("JsonVariant == nullptr") { | ||||
|     REQUIRE((variant == nullptr)); | ||||
|     REQUIRE_FALSE((variant != nullptr)); | ||||
|   } | ||||
|  | ||||
|   SECTION("JsonVariant != nullptr") { | ||||
|     variant.set(42); | ||||
|  | ||||
|     REQUIRE_FALSE((variant == nullptr)); | ||||
|     REQUIRE((variant != nullptr)); | ||||
|   } | ||||
|  | ||||
|   SECTION("JsonVariant.set(nullptr)") { | ||||
|     variant.set(42); | ||||
|     variant.set(nullptr); | ||||
|  | ||||
|     REQUIRE(variant.isNull()); | ||||
|   } | ||||
|  | ||||
|   SECTION("JsonVariant.set(nullptr) with unbound reference") { | ||||
|     JsonVariant unboundReference; | ||||
|  | ||||
|     unboundReference.set(nullptr); | ||||
|  | ||||
|     REQUIRE(variant.isNull()); | ||||
|   } | ||||
|  | ||||
|   SECTION("JsonVariant.is<nullptr_t>()") { | ||||
|     variant.set(42); | ||||
|     REQUIRE(variant.is<std::nullptr_t>() == false); | ||||
|  | ||||
|     variant.clear(); | ||||
|     REQUIRE(variant.is<std::nullptr_t>() == true); | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user