Return to readererr.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: expect="""--> (3) test1:1:xmlns: URI foo is not absolute ! 13: --> (4) test1:1:Opening and ending tag mismatch: c line 1 and a ! 14: """ ! 15: err="" ! 16: def myErrorHandler(arg,msg,severity,locator): ! 17: global err ! 18: err = err + "%s (%d) %s:%d:%s" % (arg,severity,locator.BaseURI(),locator.LineNumber(),msg) ! 19: ! 20: f = StringIO.StringIO("""<a xmlns="foo"><b b1="b1"/><c>content of c</a>""") ! 21: input = libxml2.inputBuffer(f) ! 22: reader = input.newTextReader("test1") ! 23: reader.SetErrorHandler(myErrorHandler,"-->") ! 24: while reader.Read() == 1: ! 25: pass ! 26: ! 27: if err != expect: ! 28: print "error" ! 29: print "received %s" %(err) ! 30: print "expected %s" %(expect) ! 31: sys.exit(1) ! 32: ! 33: reader.SetErrorHandler(None,None) ! 34: if reader.GetErrorHandler() != (None,None): ! 35: print "GetErrorHandler failed" ! 36: sys.exit(1) ! 37: ! 38: # ! 39: # cleanup for memory allocation counting ! 40: # ! 41: del f ! 42: del input ! 43: del reader ! 44: ! 45: # Memory debug specific ! 46: libxml2.cleanupParser() ! 47: if libxml2.debugMemory(1) == 0: ! 48: print "OK" ! 49: else: ! 50: print "Memory leak %d bytes" % (libxml2.debugMemory(1)) ! 51: libxml2.dumpMemory()