Dream test passing.
diff --git a/xmltest.cpp b/xmltest.cpp
index f5cb241..c025841 100644
--- a/xmltest.cpp
+++ b/xmltest.cpp
@@ -14,6 +14,36 @@
int gPass = 0;
int gFail = 0;
+//#define DREAM_ONLY
+
+/*
+int gNew = 0;
+int gNewTotal = 0;
+
+void* operator new( size_t size )
+{
+ ++gNew;
+ return malloc( size );
+}
+
+void* operator new[]( size_t size )
+{
+ ++gNew;
+ return malloc( size );
+}
+
+void operator delete[]( void* mem )
+{
+ free( mem );
+}
+
+void operator delete( void* mem )
+{
+ free( mem );
+}
+*/
+
+
bool XMLTest (const char* testString, const char* expected, const char* found, bool echo=true )
{
bool pass = !strcmp( expected, found );
@@ -61,7 +91,7 @@
#if defined( WIN32 )
_CrtMemCheckpoint( &startMemState );
#endif
-
+#ifndef DREAM_ONLY
#if 0
{
static const char* test = "<!--hello world\n"
@@ -169,6 +199,40 @@
delete doc;
}
+#endif
+ {
+ // Test: Dream
+ // XML1 : 1,187,569 bytes in 31,209 allocations
+ // XML2 : 469,073 bytes in 323 allocations
+ //int newStart = gNew;
+ XMLDocument doc;
+ doc.Load( "dream.xml" );
+
+ doc.Save( "dreamout.xml" );
+ doc.PrintError();
+
+ XMLTest( "Dream", "xml version=\"1.0\"",
+ doc.FirstChild()->ToDeclaration()->Value() );
+ XMLTest( "Dream", true, doc.FirstChild()->NextSibling()->ToUnknown() ? true : false );
+ XMLTest( "Dream", "DOCTYPE PLAY SYSTEM \"play.dtd\"",
+ doc.FirstChild()->NextSibling()->ToUnknown()->Value() );
+ XMLTest( "Dream", "And Robin shall restore amends.",
+ doc.LastChild()->LastChild()->LastChild()->LastChild()->LastChildElement()->GetText() );
+ XMLTest( "Dream", "And Robin shall restore amends.",
+ doc.LastChild()->LastChild()->LastChild()->LastChild()->LastChildElement()->GetText() );
+
+ XMLDocument doc2;
+ doc2.Load( "dreamout.xml" );
+ XMLTest( "Dream-out", "xml version=\"1.0\"",
+ doc2.FirstChild()->ToDeclaration()->Value() );
+ XMLTest( "Dream-out", true, doc2.FirstChild()->NextSibling()->ToUnknown() ? true : false );
+ XMLTest( "Dream-out", "DOCTYPE PLAY SYSTEM \"play.dtd\"",
+ doc2.FirstChild()->NextSibling()->ToUnknown()->Value() );
+ XMLTest( "Dream-out", "And Robin shall restore amends.",
+ doc2.LastChild()->LastChild()->LastChild()->LastChild()->LastChildElement()->GetText() );
+
+ //gNewTotal = gNew - newStart;
+ }
#if defined( WIN32 )
_CrtMemCheckpoint( &endMemState );
@@ -177,6 +241,7 @@
_CrtMemState diffMemState;
_CrtMemDifference( &diffMemState, &startMemState, &endMemState );
_CrtMemDumpStatistics( &diffMemState );
+ //printf( "new total=%d\n", gNewTotal );
#endif
printf ("\nPass %d, Fail %d\n", gPass, gFail);