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:
		| @@ -12,6 +12,7 @@ add_executable(JsonDocumentTests | ||||
| 	DynamicJsonDocument.cpp | ||||
| 	ElementProxy.cpp | ||||
| 	isNull.cpp | ||||
| 	issue1120.cpp | ||||
| 	MemberProxy.cpp | ||||
| 	nesting.cpp | ||||
| 	overflowed.cpp | ||||
|   | ||||
							
								
								
									
										58
									
								
								extras/tests/JsonDocument/issue1120.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								extras/tests/JsonDocument/issue1120.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,58 @@ | ||||
| #include <ArduinoJson.h> | ||||
|  | ||||
| #include <catch.hpp> | ||||
|  | ||||
| TEST_CASE("Issue #1120") { | ||||
|   StaticJsonDocument<500> doc; | ||||
|   constexpr char str[] = | ||||
|       "{\"contents\":[{\"module\":\"Packet\"},{\"module\":\"Analog\"}]}"; | ||||
|   deserializeJson(doc, str); | ||||
|  | ||||
|   SECTION("MemberProxy<std::string>::isNull()") { | ||||
|     SECTION("returns false") { | ||||
|       auto value = doc[std::string("contents")]; | ||||
|       CHECK(value.isNull() == false); | ||||
|     } | ||||
|  | ||||
|     SECTION("returns true") { | ||||
|       auto value = doc[std::string("zontents")]; | ||||
|       CHECK(value.isNull() == true); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   SECTION("ElementProxy<MemberProxy<const char*> >::isNull()") { | ||||
|     SECTION("returns false") {  // Issue #1120 | ||||
|       auto value = doc["contents"][1]; | ||||
|       CHECK(value.isNull() == false); | ||||
|     } | ||||
|  | ||||
|     SECTION("returns true") { | ||||
|       auto value = doc["contents"][2]; | ||||
|       CHECK(value.isNull() == true); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   SECTION("MemberProxy<ElementProxy<MemberProxy>, const char*>::isNull()") { | ||||
|     SECTION("returns false") { | ||||
|       auto value = doc["contents"][1]["module"]; | ||||
|       CHECK(value.isNull() == false); | ||||
|     } | ||||
|  | ||||
|     SECTION("returns true") { | ||||
|       auto value = doc["contents"][1]["zodule"]; | ||||
|       CHECK(value.isNull() == true); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   SECTION("MemberProxy<ElementProxy<MemberProxy>, std::string>::isNull()") { | ||||
|     SECTION("returns false") { | ||||
|       auto value = doc["contents"][1][std::string("module")]; | ||||
|       CHECK(value.isNull() == false); | ||||
|     } | ||||
|  | ||||
|     SECTION("returns true") { | ||||
|       auto value = doc["contents"][1][std::string("zodule")]; | ||||
|       CHECK(value.isNull() == true); | ||||
|     } | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user