Annotation of embedaddon/libxml2/python/tests/pushSAXhtml.py, revision 1.1.1.2

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.htmlCreatePushParser(handler, "<foo", 4, "test.xml")
                     46: chunk = " url='tst'>b"
                     47: ctxt.htmlParseChunk(chunk, len(chunk), 0)
                     48: chunk = "ar</foo>"
                     49: ctxt.htmlParseChunk(chunk, len(chunk), 1)
                     50: ctxt=None
                     51: 
                     52: reference = """startDocument:startElement html None:startElement body None:startElement foo {'url': 'tst'}:error: Tag foo invalid
                     53: :characters: bar:endElement foo:endElement body:endElement html:endDocument:"""
                     54: if log != reference:
1.1.1.2 ! misho      55:     print("Error got: %s" % log)
        !            56:     print("Exprected: %s" % reference)
1.1       misho      57:     sys.exit(1)
                     58: 
                     59: # Memory debug specific
                     60: libxml2.cleanupParser()
                     61: if libxml2.debugMemory(1) == 0:
1.1.1.2 ! misho      62:     print("OK")
1.1       misho      63: else:
1.1.1.2 ! misho      64:     print("Memory leak %d bytes" % (libxml2.debugMemory(1)))
1.1       misho      65:     libxml2.dumpMemory()

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