This commit is contained in:
parent
e3492bb3fa
commit
147d909fe6
@ -132,6 +132,14 @@ inline bool node_data::remove(const Key& key, shared_memory_holder pMemory) {
|
||||
if (m_type != NodeType::Map)
|
||||
return false;
|
||||
|
||||
kv_pairs::iterator it = m_undefinedPairs.begin();
|
||||
while (it != m_undefinedPairs.end()) {
|
||||
kv_pairs::iterator jt = std::next(it);
|
||||
if (it->first->equals(key, pMemory))
|
||||
m_undefinedPairs.erase(it);
|
||||
it = jt;
|
||||
}
|
||||
|
||||
for (node_map::iterator it = m_map.begin(); it != m_map.end(); ++it) {
|
||||
if (it->first->equals(key, pMemory)) {
|
||||
m_map.erase(it);
|
||||
|
@ -88,6 +88,13 @@ TEST(NodeTest, MapWithUndefinedValues) {
|
||||
EXPECT_EQ(2, node.size());
|
||||
}
|
||||
|
||||
TEST(NodeTest, RemoveUnassignedNode) {
|
||||
Node node(NodeType::Map);
|
||||
node["key"];
|
||||
node.remove("key");
|
||||
EXPECT_EQ(node.size(), 0);
|
||||
}
|
||||
|
||||
TEST(NodeTest, MapForceInsert) {
|
||||
Node node;
|
||||
Node k1("k1");
|
||||
|
Loading…
Reference in New Issue
Block a user