diff options
Diffstat (limited to 'test/core/dom/NodeTest.cpp')
-rw-r--r-- | test/core/dom/NodeTest.cpp | 58 |
1 files changed, 28 insertions, 30 deletions
diff --git a/test/core/dom/NodeTest.cpp b/test/core/dom/NodeTest.cpp index ce49bfe..54bcc21 100644 --- a/test/core/dom/NodeTest.cpp +++ b/test/core/dom/NodeTest.cpp @@ -168,18 +168,18 @@ TEST(NodeDescriptor, rootRefCount) ASSERT_EQ(0, nd.rootRefCount); } -/* Class Handle */ +/* Class Owned */ -TEST(Handle, equalsAndAssign) +TEST(Owned, equalsAndAssign) { NodeManager mgr(1); Node *n1 = new Node(mgr), *n2 = new Node(mgr); - RootedHandle<Node> rh1{n1}; - RootedHandle<Node> rh2{n2}; + Rooted<Node> rh1{n1}; + Rooted<Node> rh2{n2}; - Handle<Node> h2{n2, n1}; + Owned<Node> h2{n2, n1}; // Equals operator ASSERT_TRUE(rh1 == n1); @@ -189,7 +189,7 @@ TEST(Handle, equalsAndAssign) ASSERT_TRUE(h2 == rh2); // Assignment operator - RootedHandle<Node> rh2b; + Rooted<Node> rh2b; ASSERT_FALSE(rh2b == rh2); rh2b = rh2; @@ -199,14 +199,14 @@ TEST(Handle, equalsAndAssign) rh2b = h2; ASSERT_TRUE(rh2b == h2); - Handle<Node> h2b; + Owned<Node> h2b; ASSERT_FALSE(rh2 == h2b); ASSERT_FALSE(h2 == h2b); h2b = h2; ASSERT_TRUE(rh2 == h2b); ASSERT_TRUE(h2 == h2b); - Handle<Node> h2c{h2b, n1}; + Owned<Node> h2c{h2b, n1}; ASSERT_TRUE(h2b == h2c); } @@ -216,7 +216,7 @@ class TestNode : public Node { private: bool &alive; - std::vector<Handle<Node>> refs; + std::vector<Owned<Node>> refs; public: TestNode(NodeManager &mgr, bool &alive) : Node(mgr), alive(alive) @@ -231,14 +231,12 @@ public: alive = false; } - template<class T> - void addRef(T n) { refs.push_back(acquire(n)); } + void addRef(Handle<Node> h) { refs.push_back(acquire(h)); } - template<class T> - void deleteRef(T n) + void deleteRef(Handle<Node> h) { for (auto it = refs.begin(); it != refs.end();) { - if (*it == n) { + if (*it == h) { it = refs.erase(it); } else { it++; @@ -259,7 +257,7 @@ TEST(NodeManager, linearDependencies) n3 = new TestNode(mgr, a[3]); { - RootedHandle<TestNode> hr{new TestNode(mgr, a[0])}; + Rooted<TestNode> hr{new TestNode(mgr, a[0])}; // All nodes must have set their "alive" flag to true for (bool v : a) { @@ -291,7 +289,7 @@ TEST(NodeManager, cyclicDependencies) n3 = new TestNode(mgr, a[3]); { - RootedHandle<TestNode> hr{new TestNode(mgr, a[0])}; + Rooted<TestNode> hr{new TestNode(mgr, a[0])}; // All nodes must have set their "alive" flag to true for (bool v : a) { @@ -322,7 +320,7 @@ TEST(NodeManager, selfReferentialCyclicDependencies) n1 = new TestNode(mgr, a[1]); { - RootedHandle<TestNode> hr{new TestNode(mgr, a[0])}; + Rooted<TestNode> hr{new TestNode(mgr, a[0])}; ASSERT_TRUE(a[0] && a[1]); hr->addRef(n1); n1->addRef(n1); @@ -344,9 +342,9 @@ TEST(NodeManager, doubleRooted) n2 = new TestNode(mgr, a[2]); { - RootedHandle<TestNode> hr1{new TestNode(mgr, a[0])}; + Rooted<TestNode> hr1{new TestNode(mgr, a[0])}; { - RootedHandle<TestNode> hr2{new TestNode(mgr, a[3])}; + Rooted<TestNode> hr2{new TestNode(mgr, a[3])}; // All nodes must have set their "alive" flag to true for (bool v : a) { @@ -386,7 +384,7 @@ TEST(NodeManager, disconnectSubgraph) n3 = new TestNode(mgr, a[3]); { - RootedHandle<TestNode> hr{new TestNode(mgr, a[0])}; + Rooted<TestNode> hr{new TestNode(mgr, a[0])}; // Create a linear dependency chain hr->addRef(n1); @@ -425,9 +423,9 @@ TEST(NodeManager, disconnectDoubleRootedSubgraph) n3 = new TestNode(mgr, a[3]); { - RootedHandle<TestNode> hr1{new TestNode(mgr, a[0])}; + Rooted<TestNode> hr1{new TestNode(mgr, a[0])}; { - RootedHandle<TestNode> hr2{new TestNode(mgr, a[4])}; + Rooted<TestNode> hr2{new TestNode(mgr, a[4])}; // Create a cyclic dependency chain with two rooted nodes hr1->addRef(n1); @@ -469,14 +467,14 @@ TEST(NodeManager, disconnectDoubleRootedSubgraph) } } -RootedHandle<TestNode> createFullyConnectedGraph(NodeManager &mgr, int nElem, +Rooted<TestNode> createFullyConnectedGraph(NodeManager &mgr, int nElem, bool alive[]) { - std::vector<RootedHandle<TestNode>> nodes; + std::vector<Rooted<TestNode>> nodes; // Create the nodes for (int i = 0; i < nElem; i++) { - nodes.push_back(RootedHandle<TestNode>{new TestNode{mgr, alive[i]}}); + nodes.push_back(Rooted<TestNode>{new TestNode{mgr, alive[i]}}); } // Add all connections @@ -496,11 +494,12 @@ TEST(NodeManager, fullyConnectedGraph) NodeManager mgr(1); { - RootedHandle<TestNode> n = createFullyConnectedGraph(mgr, nElem, &a[0]); + Rooted<TestNode> n = createFullyConnectedGraph(mgr, nElem, &a[0]); for (bool v : a) { ASSERT_TRUE(v); } } + for (bool v : a) { ASSERT_FALSE(v); } @@ -509,14 +508,13 @@ TEST(NodeManager, fullyConnectedGraph) class HidingTestNode : public TestNode { private: - RootedHandle<Node> hidden; + Rooted<Node> hidden; public: HidingTestNode(NodeManager &mgr, bool &alive) : TestNode(mgr, alive) {}; - template<class T> - void setHiddenRef(T t) { + void setHiddenRef(Handle<Node> t) { hidden = t; } @@ -530,7 +528,7 @@ TEST(NodeManager, hiddenRootedGraph) NodeManager mgr(1); { - RootedHandle<HidingTestNode> n{new HidingTestNode{mgr, b}}; + Rooted<HidingTestNode> n{new HidingTestNode{mgr, b}}; n->setHiddenRef(createFullyConnectedGraph(mgr, nElem, &a[0])); ASSERT_TRUE(b); |