#!/usr/bin/env python3 import sys import setup_test 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)))