mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	Added a test class for StringBuilder.appendEscaped()
This commit is contained in:
		| @@ -86,7 +86,8 @@ | |||||||
|     <ClCompile Include="JsonArrayTests.cpp" /> |     <ClCompile Include="JsonArrayTests.cpp" /> | ||||||
|     <ClCompile Include="JsonObjectBase.cpp" /> |     <ClCompile Include="JsonObjectBase.cpp" /> | ||||||
|     <ClCompile Include="StringBuilder.cpp" /> |     <ClCompile Include="StringBuilder.cpp" /> | ||||||
|     <ClCompile Include="StringBuilderTests.cpp" /> |     <ClCompile Include="StringBuilderAppendEscapedTests.cpp" /> | ||||||
|  |     <ClCompile Include="StringBuilderAppendTests.cpp" /> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <ClInclude Include="JsonArray.h" /> |     <ClInclude Include="JsonArray.h" /> | ||||||
|   | |||||||
| @@ -27,7 +27,10 @@ | |||||||
|     <ClCompile Include="JsonObjectBase.cpp"> |     <ClCompile Include="JsonObjectBase.cpp"> | ||||||
|       <Filter>Source Files</Filter> |       <Filter>Source Files</Filter> | ||||||
|     </ClCompile> |     </ClCompile> | ||||||
|     <ClCompile Include="StringBuilderTests.cpp"> |     <ClCompile Include="StringBuilderAppendEscapedTests.cpp"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |     <ClCompile Include="StringBuilderAppendTests.cpp"> | ||||||
|       <Filter>Source Files</Filter> |       <Filter>Source Files</Filter> | ||||||
|     </ClCompile> |     </ClCompile> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   | |||||||
							
								
								
									
										66
									
								
								JsonGeneratorTests/StringBuilderAppendEscapedTests.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								JsonGeneratorTests/StringBuilderAppendEscapedTests.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | |||||||
|  | #include "CppUnitTest.h" | ||||||
|  | #include "StringBuilder.h" | ||||||
|  |  | ||||||
|  | using namespace Microsoft::VisualStudio::CppUnitTestFramework; | ||||||
|  |  | ||||||
|  | namespace JsonGeneratorTests | ||||||
|  | { | ||||||
|  |     TEST_CLASS(StringBuilderAppendEscapedTests) | ||||||
|  |     { | ||||||
|  |         char buffer[16]; | ||||||
|  |         StringBuilder* sb; | ||||||
|  |  | ||||||
|  |     public: | ||||||
|  |  | ||||||
|  |         TEST_METHOD_INITIALIZE(Initialize) | ||||||
|  |         { | ||||||
|  |             sb = new StringBuilder(buffer, sizeof(buffer)); | ||||||
|  |         } | ||||||
|  |          | ||||||
|  |         TEST_METHOD(InitialState) | ||||||
|  |         { | ||||||
|  |             assertResultIs(""); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         TEST_METHOD(EmptyString) | ||||||
|  |         { | ||||||
|  |             append(""); | ||||||
|  |             assertResultIs("\"\""); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         TEST_METHOD(OneString) | ||||||
|  |         { | ||||||
|  |             append("ABCD"); | ||||||
|  |             assertResultIs("\"ABCD\""); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         TEST_METHOD(OneTwoStrings) | ||||||
|  |         { | ||||||
|  |             append("ABCD"); | ||||||
|  |             append("EFGH"); | ||||||
|  |             assertResultIs("\"ABCD\"\"EFGH\""); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         TEST_METHOD(OverCapacity) | ||||||
|  |         { | ||||||
|  |             append("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); | ||||||
|  |             assertResultIs("\"ABCDEFGHIJKLM\""); | ||||||
|  |         } | ||||||
|  |         /* | ||||||
|  |         TEST_METHOD(SpecialChars) | ||||||
|  |         { | ||||||
|  |             append("\\\"\b\f\n\r"); | ||||||
|  |             assertResultIs("\\\\\\\"\\\b\\\f\\\n\\\r"); | ||||||
|  |         } | ||||||
|  |         */ | ||||||
|  |         void append(const char* s) | ||||||
|  |         { | ||||||
|  |             sb->appendEscaped(s); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         void assertResultIs(const char* expected) | ||||||
|  |         { | ||||||
|  |             Assert::AreEqual(expected, buffer); | ||||||
|  |         } | ||||||
|  |     }; | ||||||
|  | } | ||||||
| @@ -5,12 +5,11 @@ using namespace Microsoft::VisualStudio::CppUnitTestFramework; | |||||||
| 
 | 
 | ||||||
| namespace JsonGeneratorTests | namespace JsonGeneratorTests | ||||||
| { | { | ||||||
|     TEST_CLASS(StringBuilderTests) |     TEST_CLASS(StringBuilderAppendTests) | ||||||
|     { |     { | ||||||
|         char buffer[16]; |         char buffer[16]; | ||||||
|         StringBuilder* sb; |         StringBuilder* sb; | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|     public: |     public: | ||||||
| 
 | 
 | ||||||
|         TEST_METHOD_INITIALIZE(Initialize) |         TEST_METHOD_INITIALIZE(Initialize) | ||||||
| @@ -23,32 +22,32 @@ namespace JsonGeneratorTests | |||||||
|             assertResultIs(""); |             assertResultIs(""); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         TEST_METHOD(AppendEmptyString) |         TEST_METHOD(EmptyString) | ||||||
|         { |         { | ||||||
|             append(""); |             append(""); | ||||||
|             assertResultIs(""); |             assertResultIs(""); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         TEST_METHOD(AppendOneString) |         TEST_METHOD(OneString) | ||||||
|         { |         { | ||||||
|             append("ABCD"); |             append("ABCD"); | ||||||
|             assertResultIs("ABCD"); |             assertResultIs("ABCD"); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         TEST_METHOD(AppendOneTwoStrings) |         TEST_METHOD(TwoStrings) | ||||||
|         { |         { | ||||||
|             append("ABCD"); |             append("ABCD"); | ||||||
|             append("EFGH"); |             append("EFGH"); | ||||||
|             assertResultIs("ABCDEFGH"); |             assertResultIs("ABCDEFGH"); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         TEST_METHOD(AppendOverCapacity) |         TEST_METHOD(OverCapacity) | ||||||
|         { |         { | ||||||
|             append("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); |             append("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); | ||||||
|             assertResultIs("ABCDEFGHIJKLMNO"); |             assertResultIs("ABCDEFGHIJKLMNO"); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         TEST_METHOD(AppendSpecialChars) |         TEST_METHOD(SpecialChars) | ||||||
|         { |         { | ||||||
|             append("\\\"\/\b\f\n\r"); |             append("\\\"\/\b\f\n\r"); | ||||||
|             assertResultIs("\\\"\/\b\f\n\r"); |             assertResultIs("\\\"\/\b\f\n\r"); | ||||||
		Reference in New Issue
	
	Block a user