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 )

 {