forked from bblanchon/ArduinoJson
JsonArray::remove() and JsonObject::remove() now release the memory of strings
This commit is contained in:
28
test/DynamicMemoryPool/allocString.cpp
Normal file
28
test/DynamicMemoryPool/allocString.cpp
Normal file
@ -0,0 +1,28 @@
|
||||
// ArduinoJson - arduinojson.org
|
||||
// Copyright Benoit Blanchon 2014-2018
|
||||
// MIT License
|
||||
|
||||
#include <ArduinoJson/Memory/DynamicMemoryPool.hpp>
|
||||
#include <catch.hpp>
|
||||
#include <sstream>
|
||||
|
||||
using namespace ARDUINOJSON_NAMESPACE;
|
||||
|
||||
TEST_CASE("DynamicMemoryPool::allocFrozenString()") {
|
||||
DynamicMemoryPool pool;
|
||||
|
||||
SECTION("Returns different pointers") {
|
||||
StringSlot* a = pool.allocFrozenString(1);
|
||||
StringSlot* b = pool.allocFrozenString(2);
|
||||
REQUIRE(a != b);
|
||||
REQUIRE(a->value != b->value);
|
||||
}
|
||||
|
||||
SECTION("Returns same slot after freeString") {
|
||||
StringSlot* a = pool.allocFrozenString(1);
|
||||
pool.freeString(a);
|
||||
StringSlot* b = pool.allocFrozenString(2);
|
||||
REQUIRE(a == b);
|
||||
REQUIRE(a->value == b->value);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user