diff options
-rw-r--r-- | tests/test_dom_traverse.cpp | 28 | ||||
-rw-r--r-- | tests/test_xpath.cpp | 6 |
2 files changed, 28 insertions, 6 deletions
diff --git a/tests/test_dom_traverse.cpp b/tests/test_dom_traverse.cpp index 18d59a4..71402c5 100644 --- a/tests/test_dom_traverse.cpp +++ b/tests/test_dom_traverse.cpp @@ -757,3 +757,31 @@ TEST_XML_FLAGS(dom_offset_debug, "<?xml?><?pi?><!--comment--><node>pcdata<![CDAT CHECK((cit++)->offset_debug() == 33); CHECK((cit++)->offset_debug() == 48); } + +TEST_XML(dom_document_order, "<node attr='value'>value</node>") +{ + xml_node node = doc.child(STR("node")); + xml_attribute attr = node.first_attribute(); + xml_node value = node.first_child(); + + CHECK(xml_node().document_order() == 0); + CHECK(xml_attribute().document_order() == 0); + + CHECK(doc.document_order() == 0); + CHECK(node.document_order() != 0 && attr.document_order() != 0 && value.document_order() != 0); + + CHECK(node.document_order() < attr.document_order() && attr.document_order() < value.document_order()); + + attr.set_name(STR("newattr")); + CHECK(attr.document_order() != 0); + CHECK(node.document_order() < attr.document_order() && attr.document_order() < value.document_order()); + + attr.set_value(STR("newvalue")); + CHECK(attr.document_order() == 0); + + node.set_name(STR("newnode")); + CHECK(node.document_order() == 0); + + value.set_value(STR("newvalue")); + CHECK(value.document_order() == 0); +} diff --git a/tests/test_xpath.cpp b/tests/test_xpath.cpp index a2e8200..d8ebcb6 100644 --- a/tests/test_xpath.cpp +++ b/tests/test_xpath.cpp @@ -263,12 +263,6 @@ TEST(xpath_miscellaneous) CHECK_XPATH_NODESET(xml_node(), STR("foo/@FOO/@bar")); } -TEST(xpath_document_order) -{ - CHECK(xml_attribute().document_order() == 0); - CHECK(xml_node().document_order() == 0); -} - TEST_XML(xpath_context_node, "<node>5</node>") { CHECK_XPATH_NODESET(doc, STR("node")) % 2; |