Просмотр исходного кода

Added a test that removes an element during iteration (#1332)

Benoit Blanchon 5 лет назад
Родитель
Сommit
4d7f03836c
1 измененных файлов с 11 добавлено и 0 удалено
  1. 11 0
      extras/tests/JsonArray/remove.cpp

+ 11 - 0
extras/tests/JsonArray/remove.cpp

@@ -65,4 +65,15 @@ TEST_CASE("JsonArray::remove()") {
     REQUIRE(_array[0] == 1);
     REQUIRE(_array[1] == 2);
   }
+
+  SECTION("In a loop") {
+    for (JsonArray::iterator it = _array.begin(); it != _array.end(); ++it) {
+      if (*it == 2)
+        _array.remove(it);
+    }
+
+    REQUIRE(2 == _array.size());
+    REQUIRE(_array[0] == 1);
+    REQUIRE(_array[1] == 3);
+  }
 }