Annotation of embedaddon/libxml2/python/tests/readernext.py, revision 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>