blob: 43bf6564063f6f88cd1af00c8454926e9f78eb1b [file] [log] [blame]
Daniel Veillard3cd72402002-05-13 10:33:30 +00001#!/usr/bin/python -u
2import sys
3import libxml2
4
5# Memory debug specific
6libxml2.debugMemory(1)
7
8log = ""
9
10class 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
43handler = callback()
44
45ctxt = libxml2.htmlCreatePushParser(handler, "<foo", 4, "test.xml")
46chunk = " url='tst'>b"
47ctxt.htmlParseChunk(chunk, len(chunk), 0)
48chunk = "ar</foo>"
49ctxt.htmlParseChunk(chunk, len(chunk), 1)
50ctxt=None
51
52reference = "startDocument:startElement foo {'url': 'tst'}:characters: bar:endElement foo:endDocument:"
53if log != reference:
54 print "Error got: %s" % log
55 print "Exprected: %s" % reference
56 sys.exit(1)
57
58# Memory debug specific
59libxml2.cleanupParser()
60if libxml2.debugMemory(1) == 0:
61 print "OK"
62else:
63 print "Memory leak %d bytes" % (libxml2.debugMemory(1))
64 libxml2.dumpMemory()