mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 08:42:39 +01:00 
			
		
		
		
	Added DeserializationError::EmptyInput
This commit is contained in:
		| @@ -30,20 +30,22 @@ void testBoolification(DeserializationError error, bool expected) { | ||||
| TEST_CASE("DeserializationError") { | ||||
|   SECTION("c_str()") { | ||||
|     TEST_STRINGIFICATION(Ok); | ||||
|     TEST_STRINGIFICATION(TooDeep); | ||||
|     TEST_STRINGIFICATION(NoMemory); | ||||
|     TEST_STRINGIFICATION(InvalidInput); | ||||
|     TEST_STRINGIFICATION(EmptyInput); | ||||
|     TEST_STRINGIFICATION(IncompleteInput); | ||||
|     TEST_STRINGIFICATION(InvalidInput); | ||||
|     TEST_STRINGIFICATION(NoMemory); | ||||
|     TEST_STRINGIFICATION(NotSupported); | ||||
|     TEST_STRINGIFICATION(TooDeep); | ||||
|   } | ||||
|  | ||||
|   SECTION("as boolean") { | ||||
|     TEST_BOOLIFICATION(Ok, false); | ||||
|     TEST_BOOLIFICATION(TooDeep, true); | ||||
|     TEST_BOOLIFICATION(NoMemory, true); | ||||
|     TEST_BOOLIFICATION(InvalidInput, true); | ||||
|     TEST_BOOLIFICATION(EmptyInput, true); | ||||
|     TEST_BOOLIFICATION(IncompleteInput, true); | ||||
|     TEST_BOOLIFICATION(InvalidInput, true); | ||||
|     TEST_BOOLIFICATION(NoMemory, true); | ||||
|     TEST_BOOLIFICATION(NotSupported, true); | ||||
|     TEST_BOOLIFICATION(TooDeep, true); | ||||
|   } | ||||
|  | ||||
|   SECTION("ostream DeserializationError") { | ||||
| @@ -58,13 +60,6 @@ TEST_CASE("DeserializationError") { | ||||
|     REQUIRE(s.str() == "InvalidInput"); | ||||
|   } | ||||
|  | ||||
|   SECTION("out of range") { | ||||
|     int code = 666; | ||||
|     DeserializationError err( | ||||
|         *reinterpret_cast<DeserializationError::Code*>(&code)); | ||||
|     REQUIRE(err.c_str() == std::string("???")); | ||||
|   } | ||||
|  | ||||
|   SECTION("switch") { | ||||
|     DeserializationError err = DeserializationError::InvalidInput; | ||||
|     switch (err.code()) { | ||||
|   | ||||
| @@ -27,7 +27,13 @@ TEST_CASE("deserializeJson(DynamicJsonDocument&)") { | ||||
|     SECTION("Empty input") { | ||||
|       DeserializationError err = deserializeJson(doc, ""); | ||||
|  | ||||
|       REQUIRE(err == DeserializationError::IncompleteInput); | ||||
|       REQUIRE(err == DeserializationError::EmptyInput); | ||||
|     } | ||||
|  | ||||
|     SECTION("Only spaces") { | ||||
|       DeserializationError err = deserializeJson(doc, "  \t\n\r"); | ||||
|  | ||||
|       REQUIRE(err == DeserializationError::EmptyInput); | ||||
|     } | ||||
|  | ||||
|     SECTION("issue #628") { | ||||
|   | ||||
| @@ -373,16 +373,22 @@ TEST_CASE("Comments in objects") { | ||||
| TEST_CASE("Comments alone") { | ||||
|   DynamicJsonDocument doc(2048); | ||||
|  | ||||
|   SECTION("Just a trailing comment") { | ||||
|   SECTION("Just a trailing comment with no line break") { | ||||
|     DeserializationError err = deserializeJson(doc, "// comment"); | ||||
|  | ||||
|     REQUIRE(err == DeserializationError::IncompleteInput); | ||||
|   } | ||||
|  | ||||
|   SECTION("Just a trailing comment with no a break") { | ||||
|     DeserializationError err = deserializeJson(doc, "// comment\n"); | ||||
|  | ||||
|     REQUIRE(err == DeserializationError::EmptyInput); | ||||
|   } | ||||
|  | ||||
|   SECTION("Just a block comment") { | ||||
|     DeserializationError err = deserializeJson(doc, "/*comment*/"); | ||||
|  | ||||
|     REQUIRE(err == DeserializationError::IncompleteInput); | ||||
|     REQUIRE(err == DeserializationError::EmptyInput); | ||||
|   } | ||||
|  | ||||
|   SECTION("Just a slash") { | ||||
|   | ||||
| @@ -10,6 +10,7 @@ add_executable(MsgPackDeserializerTests | ||||
| 	doubleToFloat.cpp | ||||
| 	incompleteInput.cpp | ||||
| 	input_types.cpp | ||||
| 	misc.cpp | ||||
| 	nestingLimit.cpp | ||||
| 	notSupported.cpp | ||||
| ) | ||||
|   | ||||
							
								
								
									
										24
									
								
								extras/tests/MsgPackDeserializer/misc.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								extras/tests/MsgPackDeserializer/misc.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| // ArduinoJson - arduinojson.org | ||||
| // Copyright Benoit Blanchon 2014-2020 | ||||
| // MIT License | ||||
|  | ||||
| #include <ArduinoJson.h> | ||||
| #include <catch.hpp> | ||||
|  | ||||
| TEST_CASE("deserializeMsgPack() returns EmptyInput") { | ||||
|   StaticJsonDocument<100> doc; | ||||
|  | ||||
|   SECTION("from sized buffer") { | ||||
|     DeserializationError err = deserializeMsgPack(doc, "", 0); | ||||
|  | ||||
|     REQUIRE(err == DeserializationError::EmptyInput); | ||||
|   } | ||||
|  | ||||
|   SECTION("from stream") { | ||||
|     std::istringstream input(""); | ||||
|  | ||||
|     DeserializationError err = deserializeMsgPack(doc, input); | ||||
|  | ||||
|     REQUIRE(err == DeserializationError::EmptyInput); | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user