Home | History | Annotate | Download | only in tests
      1 #!/usr/bin/python -u
      2 import sys
      3 import libxml2
      4 
      5 # Memory debug specific
      6 libxml2.debugMemory(1)
      7 
      8 #
      9 # Testing XML document serialization
     10 #
     11 doc = libxml2.parseDoc(
     12 """<?xml version="1.0" encoding="iso-8859-1"?>
     13 <!DOCTYPE test [
     14 <!ELEMENT test (#PCDATA) >
     15 <!ATTLIST test xmlns:abc CDATA #FIXED "http://abc.org" >
     16 <!ATTLIST test abc:attr CDATA #FIXED "def" >
     17 ]>
     18 <test />
     19 """)
     20 elem = doc.getRootElement()
     21 attr = elem.hasNsProp('attr', 'http://abc.org')
     22 if attr == None or attr.serialize()[:-1] != """<!ATTLIST test abc:attr CDATA #FIXED "def">""":
     23     print("Failed to find defaulted attribute abc:attr")
     24     sys.exit(1)
     25 
     26 doc.freeDoc()
     27 
     28 # Memory debug specific
     29 libxml2.cleanupParser()
     30 if libxml2.debugMemory(1) == 0:
     31     print("OK")
     32 else:
     33     print("Memory leak %d bytes" % (libxml2.debugMemory(1)))
     34     libxml2.dumpMemory()
     35