add test cases
diff --git a/xmltest.cpp b/xmltest.cpp
index a0aaee7..d2bc3ea 100644
--- a/xmltest.cpp
+++ b/xmltest.cpp
@@ -804,6 +804,7 @@
// ---------- Attributes ---------
{
static const int64_t BIG = -123456789012345678;
+ static const uint64_t BIG_POS = 123456789012345678;
XMLDocument doc;
XMLElement* element = doc.NewElement("element");
doc.InsertFirstChild(element);
@@ -864,7 +865,23 @@
}
XMLTest("Attribute: int64_t", BIG, element->Int64Attribute("attrib"), true);
}
- {
+ {
+ element->SetAttribute("attrib", BIG_POS);
+ {
+ uint64_t v = 0;
+ XMLError queryResult = element->QueryUnsigned64Attribute("attrib", &v);
+ XMLTest("Attribute: uint64_t", XML_SUCCESS, queryResult, true);
+ XMLTest("Attribute: uint64_t", BIG_POS, v, true);
+ }
+ {
+ uint64_t v = 0;
+ int queryResult = element->QueryAttribute("attrib", &v);
+ XMLTest("Attribute: uint64_t", (int)XML_SUCCESS, queryResult, true);
+ XMLTest("Attribute: uint64_t", BIG_POS, v, true);
+ }
+ XMLTest("Attribute: uint64_t", BIG_POS, element->Unsigned64Attribute("attrib"), true);
+ }
+ {
element->SetAttribute("attrib", true);
{
bool v = false;
@@ -931,7 +948,14 @@
XMLTest("Element: int64_t", XML_SUCCESS, queryResult, true);
XMLTest("Element: int64_t", BIG, v, true);
}
- }
+ {
+ element->SetText(BIG_POS);
+ uint64_t v = 0;
+ XMLError queryResult = element->QueryUnsigned64Text(&v);
+ XMLTest("Element: uint64_t", XML_SUCCESS, queryResult, true);
+ XMLTest("Element: uint64_t", BIG_POS, v, true);
+ }
+ }
// ---------- XMLPrinter stream mode ------
{
@@ -944,7 +968,8 @@
printer.PushAttribute("attrib-int", int(1));
printer.PushAttribute("attrib-unsigned", unsigned(2));
printer.PushAttribute("attrib-int64", int64_t(3));
- printer.PushAttribute("attrib-bool", true);
+ printer.PushAttribute("attrib-uint64", uint64_t(37));
+ printer.PushAttribute("attrib-bool", true);
printer.PushAttribute("attrib-double", 4.0);
printer.CloseElement();
fclose(printerfp);
@@ -964,7 +989,9 @@
XMLTest("attrib-unsigned", unsigned(2), attrib->UnsignedValue(), true);
attrib = cdoc.FirstChildElement("foo")->FindAttribute("attrib-int64");
XMLTest("attrib-int64", int64_t(3), attrib->Int64Value(), true);
- attrib = cdoc.FirstChildElement("foo")->FindAttribute("attrib-bool");
+ attrib = cdoc.FirstChildElement("foo")->FindAttribute("attrib-uint64");
+ XMLTest("attrib-uint64", uint64_t(37), attrib->Unsigned64Value(), true);
+ attrib = cdoc.FirstChildElement("foo")->FindAttribute("attrib-bool");
XMLTest("attrib-bool", true, attrib->BoolValue(), true);
attrib = cdoc.FirstChildElement("foo")->FindAttribute("attrib-double");
XMLTest("attrib-double", 4.0, attrib->DoubleValue(), true);