working with attributes. adding missing methods
diff --git a/xmltest.cpp b/xmltest.cpp
index b2c2047..cfb2183 100644
--- a/xmltest.cpp
+++ b/xmltest.cpp
@@ -4,63 +4,63 @@
#include <stdlib.h>
#include <string.h>
-#if defined( WIN32 )
- #include <crtdbg.h>
- _CrtMemState startMemState;
- _CrtMemState endMemState;
-#endif
+#if defined( WIN32 )
+ #include <crtdbg.h>
+ _CrtMemState startMemState;
+ _CrtMemState endMemState;
+#endif
using namespace tinyxml2;
int gPass = 0;
int gFail = 0;
-bool XmlTest (const char* testString, const char* expected, const char* found, bool noEcho )
-{
- bool pass = !strcmp( expected, found );
- if ( pass )
- printf ("[pass]");
- else
- printf ("[fail]");
-
- if ( noEcho )
- printf (" %s\n", testString);
- else
- printf (" %s [%s][%s]\n", testString, expected, found);
-
- if ( pass )
- ++gPass;
- else
- ++gFail;
- return pass;
-}
-
-
-bool XmlTest( const char* testString, int expected, int found, bool noEcho )
-{
- bool pass = ( expected == found );
- if ( pass )
- printf ("[pass]");
- else
- printf ("[fail]");
-
- if ( noEcho )
- printf (" %s\n", testString);
- else
- printf (" %s [%d][%d]\n", testString, expected, found);
-
- if ( pass )
- ++gPass;
- else
- ++gFail;
- return pass;
-}
+bool XmlTest (const char* testString, const char* expected, const char* found, bool noEcho )
+{
+ bool pass = !strcmp( expected, found );
+ if ( pass )
+ printf ("[pass]");
+ else
+ printf ("[fail]");
+
+ if ( noEcho )
+ printf (" %s\n", testString);
+ else
+ printf (" %s [%s][%s]\n", testString, expected, found);
+
+ if ( pass )
+ ++gPass;
+ else
+ ++gFail;
+ return pass;
+}
+
+
+bool XmlTest( const char* testString, int expected, int found, bool noEcho )
+{
+ bool pass = ( expected == found );
+ if ( pass )
+ printf ("[pass]");
+ else
+ printf ("[fail]");
+
+ if ( noEcho )
+ printf (" %s\n", testString);
+ else
+ printf (" %s [%d][%d]\n", testString, expected, found);
+
+ if ( pass )
+ ++gPass;
+ else
+ ++gFail;
+ return pass;
+}
int main( int argc, const char* argv )
{
- #if defined( WIN32 )
- _CrtMemCheckpoint( &startMemState );
- #endif
+ #if defined( WIN32 )
+ _CrtMemCheckpoint( &startMemState );
+ #endif
#if 0
{
@@ -120,29 +120,40 @@
}
#endif
{
+ // Test: Programmatic DOM
// Build:
// <element>
// <!--comment-->
// <sub attrib="1" />
// <sub attrib="2" />
- // <sub attrib="3" />
+ // <sub attrib="3" >With Text!</sub>
// <element>
XMLDocument* doc = new XMLDocument();
- doc->InsertEndChild( doc->NewElement( "element" ) );
+ XMLNode* element = doc->InsertEndChild( doc->NewElement( "element" ) );
+
+ XMLElement* sub[3] = { doc->NewElement( "sub" ), doc->NewElement( "sub" ), doc->NewElement( "sub" ) };
+ for( int i=0; i<3; ++i ) {
+ sub[i]->SetAttribute( "attrib", i );
+ }
+ element->InsertEndChild( sub[2] );
+ XMLNode* comment = element->InsertFirstChild( doc->NewComment( "comment" ) );
+ element->InsertAfterChild( comment, sub[0] );
+ element->InsertAfterChild( sub[0], sub[1] );
+ sub[2]->InsertFirstChild( doc->NewText( "With Text!" ));
doc->Print();
delete doc;
}
- #if defined( WIN32 )
- _CrtMemCheckpoint( &endMemState );
- //_CrtMemDumpStatistics( &endMemState );
-
- _CrtMemState diffMemState;
- _CrtMemDifference( &diffMemState, &startMemState, &endMemState );
- _CrtMemDumpStatistics( &diffMemState );
- #endif
-
- printf ("\nPass %d, Fail %d\n", gPass, gFail);
+ #if defined( WIN32 )
+ _CrtMemCheckpoint( &endMemState );
+ //_CrtMemDumpStatistics( &endMemState );
+
+ _CrtMemState diffMemState;
+ _CrtMemDifference( &diffMemState, &startMemState, &endMemState );
+ _CrtMemDumpStatistics( &diffMemState );
+ #endif
+
+ printf ("\nPass %d, Fail %d\n", gPass, gFail);
return 0;
}
\ No newline at end of file