From 09b5dfdcb0707c39874997efbf207ff554334c34 Mon Sep 17 00:00:00 2001 From: "arseny.kapoulkine" Date: Tue, 26 Oct 2010 17:09:34 +0000 Subject: Added xml_document::reset, added append/prepend/insert child overloads for elements (with explicit name) git-svn-id: http://pugixml.googlecode.com/svn/trunk@779 99668b35-9821-0410-8761-19e4c4f06640 --- tests/test_dom_modify.cpp | 72 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) (limited to 'tests/test_dom_modify.cpp') diff --git a/tests/test_dom_modify.cpp b/tests/test_dom_modify.cpp index b6155c1..70a01cc 100644 --- a/tests/test_dom_modify.cpp +++ b/tests/test_dom_modify.cpp @@ -469,6 +469,78 @@ TEST_XML(dom_node_insert_child_before, "foo") CHECK_NODE(doc, STR("foon3")); } +TEST_XML(dom_node_prepend_child_name, "foo") +{ + CHECK(xml_node().prepend_child(STR("")) == xml_node()); + CHECK(doc.child(STR("node")).first_child().prepend_child(STR("")) == xml_node()); + + xml_node n1 = doc.child(STR("node")).prepend_child(STR("n1")); + CHECK(n1); + + xml_node n2 = doc.child(STR("node")).prepend_child(STR("n2")); + CHECK(n2 && n1 != n2); + + CHECK_NODE(doc, STR("foo")); +} + +TEST_XML(dom_node_append_child_name, "foo") +{ + CHECK(xml_node().append_child(STR("")) == xml_node()); + CHECK(doc.child(STR("node")).first_child().append_child(STR("")) == xml_node()); + + xml_node n1 = doc.child(STR("node")).append_child(STR("n1")); + CHECK(n1); + + xml_node n2 = doc.child(STR("node")).append_child(STR("n2")); + CHECK(n2 && n1 != n2); + + CHECK_NODE(doc, STR("foo")); +} + +TEST_XML(dom_node_insert_child_after_name, "foo") +{ + CHECK(xml_node().insert_child_after(STR(""), xml_node()) == xml_node()); + CHECK(doc.child(STR("node")).first_child().insert_child_after(STR(""), xml_node()) == xml_node()); + + xml_node node = doc.child(STR("node")); + xml_node child = node.child(STR("child")); + + CHECK(node.insert_child_after(STR(""), node) == xml_node()); + CHECK(child.insert_child_after(STR(""), node) == xml_node()); + + xml_node n1 = node.insert_child_after(STR("n1"), child); + CHECK(n1 && n1 != node && n1 != child); + + xml_node n2 = node.insert_child_after(STR("n2"), child); + CHECK(n2 && n2 != node && n2 != child && n2 != n1); + + CHECK(child.insert_child_after(STR(""), n2) == xml_node()); + + CHECK_NODE(doc, STR("foo")); +} + +TEST_XML(dom_node_insert_child_before_name, "foo") +{ + CHECK(xml_node().insert_child_before(STR(""), xml_node()) == xml_node()); + CHECK(doc.child(STR("node")).first_child().insert_child_before(STR(""), xml_node()) == xml_node()); + + xml_node node = doc.child(STR("node")); + xml_node child = node.child(STR("child")); + + CHECK(node.insert_child_before(STR(""), node) == xml_node()); + CHECK(child.insert_child_before(STR(""), node) == xml_node()); + + xml_node n1 = node.insert_child_before(STR("n1"), child); + CHECK(n1 && n1 != node && n1 != child); + + xml_node n2 = node.insert_child_before(STR("n2"), child); + CHECK(n2 && n2 != node && n2 != child && n2 != n1); + + CHECK(child.insert_child_before(STR(""), n2) == xml_node()); + + CHECK_NODE(doc, STR("foo")); +} + TEST_XML(dom_node_remove_child, "") { CHECK(!xml_node().remove_child(STR("a"))); -- cgit v1.2.3