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

1.1     ! misho       1: #!/usr/bin/python -u
        !             2: import sys
        !             3: import libxml2
        !             4: 
        !             5: # Memory debug specific
        !             6: libxml2.debugMemory(1)
        !             7: 
        !             8: log = ""
        !             9: 
        !            10: class callback:
        !            11:     def startDocument(self):
        !            12:         global log
        !            13:         log = log + "startDocument:"
        !            14: 
        !            15:     def endDocument(self):
        !            16:         global log
        !            17:         log = log + "endDocument:"
        !            18: 
        !            19:     def startElement(self, tag, attrs):
        !            20:         global log
        !            21:         log = log + "startElement %s %s:" % (tag, attrs)
        !            22: 
        !            23:     def endElement(self, tag):
        !            24:         global log
        !            25:         log = log + "endElement %s:" % (tag)
        !            26: 
        !            27:     def characters(self, data):
        !            28:         global log
        !            29:         log = log + "characters: %s:" % (data)
        !            30: 
        !            31:     def warning(self, msg):
        !            32:         global log
        !            33:         log = log + "warning: %s:" % (msg)
        !            34: 
        !            35:     def error(self, msg):
        !            36:         global log
        !            37:         log = log + "error: %s:" % (msg)
        !            38: 
        !            39:     def fatalError(self, msg):
        !            40:         global log
        !            41:         log = log + "fatalError: %s:" % (msg)
        !            42: 
        !            43: handler = callback()
        !            44: 
        !            45: ctxt = libxml2.createPushParser(handler, "<foo", 4, "test.xml")
        !            46: chunk = " url='tst'>b"
        !            47: ctxt.parseChunk(chunk, len(chunk), 0)
        !            48: chunk = "ar</foo>"
        !            49: ctxt.parseChunk(chunk, len(chunk), 1)
        !            50: ctxt=None
        !            51: 
        !            52: reference = "startDocument:startElement foo {'url': 'tst'}:characters: bar:endElement foo:endDocument:"
        !            53: if log != reference:
        !            54:     print "Error got: %s" % log
        !            55:     print "Exprected: %s" % reference
        !            56:     sys.exit(1)
        !            57: 
        !            58: # Memory debug specific
        !            59: libxml2.cleanupParser()
        !            60: if libxml2.debugMemory(1) == 0:
        !            61:     print "OK"
        !            62: else:
        !            63:     print "Memory leak %d bytes" % (libxml2.debugMemory(1))
        !            64:     libxml2.dumpMemory()

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