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