File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / python / tests / reader4.py
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Sun Jun 15 19:53:34 2014 UTC (10 years, 5 months ago) by misho
Branches: libxml2, MAIN
CVS tags: v2_9_1p0, v2_9_1, HEAD
libxml2 2.9.1

    1: #!/usr/bin/python -u
    2: #
    3: # this tests the basic APIs of the XmlTextReader interface
    4: #
    5: import libxml2
    6: import sys
    7: try:
    8:     import StringIO
    9:     str_io = StringIO.StringIO
   10: except:
   11:     import io
   12:     str_io = io.StringIO
   13: 
   14: # Memory debug specific
   15: libxml2.debugMemory(1)
   16: 
   17: def tst_reader(s):
   18:     f = str_io(s)
   19:     input = libxml2.inputBuffer(f)
   20:     reader = input.newTextReader("tst")
   21:     res = ""
   22:     while reader.Read():
   23:         res=res + "%s (%s) [%s] %d\n" % (reader.NodeType(),reader.Name(),
   24: 				      reader.Value(), reader.IsEmptyElement())
   25:         if reader.NodeType() == 1: # Element
   26:             while reader.MoveToNextAttribute():
   27:                 res = res + "-- %s (%s) [%s]\n" % (reader.NodeType(),
   28: 						   reader.Name(),reader.Value())
   29:     return res
   30:     
   31: expect="""1 (test) [None] 0
   32: 1 (b) [None] 1
   33: 1 (c) [None] 1
   34: 15 (test) [None] 0
   35: """
   36: 
   37: res = tst_reader("""<test><b/><c/></test>""")
   38: 
   39: if res != expect:
   40:     print("Did not get the expected error message:")
   41:     print(res)
   42:     sys.exit(1)
   43: 
   44: # Memory debug specific
   45: libxml2.cleanupParser()
   46: if libxml2.debugMemory(1) == 0:
   47:     print("OK")
   48: else:
   49:     print("Memory leak %d bytes" % (libxml2.debugMemory(1)))
   50:     libxml2.dumpMemory()

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>