From d09ab089457ae3c20cc98f9afa03379c6ebf9598 Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Thu, 25 Mar 2004 06:59:32 +0000 Subject: [svn-inject] Installing original source version --- python/tests/cutnpaste.py | 48 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100755 python/tests/cutnpaste.py (limited to 'python/tests/cutnpaste.py') diff --git a/python/tests/cutnpaste.py b/python/tests/cutnpaste.py new file mode 100755 index 0000000..0f9665a --- /dev/null +++ b/python/tests/cutnpaste.py @@ -0,0 +1,48 @@ +#!/usr/bin/python -u +import sys +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +# +# Testing XML document serialization +# +source = libxml2.parseDoc(""" + + + + + +""") + +target = libxml2.parseDoc(""" +""") + +fragment = source.xpathEval("//*[name()='fragment']")[0] +dest = target.getRootElement() + +# do a cut and paste operation +fragment.unlinkNode() +dest.addChild(fragment) +# do the namespace fixup +dest.reconciliateNs(target) + +# The source tree can be freed at that point +source.freeDoc() + +# check the resulting tree +str = dest.serialize() +if str != """""": + print "reconciliateNs() failed" + sys.exit(1) +target.freeDoc() + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print "OK" +else: + print "Memory leak %d bytes" % (libxml2.debugMemory(1)) + libxml2.dumpMemory() -- cgit v1.2.3