From: Mukund Sivaraman Date: Fri, 30 Aug 2013 01:51:17 +0000 (+0530) Subject: [2750] Check that having 2 nodes in subtree doesn't cause node fusion X-Git-Tag: bind10-1.2.0beta1-release~193^2~4^2~48 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bf298463e636da9989a877145fee8853733f7030;p=thirdparty%2Fkea.git [2750] Check that having 2 nodes in subtree doesn't cause node fusion --- diff --git a/src/lib/datasrc/tests/memory/domaintree_unittest.cc b/src/lib/datasrc/tests/memory/domaintree_unittest.cc index 9373b1f6ea..ae0073bd7c 100644 --- a/src/lib/datasrc/tests/memory/domaintree_unittest.cc +++ b/src/lib/datasrc/tests/memory/domaintree_unittest.cc @@ -482,11 +482,18 @@ TEST_F(DomainTreeTest, nodeFusion) { dtree_expose_empty_node.find(Name("w.y.d.e.f"), &cdtnode)); EXPECT_EQ(Name("w.y"), cdtnode->getName()); - // Now, delete "x" and "z" nodes. + // Now, delete "x" node. EXPECT_EQ(TestDomainTree::EXACTMATCH, dtree_expose_empty_node.find(Name("x.d.e.f"), &dtnode)); dtree_expose_empty_node.remove(mem_sgmt_, dtnode, deleteData); + // "d.e.f" should still exist independently as "w.y" still has a + // left or right child. + EXPECT_EQ(TestDomainTree::EXACTMATCH, + dtree_expose_empty_node.find(Name("d.e.f"), &cdtnode)); + EXPECT_EQ(Name("d.e.f"), cdtnode->getName()); + + // Now, delete "z" node. EXPECT_EQ(TestDomainTree::EXACTMATCH, dtree_expose_empty_node.find(Name("z.d.e.f"), &dtnode)); dtree_expose_empty_node.remove(mem_sgmt_, dtnode, deleteData);