123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #!/usr/bin/python -u
- #
- # this tests the basic APIs of the XmlTextReader interface
- #
- import libxml2
- import StringIO
- import sys
- # Memory debug specific
- libxml2.debugMemory(1)
- def tst_reader(s):
- f = StringIO.StringIO(s)
- input = libxml2.inputBuffer(f)
- reader = input.newTextReader("tst")
- res = ""
- while reader.Read():
- res=res + "%s (%s) [%s] %d\n" % (reader.NodeType(),reader.Name(),
- reader.Value(), reader.IsEmptyElement())
- if reader.NodeType() == 1: # Element
- while reader.MoveToNextAttribute():
- res = res + "-- %s (%s) [%s]\n" % (reader.NodeType(),
- reader.Name(),reader.Value())
- return res
-
- expect="""1 (test) [None] 0
- 1 (b) [None] 1
- 1 (c) [None] 1
- 15 (test) [None] 0
- """
- res = tst_reader("""<test><b/><c/></test>""")
- if res != expect:
- print "Did not get the expected error message:"
- print res
- sys.exit(1)
- # Memory debug specific
- libxml2.cleanupParser()
- if libxml2.debugMemory(1) == 0:
- print "OK"
- else:
- print "Memory leak %d bytes" % (libxml2.debugMemory(1))
- libxml2.dumpMemory()
|