Merge pull request #626 from Dmitry-Me/betterTestDeletionLoop

Better test deletion loop
This commit is contained in:
Lee Thomason 2017-10-09 16:00:27 -07:00 committed by GitHub
commit dd4034c518
1 changed files with 23 additions and 13 deletions

View File

@ -2025,19 +2025,29 @@ int main( int argc, const char ** argv )
XMLElement* playlist = doc.FirstChildElement("playlist"); XMLElement* playlist = doc.FirstChildElement("playlist");
XMLTest("Crash bug parsing", true, playlist != 0); XMLTest("Crash bug parsing", true, playlist != 0);
tinyxml2::XMLElement* entry = playlist->FirstChildElement("entry"); {
XMLTest("Crash bug parsing", true, entry != 0); const char* elementName = "entry";
while (entry) { XMLElement* entry = playlist->FirstChildElement(elementName);
tinyxml2::XMLElement* todelete = entry; XMLTest("Crash bug parsing", true, entry != 0);
entry = entry->NextSiblingElement("entry"); while (entry) {
playlist->DeleteChild(todelete); XMLElement* todelete = entry;
}; entry = entry->NextSiblingElement(elementName);
tinyxml2::XMLElement* blank = playlist->FirstChildElement("blank"); playlist->DeleteChild(todelete);
while (blank) { }
tinyxml2::XMLElement* todelete = blank; entry = playlist->FirstChildElement(elementName);
blank = blank->NextSiblingElement("blank"); XMLTest("Crash bug parsing", true, entry == 0);
playlist->DeleteChild(todelete); }
}; {
const char* elementName = "blank";
XMLElement* blank = playlist->FirstChildElement(elementName);
XMLTest("Crash bug parsing", true, blank != 0);
while (blank) {
XMLElement* todelete = blank;
blank = blank->NextSiblingElement(elementName);
playlist->DeleteChild(todelete);
}
XMLTest("Crash bug parsing", true, blank == 0);
}
tinyxml2::XMLPrinter printer; tinyxml2::XMLPrinter printer;
const bool acceptResult = playlist->Accept(&printer); const bool acceptResult = playlist->Accept(&printer);