mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	Added StaticJsonBuffer::clear()
				
					
				
			This commit is contained in:
		| @@ -11,6 +11,7 @@ add_executable(StaticJsonBufferTests | ||||
| 	createObject.cpp | ||||
| 	parseArray.cpp | ||||
| 	parseObject.cpp | ||||
| 	size.cpp | ||||
| 	startString.cpp | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -17,52 +17,39 @@ static bool isAligned(void *ptr) { | ||||
| TEST_CASE("StaticJsonBuffer::alloc()") { | ||||
|   StaticJsonBuffer<64> buffer; | ||||
|  | ||||
|   SECTION("CapacityMatchTemplateParameter") { | ||||
|     REQUIRE(64 == buffer.capacity()); | ||||
|   SECTION("Returns different addresses") { | ||||
|     void *p1 = buffer.alloc(1); | ||||
|     void *p2 = buffer.alloc(1); | ||||
|     REQUIRE(p1 != p2); | ||||
|   } | ||||
|  | ||||
|   SECTION("InitialSizeIsZero") { | ||||
|     REQUIRE(0 == buffer.size()); | ||||
|   } | ||||
|  | ||||
|   SECTION("GrowsAfterAlloc") { | ||||
|     buffer.alloc(1); | ||||
|     REQUIRE(1U <= buffer.size()); | ||||
|     buffer.alloc(1); | ||||
|     REQUIRE(2U <= buffer.size()); | ||||
|   } | ||||
|  | ||||
|   SECTION("DoesntGrowWhenFull") { | ||||
|     buffer.alloc(64); | ||||
|     buffer.alloc(1); | ||||
|     REQUIRE(64 == buffer.size()); | ||||
|   } | ||||
|  | ||||
|   SECTION("DoesntGrowWhenTooSmall") { | ||||
|     buffer.alloc(65); | ||||
|     REQUIRE(0 == buffer.size()); | ||||
|   } | ||||
|  | ||||
|   SECTION("ReturnsNonNull") { | ||||
|   SECTION("Returns non-NULL when using full capacity") { | ||||
|     void *p = buffer.alloc(64); | ||||
|     REQUIRE(0 != p); | ||||
|   } | ||||
|  | ||||
|   SECTION("ReturnsNullWhenFull") { | ||||
|   SECTION("Returns NULL when full") { | ||||
|     buffer.alloc(64); | ||||
|     void *p = buffer.alloc(1); | ||||
|     REQUIRE(0 == p); | ||||
|   } | ||||
|  | ||||
|   SECTION("ReturnsNullWhenTooSmall") { | ||||
|   SECTION("Returns NULL when buffer is too small") { | ||||
|     void *p = buffer.alloc(65); | ||||
|     REQUIRE(0 == p); | ||||
|   } | ||||
|  | ||||
|   SECTION("Alignment") { | ||||
|   SECTION("Returns aligned pointers") { | ||||
|     for (size_t size = 1; size <= sizeof(void *); size++) { | ||||
|       void *p = buffer.alloc(1); | ||||
|       REQUIRE(isAligned(p)); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   SECTION("Returns same address after clear()") { | ||||
|     void *p1 = buffer.alloc(1); | ||||
|     buffer.clear(); | ||||
|     void *p2 = buffer.alloc(1); | ||||
|     REQUIRE(p1 == p2); | ||||
|   } | ||||
| } | ||||
|   | ||||
							
								
								
									
										45
									
								
								test/StaticJsonBuffer/size.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								test/StaticJsonBuffer/size.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| // Copyright Benoit Blanchon 2014-2017 | ||||
| // MIT License | ||||
| // | ||||
| // Arduino JSON library | ||||
| // https://bblanchon.github.io/ArduinoJson/ | ||||
| // If you like this project, please add a star! | ||||
|  | ||||
| #include <ArduinoJson.h> | ||||
| #include <catch.hpp> | ||||
|  | ||||
| TEST_CASE("StaticJsonBuffer::size()") { | ||||
|   StaticJsonBuffer<64> buffer; | ||||
|  | ||||
|   SECTION("Capacity equals template parameter") { | ||||
|     REQUIRE(64 == buffer.capacity()); | ||||
|   } | ||||
|  | ||||
|   SECTION("Initial size is 0") { | ||||
|     REQUIRE(0 == buffer.size()); | ||||
|   } | ||||
|  | ||||
|   SECTION("Increases after alloc()") { | ||||
|     buffer.alloc(1); | ||||
|     REQUIRE(1U <= buffer.size()); | ||||
|     buffer.alloc(1); | ||||
|     REQUIRE(2U <= buffer.size()); | ||||
|   } | ||||
|  | ||||
|   SECTION("Doesn't grow when buffer is full") { | ||||
|     buffer.alloc(64); | ||||
|     buffer.alloc(1); | ||||
|     REQUIRE(64 == buffer.size()); | ||||
|   } | ||||
|  | ||||
|   SECTION("Does't grow when buffer is too small for alloc") { | ||||
|     buffer.alloc(65); | ||||
|     REQUIRE(0 == buffer.size()); | ||||
|   } | ||||
|  | ||||
|   SECTION("Goes back to zero after clear()") { | ||||
|     buffer.alloc(1); | ||||
|     buffer.clear(); | ||||
|     REQUIRE(0 == buffer.size()); | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user