Test nodes deletion via document
diff --git a/xmltest.cpp b/xmltest.cpp
index 10c7dba..08af615 100644
--- a/xmltest.cpp
+++ b/xmltest.cpp
@@ -1756,6 +1756,24 @@
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;