Annotation of embedaddon/libxml2/python/tests/sync.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: log=""
        !            46: chunk="""<foo><bar2/>"""
        !            47: ctxt = libxml2.createPushParser(handler, None, 0, "test.xml")
        !            48: ctxt.parseChunk(chunk, len(chunk), 0)
        !            49: ctxt=None
        !            50: 
        !            51: reference = "startDocument:startElement foo None:startElement bar2 None:endElement bar2:"
        !            52: if log != reference:
        !            53:     print "Error got: %s" % log
        !            54:     print "Exprected: %s" % reference
        !            55:     sys.exit(1)
        !            56: 
        !            57: log=""
        !            58: chunk="""<foo><bar2></bar2>"""
        !            59: ctxt = libxml2.createPushParser(handler, None, 0, "test.xml")
        !            60: ctxt.parseChunk(chunk, len(chunk), 0)
        !            61: ctxt=None
        !            62: 
        !            63: reference = "startDocument:startElement foo None:startElement bar2 None:endElement bar2:"
        !            64: if log != reference:
        !            65:     print "Error got: %s" % log
        !            66:     print "Exprected: %s" % reference
        !            67:     sys.exit(1)
        !            68: 
        !            69: log=""
        !            70: chunk="""<foo><bar2>"""
        !            71: ctxt = libxml2.createPushParser(handler, None, 0, "test.xml")
        !            72: ctxt.parseChunk(chunk, len(chunk), 0)
        !            73: ctxt=None
        !            74: 
        !            75: reference = "startDocument:startElement foo None:startElement bar2 None:"
        !            76: if log != reference:
        !            77:     print "Error got: %s" % log
        !            78:     print "Exprected: %s" % reference
        !            79:     sys.exit(1)
        !            80: 
        !            81: log=""
        !            82: chunk="""<foo><bar2 a="1" b='2' />"""
        !            83: ctxt = libxml2.createPushParser(handler, None, 0, "test.xml")
        !            84: ctxt.parseChunk(chunk, len(chunk), 0)
        !            85: ctxt=None
        !            86: 
        !            87: reference = "startDocument:startElement foo None:startElement bar2 {'a': '1', 'b': '2'}:endElement bar2:"
        !            88: if log != reference:
        !            89:     print "Error got: %s" % log
        !            90:     print "Exprected: %s" % reference
        !            91:     sys.exit(1)
        !            92: 
        !            93: log=""
        !            94: chunk="""<foo><bar2 a="1" b='2' >"""
        !            95: ctxt = libxml2.createPushParser(handler, None, 0, "test.xml")
        !            96: ctxt.parseChunk(chunk, len(chunk), 0)
        !            97: ctxt=None
        !            98: 
        !            99: reference = "startDocument:startElement foo None:startElement bar2 {'a': '1', 'b': '2'}:"
        !           100: if log != reference:
        !           101:     print "Error got: %s" % log
        !           102:     print "Exprected: %s" % reference
        !           103:     sys.exit(1)
        !           104: 
        !           105: log=""
        !           106: chunk="""<foo><bar2 a="1" b='2' ></bar2>"""
        !           107: ctxt = libxml2.createPushParser(handler, None, 0, "test.xml")
        !           108: ctxt.parseChunk(chunk, len(chunk), 0)
        !           109: ctxt=None
        !           110: 
        !           111: reference = "startDocument:startElement foo None:startElement bar2 {'a': '1', 'b': '2'}:endElement bar2:"
        !           112: if log != reference:
        !           113:     print "Error got: %s" % log
        !           114:     print "Exprected: %s" % reference
        !           115:     sys.exit(1)
        !           116: 
        !           117: log=""
        !           118: chunk="""<foo><bar2 a="b='1' />"""
        !           119: ctxt = libxml2.createPushParser(handler, None, 0, "test.xml")
        !           120: ctxt.parseChunk(chunk, len(chunk), 0)
        !           121: ctxt=None
        !           122: 
        !           123: reference = "startDocument:startElement foo None:"
        !           124: if log != reference:
        !           125:     print "Error got: %s" % log
        !           126:     print "Exprected: %s" % reference
        !           127:     sys.exit(1)
        !           128: 
        !           129: # Memory debug specific
        !           130: libxml2.cleanupParser()
        !           131: if libxml2.debugMemory(1) == 0:
        !           132:     print "OK"
        !           133: else:
        !           134:     print "Memory leak %d bytes" % (libxml2.debugMemory(1))
        !           135:     libxml2.dumpMemory()

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