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