Annotation of embedaddon/libxml2/python/tests/readernext.py, revision 1.1.1.1

1.1       misho       1: #!/usr/bin/python -u
                      2: # -*- coding: ISO-8859-1 -*-
                      3: #
                      4: # this tests the next API of the XmlTextReader interface
                      5: #
                      6: import libxml2
                      7: import StringIO
                      8: import sys
                      9: 
                     10: # Memory debug specific
                     11: libxml2.debugMemory(1)
                     12: 
                     13: f = StringIO.StringIO("""<a><b><c /></b><d>content of d</d></a>""")
                     14: input = libxml2.inputBuffer(f)
                     15: reader = input.newTextReader("test_next")
                     16: ret = reader.Read()
                     17: if ret != 1:
                     18:     print "test_next: Error reading to first element"
                     19:     sys.exit(1)
                     20: if reader.Name() != "a" or reader.IsEmptyElement() != 0 or \
                     21:    reader.NodeType() != 1 or reader.HasAttributes() != 0:
                     22:     print "test_next: Error reading the first element"
                     23:     sys.exit(1)
                     24: ret = reader.Read()
                     25: if ret != 1:
                     26:     print "test_next: Error reading to second element"
                     27:     sys.exit(1)
                     28: if reader.Name() != "b" or reader.IsEmptyElement() != 0 or \
                     29:    reader.NodeType() != 1 or reader.HasAttributes() != 0:
                     30:     print "test_next: Error reading the second element"
                     31:     sys.exit(1)
                     32: ret = reader.Read()
                     33: if ret != 1:
                     34:     print "test_next: Error reading to third element"
                     35:     sys.exit(1)
                     36: if reader.Name() != "c" or reader.NodeType() != 1 or \
                     37:    reader.HasAttributes() != 0:
                     38:     print "test_next: Error reading the third element"
                     39:     sys.exit(1)
                     40: ret = reader.Read()
                     41: if ret != 1:
                     42:     print "test_next: Error reading to end of third element"
                     43:     sys.exit(1)
                     44: if reader.Name() != "b" or reader.NodeType() != 15:
                     45:     print "test_next: Error reading to end of second element"
                     46:     sys.exit(1)
                     47: ret = reader.Next()
                     48: if ret != 1:
                     49:     print "test_next: Error moving to third element"
                     50:     sys.exit(1)
                     51: if reader.Name() != "d" or reader.IsEmptyElement() != 0 or \
                     52:    reader.NodeType() != 1 or reader.HasAttributes() != 0:
                     53:     print "test_next: Error reading third element"
                     54:     sys.exit(1)
                     55: ret = reader.Next()
                     56: if ret != 1:
                     57:     print "test_next: Error reading to end of first element"
                     58:     sys.exit(1)
                     59: if reader.Name() != "a" or reader.IsEmptyElement() != 0 or \
                     60:    reader.NodeType() != 15 or reader.HasAttributes() != 0:
                     61:     print "test_next: Error reading the end of first element"
                     62:     sys.exit(1)
                     63: ret = reader.Read()
                     64: if ret != 0:
                     65:     print "test_next: Error reading to end of document"
                     66:     sys.exit(1)
                     67: 
                     68: #
                     69: # cleanup for memory allocation counting
                     70: #
                     71: del f
                     72: del input
                     73: del reader
                     74: 
                     75: # Memory debug specific
                     76: libxml2.cleanupParser()
                     77: if libxml2.debugMemory(1) == 0:
                     78:     print "OK"
                     79: else:
                     80:     print "Memory leak %d bytes" % (libxml2.debugMemory(1))
                     81:     libxml2.dumpMemory()

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