Lee Thomason 8 lat temu
rodzic
commit
82bb074b49
1 zmienionych plików z 17 dodań i 11 usunięć
  1. 17 11
      xmltest.cpp

+ 17 - 11
xmltest.cpp

@@ -1758,17 +1758,17 @@ int main( int argc, const char ** argv )
 		// Crashing reported via email.
 		// Crashing reported via email.
 		const char* xml =
 		const char* xml =
 			"<playlist id='playlist1'>"
 			"<playlist id='playlist1'>"
-				"<property name='track_name'>voice</property>"
-				"<property name='audio_track'>1</property>"
-				"<entry out = '604' producer = '4_playlist1' in = '0' />"
-				"<blank length = '1' />"
-				"<entry out = '1625' producer = '3_playlist' in = '0' />"
-				"<blank length = '2' />"
-				"<entry out = '946' producer = '2_playlist1' in = '0' />"
-				"<blank length = '1' />"
-				"<entry out = '128' producer = '1_playlist1' in = '0' />"
+			"<property name='track_name'>voice</property>"
+			"<property name='audio_track'>1</property>"
+			"<entry out = '604' producer = '4_playlist1' in = '0' />"
+			"<blank length = '1' />"
+			"<entry out = '1625' producer = '3_playlist' in = '0' />"
+			"<blank length = '2' />"
+			"<entry out = '946' producer = '2_playlist1' in = '0' />"
+			"<blank length = '1' />"
+			"<entry out = '128' producer = '1_playlist1' in = '0' />"
 			"</playlist>";
 			"</playlist>";
-			
+
 		// It's not a good idea to delete elements as you walk the
 		// It's not a good idea to delete elements as you walk the
 		// list. I'm not sure this technically should work; but it's
 		// list. I'm not sure this technically should work; but it's
 		// an interesting test case.
 		// an interesting test case.
@@ -1797,7 +1797,13 @@ int main( int argc, const char ** argv )
 		playlist->Accept(&printer);
 		playlist->Accept(&printer);
 		printf("%s\n", printer.CStr());
 		printf("%s\n", printer.CStr());
 
 
-		// No test; it only need to not crash.
+		// No test; it only need to not crash. 
+		// Still, wrap it up with a sanity check
+		int nProperty = 0;
+		for (const XMLElement* p = playlist->FirstChildElement("property"); p; p = p->NextSiblingElement("property")) {
+			nProperty++;
+		}
+		XMLTest("Crash bug parsing", nProperty, 2);
 	}
 	}
 
 
     // ----------- Line Number Tracking --------------
     // ----------- Line Number Tracking --------------