Merge pull request #663 from Dmitry-Me/clarifyHandlesTests

Improve handles tests
This commit is contained in:
Lee Thomason
2018-03-23 09:31:54 -07:00
committed by GitHub

View File

@@ -1470,28 +1470,31 @@ int main( int argc, const char ** argv )
static const char* xml = "<element attrib='bar'><sub>Text</sub></element>"; static const char* xml = "<element attrib='bar'><sub>Text</sub></element>";
XMLDocument doc; XMLDocument doc;
doc.Parse( xml ); doc.Parse( xml );
XMLTest( "Parse element with attribute and nested element round 1", false, doc.Error() ); XMLTest( "Handle, parse element with attribute and nested element", false, doc.Error() );
{
XMLElement* ele = XMLHandle( doc ).FirstChildElement( "element" ).FirstChild().ToElement(); XMLElement* ele = XMLHandle( doc ).FirstChildElement( "element" ).FirstChild().ToElement();
XMLTest( "Handle, success, mutable", "sub", ele->Value() ); XMLTest( "Handle, non-const, element is found", true, ele != 0 );
XMLTest( "Handle, non-const, element name matches", "sub", ele->Value() );
XMLHandle docH( doc ); }
ele = docH.FirstChildElement( "none" ).FirstChildElement( "element" ).ToElement();
XMLTest( "Handle, dne, mutable", true, ele == 0 ); {
XMLHandle docH( doc );
XMLElement* ele = docH.FirstChildElement( "noSuchElement" ).FirstChildElement( "element" ).ToElement();
XMLTest( "Handle, non-const, element not found", true, ele == 0 );
}
{
const XMLElement* ele = XMLConstHandle( doc ).FirstChildElement( "element" ).FirstChild().ToElement();
XMLTest( "Handle, const, element is found", true, ele != 0 );
XMLTest( "Handle, const, element name matches", "sub", ele->Value() );
} }
{ {
static const char* xml = "<element attrib='bar'><sub>Text</sub></element>";
XMLDocument doc;
doc.Parse( xml );
XMLTest( "Parse element with attribute and nested element round 2", false, doc.Error() );
XMLConstHandle docH( doc ); XMLConstHandle docH( doc );
const XMLElement* ele = docH.FirstChildElement( "noSuchElement" ).FirstChildElement( "element" ).ToElement();
const XMLElement* ele = docH.FirstChildElement( "element" ).FirstChild().ToElement(); XMLTest( "Handle, const, element not found", true, ele == 0 );
XMLTest( "Handle, success, const", "sub", ele->Value() ); }
ele = docH.FirstChildElement( "none" ).FirstChildElement( "element" ).ToElement();
XMLTest( "Handle, dne, const", true, ele == 0 );
} }
{ {
// Default Declaration & BOM // Default Declaration & BOM