summaryrefslogtreecommitdiff
path: root/tests/test_dom_traverse.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_dom_traverse.cpp')
-rw-r--r--tests/test_dom_traverse.cpp51
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/test_dom_traverse.cpp b/tests/test_dom_traverse.cpp
new file mode 100644
index 0000000..bbee076
--- /dev/null
+++ b/tests/test_dom_traverse.cpp
@@ -0,0 +1,51 @@
+#include "common.hpp"
+
+TEST_XML(dom_attr_bool_ops, "<node attr='1'/>")
+{
+ xml_attribute attr1;
+ xml_attribute attr2 = doc.child("node").attribute("attr");
+
+ CHECK(!attr1);
+ CHECK(attr2);
+ CHECK(!!attr2);
+
+ bool attr1b = attr1;
+ bool attr2b = attr2;
+
+ CHECK(!attr1b);
+ CHECK(attr2b);
+}
+
+TEST_XML(dom_attr_empty, "<node attr='1'/>")
+{
+ xml_attribute attr1;
+ xml_attribute attr2 = doc.child("node").attribute("attr");
+
+ CHECK(attr1.empty());
+ CHECK(!attr2.empty());
+}
+
+TEST_XML(dom_node_bool_ops, "<node/>")
+{
+ xml_node node1;
+ xml_node node2 = doc.child("node");
+
+ CHECK(!node1);
+ CHECK(node2);
+ CHECK(!!node2);
+
+ bool node1b = node1;
+ bool node2b = node2;
+
+ CHECK(!node1b);
+ CHECK(node2b);
+}
+
+TEST_XML(dom_node_empty, "<node/>")
+{
+ xml_node node1;
+ xml_node node2 = doc.child("node");
+
+ CHECK(node1.empty());
+ CHECK(!node2.empty());
+}