| #!/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() |