Added static method to convert arbitrary ErrorID to a string.
Updated tests to print ErrorID and bool values as strings.
diff --git a/tinyxml2.cpp b/tinyxml2.cpp
index 826eb9b..cdf8ec7 100755
--- a/tinyxml2.cpp
+++ b/tinyxml2.cpp
@@ -2226,14 +2226,19 @@
_errorStr2.SetStr(str2);
}
-const char* XMLDocument::ErrorName() const
+const char* XMLDocument::ErrorName(XMLError errorID)
{
- TIXMLASSERT( _errorID >= 0 && _errorID < XML_ERROR_COUNT );
- const char* errorName = _errorNames[_errorID];
+ TIXMLASSERT( errorID >= 0 && errorID < XML_ERROR_COUNT );
+ const char* errorName = _errorNames[errorID];
TIXMLASSERT( errorName && errorName[0] );
return errorName;
}
+const char* XMLDocument::ErrorName() const
+{
+ return ErrorName(_errorID);
+}
+
void XMLDocument::PrintError() const
{
if ( Error() ) {
diff --git a/tinyxml2.h b/tinyxml2.h
index 12b204f..b7f822f 100755
--- a/tinyxml2.h
+++ b/tinyxml2.h
@@ -1749,6 +1749,7 @@
return _errorID;
}
const char* ErrorName() const;
+ static const char* ErrorName(XMLError errorID);
/// Return a possibly helpful diagnostic location or string.
const char* GetErrorStr1() const {
diff --git a/xmltest.cpp b/xmltest.cpp
index 21c6093..27dd85c 100644
--- a/xmltest.cpp
+++ b/xmltest.cpp
@@ -63,6 +63,15 @@
return pass;
}
+bool XMLTest(const char* testString, XMLError expected, XMLError found, bool echo = true, bool extraNL = false)
+{
+ return XMLTest(testString, XMLDocument::ErrorName(expected), XMLDocument::ErrorName(found), echo, extraNL);
+}
+
+bool XMLTest(const char* testString, bool expected, bool found, bool echo = true, bool extraNL = false)
+{
+ return XMLTest(testString, expected ? "true" : "false", found ? "true" : "false", echo, extraNL);
+}
template< class T > bool XMLTest( const char* testString, T expected, T found, bool echo=true )
{