Annotation of embedaddon/libxml2/python/tests/readererr.py, revision 1.1

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()

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