소스 검색

Better test deletion loop

Dmitry-Me 8 년 전
부모
커밋
b41e24aa1c
1개의 변경된 파일23개의 추가작업 그리고 13개의 파일을 삭제
  1. 23 13
      xmltest.cpp

+ 23 - 13
xmltest.cpp

@@ -2017,19 +2017,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);
-		while (entry) {
-			tinyxml2::XMLElement* todelete = entry;
-			entry = entry->NextSiblingElement("entry");
-			playlist->DeleteChild(todelete);
-		};
-		tinyxml2::XMLElement* blank = playlist->FirstChildElement("blank");
-		while (blank) {
-			tinyxml2::XMLElement* todelete = blank;
-			blank = blank->NextSiblingElement("blank");
-			playlist->DeleteChild(todelete);
-		};
+		{
+			const char* elementName = "entry";
+			XMLElement* entry = playlist->FirstChildElement(elementName);
+			XMLTest("Crash bug parsing", true, entry != 0);
+			while (entry) {
+				XMLElement* todelete = entry;
+				entry = entry->NextSiblingElement(elementName);
+				playlist->DeleteChild(todelete);
+			}
+			entry = playlist->FirstChildElement(elementName);
+			XMLTest("Crash bug parsing", true, entry == 0);
+		}
+		{
+			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;
 		playlist->Accept(&printer);
 		playlist->Accept(&printer);