|
@@ -59,18 +59,13 @@ const size_t Name::MAX_LABELS;
|
|
|
|
|
|
namespace {
|
|
|
|
|
|
-class DeleterType {
|
|
|
-public:
|
|
|
- DeleterType() {}
|
|
|
-
|
|
|
- void operator()(util::MemorySegment&, int* i) const {
|
|
|
- delete i;
|
|
|
- }
|
|
|
-};
|
|
|
+void deleteData(int* i) {
|
|
|
+ delete i;
|
|
|
+}
|
|
|
|
|
|
-typedef DomainTree<int, DeleterType> TestDomainTree;
|
|
|
-typedef DomainTreeNode<int, DeleterType> TestDomainTreeNode;
|
|
|
-typedef DomainTreeNodeChain<int, DeleterType> TestDomainTreeNodeChain;
|
|
|
+typedef DomainTree<int> TestDomainTree;
|
|
|
+typedef DomainTreeNode<int> TestDomainTreeNode;
|
|
|
+typedef DomainTreeNodeChain<int> TestDomainTreeNodeChain;
|
|
|
|
|
|
class TreeHolder {
|
|
|
public:
|
|
@@ -78,7 +73,7 @@ public:
|
|
|
mem_sgmt_(mem_sgmt), tree_(tree)
|
|
|
{}
|
|
|
~TreeHolder() {
|
|
|
- TestDomainTree::destroy(mem_sgmt_, tree_);
|
|
|
+ TestDomainTree::destroy(mem_sgmt_, tree_, deleteData);
|
|
|
}
|
|
|
TestDomainTree* get() { return (tree_); }
|
|
|
private:
|
|
@@ -102,11 +97,11 @@ protected:
|
|
|
int name_count = sizeof(domain_names) / sizeof(domain_names[0]);
|
|
|
for (int i = 0; i < name_count; ++i) {
|
|
|
dtree.insert(mem_sgmt_, Name(domain_names[i]), &dtnode);
|
|
|
- dtnode->setData(mem_sgmt_, new int(i + 1));
|
|
|
+ dtnode->setData(new int(i + 1));
|
|
|
|
|
|
dtree_expose_empty_node.insert(mem_sgmt_, Name(domain_names[i]),
|
|
|
&dtnode);
|
|
|
- dtnode->setData(mem_sgmt_, new int(i + 1));
|
|
|
+ dtnode->setData(new int(i + 1));
|
|
|
|
|
|
}
|
|
|
}
|
|
@@ -125,12 +120,12 @@ TEST_F(DomainTreeTest, nodeCount) {
|
|
|
|
|
|
// Delete all nodes, then the count should be set to 0. This also tests
|
|
|
// the behavior of deleteAllNodes().
|
|
|
- dtree.deleteAllNodes(mem_sgmt_);
|
|
|
+ dtree.deleteAllNodes(mem_sgmt_, deleteData);
|
|
|
EXPECT_EQ(0, dtree.getNodeCount());
|
|
|
}
|
|
|
|
|
|
TEST_F(DomainTreeTest, setGetData) {
|
|
|
- dtnode->setData(mem_sgmt_, new int(11));
|
|
|
+ dtnode->setData(new int(11));
|
|
|
EXPECT_EQ(11, *(dtnode->getData()));
|
|
|
}
|
|
|
|
|
@@ -151,7 +146,7 @@ TEST_F(DomainTreeTest, insertNames) {
|
|
|
Name("example.com"),
|
|
|
&dtnode));
|
|
|
EXPECT_EQ(17, dtree.getNodeCount());
|
|
|
- dtnode->setData(mem_sgmt_, new int(12));
|
|
|
+ dtnode->setData(new int(12));
|
|
|
|
|
|
// return ALREADYEXISTS, since node "example.com" already has
|
|
|
// been explicitly inserted
|
|
@@ -381,7 +376,7 @@ performCallbackTest(TestDomainTree& dtree,
|
|
|
EXPECT_EQ(TestDomainTree::SUCCESS, dtree.insert(mem_sgmt,
|
|
|
Name("callback.example"),
|
|
|
&dtnode));
|
|
|
- dtnode->setData(mem_sgmt, new int(1));
|
|
|
+ dtnode->setData(new int(1));
|
|
|
EXPECT_FALSE(dtnode->getFlag(TestDomainTreeNode::FLAG_CALLBACK));
|
|
|
|
|
|
// enable/re-disable callback
|
|
@@ -397,7 +392,7 @@ performCallbackTest(TestDomainTree& dtree,
|
|
|
EXPECT_EQ(TestDomainTree::SUCCESS, dtree.insert(mem_sgmt,
|
|
|
Name("sub.callback.example"),
|
|
|
&subdtnode));
|
|
|
- subdtnode->setData(mem_sgmt, new int(2));
|
|
|
+ subdtnode->setData(new int(2));
|
|
|
TestDomainTreeNode* parentdtnode;
|
|
|
EXPECT_EQ(TestDomainTree::ALREADYEXISTS, dtree.insert(mem_sgmt,
|
|
|
Name("example"),
|
|
@@ -997,7 +992,7 @@ TEST_F(DomainTreeTest, root) {
|
|
|
TreeHolder tree_holder(mem_sgmt_, TestDomainTree::create(mem_sgmt_));
|
|
|
TestDomainTree& root(*tree_holder.get());
|
|
|
root.insert(mem_sgmt_, Name::ROOT_NAME(), &dtnode);
|
|
|
- dtnode->setData(mem_sgmt_, new int(1));
|
|
|
+ dtnode->setData(new int(1));
|
|
|
|
|
|
EXPECT_EQ(TestDomainTree::EXACTMATCH,
|
|
|
root.find(Name::ROOT_NAME(), &cdtnode));
|
|
@@ -1009,7 +1004,7 @@ TEST_F(DomainTreeTest, root) {
|
|
|
// Insert a new name that better matches the query name. find() should
|
|
|
// find the better one.
|
|
|
root.insert(mem_sgmt_, Name("com"), &dtnode);
|
|
|
- dtnode->setData(mem_sgmt_, new int(2));
|
|
|
+ dtnode->setData(new int(2));
|
|
|
EXPECT_EQ(TestDomainTree::PARTIALMATCH,
|
|
|
root.find(Name("example.com"), &cdtnode));
|
|
|
EXPECT_EQ(dtnode, cdtnode);
|