summaryrefslogtreecommitdiff
path: root/src/utils/xml_unittest.cc
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-01-19 16:22:35 +0300
committerAndrei Karas <akaras@inbox.ru>2016-01-19 16:22:35 +0300
commit3d6211f4d5e744622c8e55ef31b42cf066a32da0 (patch)
tree470f141d3474cf69815ff502940f753c94c11e6c /src/utils/xml_unittest.cc
parentb257d71a41b0662db3b954e44ba9bfca2fb6c6cc (diff)
downloadmanaplus-3d6211f4d5e744622c8e55ef31b42cf066a32da0.tar.gz
manaplus-3d6211f4d5e744622c8e55ef31b42cf066a32da0.tar.bz2
manaplus-3d6211f4d5e744622c8e55ef31b42cf066a32da0.tar.xz
manaplus-3d6211f4d5e744622c8e55ef31b42cf066a32da0.zip
Add some more xml unit tests.
Diffstat (limited to 'src/utils/xml_unittest.cc')
-rw-r--r--src/utils/xml_unittest.cc30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/utils/xml_unittest.cc b/src/utils/xml_unittest.cc
index 9da507981..07edfe7c6 100644
--- a/src/utils/xml_unittest.cc
+++ b/src/utils/xml_unittest.cc
@@ -62,6 +62,18 @@ TEST_CASE("xml doc")
REQUIRE(xmlNameEqual(doc.rootNode(), "root") == true);
}
+ SECTION("load3")
+ {
+ const std::string xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ "<!-- comment here\nand here -->"
+ "<root><data option1=\"false\" option2=\"true\"/></root>";
+ XML::Document doc(xml.c_str(), xml.size());
+ REQUIRE(doc.isLoaded() == true);
+ REQUIRE(doc.isValid() == true);
+ REQUIRE(doc.rootNode() != nullptr);
+ REQUIRE(xmlNameEqual(doc.rootNode(), "root") == true);
+ }
+
SECTION("properties")
{
XML::Document doc("graphics/gui/browserbox.xml",
@@ -146,6 +158,24 @@ TEST_CASE("xml doc")
REQUIRE(opt3 < 11);
}
+ SECTION("child3")
+ {
+ const std::string xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ "<!-- comment --><root><!-- comment -->"
+ "<data option1=\"false\" option2=\"true\" "
+ "option3=\"10.5\"/><!-- comment --></root>";
+ XML::Document doc(xml.c_str(), xml.size());
+ const XmlNodePtr rootNode = doc.rootNode();
+ XmlNodePtr node = XML::findFirstChildByName(rootNode, "data");
+ REQUIRE(node != nullptr);
+ REQUIRE(xmlNameEqual(node, "data") == true);
+ REQUIRE(XML::getBoolProperty(node, "option1", true) == false);
+ REQUIRE(XML::getBoolProperty(node, "option2", false) == true);
+ const float opt3 = XML::getFloatProperty(node, "option3", 0.0);
+ REQUIRE(opt3 > 10);
+ REQUIRE(opt3 < 11);
+ }
+
SECTION("validate")
{
// REQUIRE(XML::Document::validateXml(