summaryrefslogtreecommitdiff
path: root/test/core/CSSTest.cpp
diff options
context:
space:
mode:
authorBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2014-12-03 17:01:46 +0100
committerBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2014-12-03 17:01:46 +0100
commite91ba1faf25790eea34e7ae743aff06752f1ea8c (patch)
tree8ebacca554e639ddcbc547621076154d5cfaba45 /test/core/CSSTest.cpp
parent4a398a6771b42e1c928e2cbee35f8e5645e40369 (diff)
Convenience versions for SelectorNode::getChildren.
Diffstat (limited to 'test/core/CSSTest.cpp')
-rw-r--r--test/core/CSSTest.cpp54
1 files changed, 48 insertions, 6 deletions
diff --git a/test/core/CSSTest.cpp b/test/core/CSSTest.cpp
index 2c695d9..fdb8238 100644
--- a/test/core/CSSTest.cpp
+++ b/test/core/CSSTest.cpp
@@ -115,13 +115,55 @@ TEST(Specificity, testOperators)
TEST(SelectorNode, testGetChildren)
{
Manager mgr(1);
- Rooted<SelectorNode> root{new SelectorNode{mgr, "root", {"true", false}}};
- Rooted<SelectorNode> child{new SelectorNode{mgr, "A", {"true", false}}};
- root->getEdges().push_back(
- new SelectorNode::SelectorEdge{mgr, child, SelectionOperator::DESCENDANT});
+ // build some children.
+ Rooted<SelectorNode> root{new SelectorNode{mgr, "root"}};
+ Rooted<SelectorNode> A{new SelectorNode{mgr, "A"}};
+ Rooted<SelectorNode> AMy_Select{
+ new SelectorNode{mgr, "A", {"my_select", {"a", "b"}, false}}};
+ Rooted<SelectorNode> B{new SelectorNode{mgr, "B"}};
+
+ std::vector<Rooted<SelectorNode>> children = {A, AMy_Select, B};
+
+ for (auto &c : children) {
+ root->getEdges().push_back(new SelectorNode::SelectorEdge{
+ mgr, c, SelectionOperator::DESCENDANT});
+ }
+ root->getEdges().push_back(new SelectorNode::SelectorEdge{
+ mgr, B, SelectionOperator::DIRECT_DESCENDANT});
+
+ // make some checks.
+ std::vector<Rooted<SelectorNode>> expected = {A};
std::vector<Rooted<SelectorNode>> actual =
root->getChildren(SelectionOperator::DESCENDANT, "A", {"true", false});
- ASSERT_EQ(1,actual.size());
- ASSERT_EQ(child, actual[0]);
+ ASSERT_EQ(expected, actual);
+
+ expected = {A, AMy_Select};
+ actual = root->getChildren(SelectionOperator::DESCENDANT, "A");
+ ASSERT_EQ(expected, actual);
+ actual = root->getChildren("A");
+ ASSERT_EQ(expected, actual);
+
+ expected = {A, AMy_Select, B};
+ actual = root->getChildren(SelectionOperator::DESCENDANT);
+ ASSERT_EQ(expected, actual);
+
+ expected = {B};
+ actual = root->getChildren(SelectionOperator::DIRECT_DESCENDANT);
+ ASSERT_EQ(expected, actual);
+
+ expected = {B, B};
+ actual = root->getChildren("B");
+ ASSERT_EQ(expected, actual);
+
+ {
+ expected = {A, B, B};
+ PseudoSelector select = {"true", false};
+ actual = root->getChildren(select);
+ ASSERT_EQ(expected, actual);
+ }
+
+ expected = {A, AMy_Select, B, B};
+ actual = root->getChildren();
+ ASSERT_EQ(expected, actual);
}
}