| #!/usr/bin/python -u | |
| import sys | |
| import libxml2 | |
| # Memory debug specific | |
| libxml2.debugMemory(1) | |
| # | |
| # Testing XML document serialization | |
| # | |
| doc = libxml2.parseDoc( | |
| """<?xml version="1.0" encoding="iso-8859-1"?> | |
| <!DOCTYPE test [ | |
| <!ELEMENT test (#PCDATA) > | |
| <!ATTLIST test xmlns:abc CDATA #FIXED "http://abc.org" > | |
| <!ATTLIST test abc:attr CDATA #FIXED "def" > | |
| ]> | |
| <test /> | |
| """) | |
| elem = doc.getRootElement() | |
| attr = elem.hasNsProp('attr', 'http://abc.org') | |
| if attr == None or attr.serialize()[:-1] != """<!ATTLIST test abc:attr CDATA #FIXED "def">""": | |
| print "Failed to find defaulted attribute abc:attr" | |
| sys.exit(1) | |
| doc.freeDoc() | |
| # Memory debug specific | |
| libxml2.cleanupParser() | |
| if libxml2.debugMemory(1) == 0: | |
| print "OK" | |
| else: | |
| print "Memory leak %d bytes" % (libxml2.debugMemory(1)) | |
| libxml2.dumpMemory() |