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()
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>