Browse Source

Test nodes deletion via document

Dmitry-Me 8 years ago
parent
commit
e5790dba97
1 changed files with 18 additions and 0 deletions
  1. 18 0
      xmltest.cpp

+ 18 - 0
xmltest.cpp

@@ -1756,6 +1756,24 @@ int main( int argc, const char ** argv )
         doc.DeleteNode(pRoot);
     }
 
+    {
+        XMLDocument doc;
+        XMLElement* root = doc.NewElement( "Root" );
+        XMLTest( "Node document before insertion", true, &doc == root->GetDocument() );
+        doc.InsertEndChild( root );
+        XMLTest( "Node document after insertion", true, &doc == root->GetDocument() );
+    }
+
+    {
+        // If this doesn't assert in DEBUG, all is well.
+        XMLDocument doc;
+        XMLElement* unlinkedRoot = doc.NewElement( "Root" );
+        XMLElement* linkedRoot = doc.NewElement( "Root" );
+        doc.InsertFirstChild( linkedRoot );
+        unlinkedRoot->GetDocument()->DeleteNode( linkedRoot );
+        unlinkedRoot->GetDocument()->DeleteNode( unlinkedRoot );
+    }
+
 	{
 		// Should not assert in DEBUG
 		XMLPrinter printer;