set eol-style:native
[reactos.git] / reactos / lib / libxml2 / python / tests / build.py
1 #!/usr/bin/python -u
2 import libxml2
3 import sys
4
5 # Memory debug specific
6 libxml2.debugMemory(1)
7
8 doc = libxml2.newDoc("1.0")
9 comment = doc.newDocComment("This is a generated document")
10 doc.addChild(comment)
11 pi = libxml2.newPI("test", "PI content")
12 doc.addChild(pi)
13 root = doc.newChild(None, "doc", None)
14 ns = root.newNs("http://example.com/doc", "my")
15 root.setNs(ns)
16 elem = root.newChild(None, "foo", "bar")
17 elem.setBase("http://example.com/imgs")
18 elem.setProp("img", "image.gif")
19 doc.saveFile("tmp.xml")
20 doc.freeDoc()
21
22 doc = libxml2.parseFile("tmp.xml")
23 comment = doc.children
24 if comment.type != "comment" or \
25 comment.content != "This is a generated document":
26 print "error rereading comment"
27 sys.exit(1)
28 pi = comment.next
29 if pi.type != "pi" or pi.name != "test" or pi.content != "PI content":
30 print "error rereading PI"
31 sys.exit(1)
32 root = pi.next
33 if root.name != "doc":
34 print "error rereading root"
35 sys.exit(1)
36 ns = root.ns()
37 if ns.name != "my" or ns.content != "http://example.com/doc":
38 print "error rereading namespace"
39 sys.exit(1)
40 elem = root.children
41 if elem.name != "foo":
42 print "error rereading elem"
43 sys.exit(1)
44 if elem.getBase(None) != "http://example.com/imgs":
45 print "error rereading base"
46 sys.exit(1)
47 if elem.prop("img") != "image.gif":
48 print "error rereading property"
49 sys.exit(1)
50
51 doc.freeDoc()
52
53 # Memory debug specific
54 libxml2.cleanupParser()
55 if libxml2.debugMemory(1) == 0:
56 print "OK"
57 else:
58 print "Memory leak %d bytes" % (libxml2.debugMemory(1))
59 libxml2.dumpMemory()