blob: 0824929b0f9115314515ebdade3a8d8ffc0fff09 [file] [log] [blame]
Daniel Veillardac297932003-04-17 12:55:35 +00001#!/usr/bin/python -u
2#
3# this tests the basic APIs of the XmlTextReader interface
4#
5import libxml2
6import StringIO
7import sys
8
9# Memory debug specific
10libxml2.debugMemory(1)
11
12def tst_reader(s):
13 f = StringIO.StringIO(s)
14 input = libxml2.inputBuffer(f)
15 reader = input.newTextReader("tst")
16 res = ""
17 while reader.Read():
Daniel Veillard09b792b2004-02-23 10:53:52 +000018 res=res + "%s (%s) [%s] %d\n" % (reader.NodeType(),reader.Name(),
Daniel Veillardac297932003-04-17 12:55:35 +000019 reader.Value(), reader.IsEmptyElement())
Daniel Veillard09b792b2004-02-23 10:53:52 +000020 if reader.NodeType() == 1: # Element
21 while reader.MoveToNextAttribute():
22 res = res + "-- %s (%s) [%s]\n" % (reader.NodeType(),
Daniel Veillardac297932003-04-17 12:55:35 +000023 reader.Name(),reader.Value())
24 return res
25
26expect="""1 (test) [None] 0
271 (b) [None] 1
281 (c) [None] 1
2915 (test) [None] 0
30"""
31
32res = tst_reader("""<test><b/><c/></test>""")
33
34if res != expect:
35 print "Did not get the expected error message:"
36 print res
37 sys.exit(1)
38
39# Memory debug specific
40libxml2.cleanupParser()
41if libxml2.debugMemory(1) == 0:
42 print "OK"
43else:
44 print "Memory leak %d bytes" % (libxml2.debugMemory(1))
45 libxml2.dumpMemory()