mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	Added JsonArray::remove(iterator) and JsonObject::remove(iterator) (issue #479)
				
					
				
			This commit is contained in:
		| @@ -22,7 +22,7 @@ class JsonArray_Remove_Tests : public ::testing::Test { | ||||
|  | ||||
| #define TEST_(name) TEST_F(JsonArray_Remove_Tests, name) | ||||
|  | ||||
| TEST_(RemoveFirstElement) { | ||||
| TEST_(RemoveFirstByIndex) { | ||||
|   _array.removeAt(0); | ||||
|  | ||||
|   EXPECT_EQ(2, _array.size()); | ||||
| @@ -30,7 +30,7 @@ TEST_(RemoveFirstElement) { | ||||
|   EXPECT_STREQ("three", _array[1]); | ||||
| } | ||||
|  | ||||
| TEST_(RemoveMiddleElement) { | ||||
| TEST_(RemoveMiddleByIndex) { | ||||
|   _array.removeAt(1); | ||||
|  | ||||
|   EXPECT_EQ(2, _array.size()); | ||||
| @@ -38,10 +38,40 @@ TEST_(RemoveMiddleElement) { | ||||
|   EXPECT_STREQ("three", _array[1]); | ||||
| } | ||||
|  | ||||
| TEST_(RemoveLastElement) { | ||||
| TEST_(RemoveLastByIndex) { | ||||
|   _array.removeAt(2); | ||||
|  | ||||
|   EXPECT_EQ(2, _array.size()); | ||||
|   EXPECT_STREQ("one", _array[0]); | ||||
|   EXPECT_STREQ("two", _array[1]); | ||||
| } | ||||
|  | ||||
| TEST_(RemoveFirstByIterator) { | ||||
|   JsonArray::iterator it = _array.begin(); | ||||
|   _array.remove(it); | ||||
|  | ||||
|   EXPECT_EQ(2, _array.size()); | ||||
|   EXPECT_STREQ("two", _array[0]); | ||||
|   EXPECT_STREQ("three", _array[1]); | ||||
| } | ||||
|  | ||||
| TEST_(RemoveMiddleByIterator) { | ||||
|   JsonArray::iterator it = _array.begin(); | ||||
|   ++it; | ||||
|   _array.remove(it); | ||||
|  | ||||
|   EXPECT_EQ(2, _array.size()); | ||||
|   EXPECT_STREQ("one", _array[0]); | ||||
|   EXPECT_STREQ("three", _array[1]); | ||||
| } | ||||
|  | ||||
| TEST_(RemoveLastByIterator) { | ||||
|   JsonArray::iterator it = _array.begin(); | ||||
|   ++it; | ||||
|   ++it; | ||||
|   _array.remove(it); | ||||
|  | ||||
|   EXPECT_EQ(2, _array.size()); | ||||
|   EXPECT_STREQ("one", _array[0]); | ||||
|   EXPECT_STREQ("two", _array[1]); | ||||
| } | ||||
|   | ||||
| @@ -29,3 +29,16 @@ TEST_(SizeUntouched_WhenRemoveIsCalledWithAWrongKey) { | ||||
|  | ||||
|   EXPECT_EQ(1, _object.size()); | ||||
| } | ||||
|  | ||||
| TEST_(RemoveByIterator) { | ||||
|   DynamicJsonBuffer _jsonBuffer; | ||||
|   JsonObject& _object = _jsonBuffer.parseObject("{\"a\":0,\"b\":1,\"c\":2}"); | ||||
|  | ||||
|   for (JsonObject::iterator it = _object.begin(); it != _object.end(); ++it) { | ||||
|     if (it->value == 1) _object.remove(it); | ||||
|   } | ||||
|  | ||||
|   char result[64]; | ||||
|   _object.printTo(result); | ||||
|   EXPECT_STREQ("{\"a\":0,\"c\":2}", result); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user