~ubuntu-branches/ubuntu/wily/opencollada/wily-proposed

« back to all changes in this revision

Viewing changes to Externals/LibXML/python/tests/reader7.py

  • Committer: Package Import Robot
  • Author(s): Matteo F. Vescovi
  • Date: 2015-05-14 17:23:27 UTC
  • Revision ID: package-import@ubuntu.com-20150514172327-f862u8envms01fra
Tags: upstream-0.1.0~20140703.ddf8f47+dfsg1
ImportĀ upstreamĀ versionĀ 0.1.0~20140703.ddf8f47+dfsg1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/python -u
 
2
#
 
3
# this tests the entities substitutions with the XmlTextReader interface
 
4
#
 
5
import sys
 
6
import StringIO
 
7
import libxml2
 
8
 
 
9
# Memory debug specific
 
10
libxml2.debugMemory(1)
 
11
 
 
12
result = ""
 
13
def processNode(reader):
 
14
    global result
 
15
 
 
16
    result = result + "%d %d %s %d\n" % (reader.Depth(), reader.NodeType(),
 
17
                           reader.Name(), reader.IsEmptyElement())
 
18
 
 
19
#
 
20
# Parse a document testing the readerForxxx API
 
21
#
 
22
docstr="""<foo>
 
23
<label>some text</label>
 
24
<item>100</item>
 
25
</foo>"""
 
26
expect="""0 1 foo 0
 
27
1 14 #text 0
 
28
1 1 label 0
 
29
2 3 #text 0
 
30
1 15 label 0
 
31
1 14 #text 0
 
32
1 1 item 0
 
33
2 3 #text 0
 
34
1 15 item 0
 
35
1 14 #text 0
 
36
0 15 foo 0
 
37
"""
 
38
result = ""
 
39
 
 
40
reader = libxml2.readerForDoc(docstr, "test1", None, 0)
 
41
ret = reader.Read()
 
42
while ret == 1:
 
43
    processNode(reader)
 
44
    ret = reader.Read()
 
45
 
 
46
if ret != 0:
 
47
    print "Error parsing the document test1"
 
48
    sys.exit(1)
 
49
 
 
50
if result != expect:
 
51
    print "Unexpected result for test1"
 
52
    print result
 
53
    sys.exit(1)
 
54
 
 
55
#
 
56
# Reuse the reader for another document testing the ReaderNewxxx API
 
57
#
 
58
docstr="""<foo>
 
59
<label>some text</label>
 
60
<item>1000</item>
 
61
</foo>"""
 
62
expect="""0 1 foo 0
 
63
1 14 #text 0
 
64
1 1 label 0
 
65
2 3 #text 0
 
66
1 15 label 0
 
67
1 14 #text 0
 
68
1 1 item 0
 
69
2 3 #text 0
 
70
1 15 item 0
 
71
1 14 #text 0
 
72
0 15 foo 0
 
73
"""
 
74
result = ""
 
75
 
 
76
reader.NewDoc(docstr, "test2", None, 0)
 
77
ret = reader.Read()
 
78
while ret == 1:
 
79
    processNode(reader)
 
80
    ret = reader.Read()
 
81
 
 
82
if ret != 0:
 
83
    print "Error parsing the document test2"
 
84
    sys.exit(1)
 
85
 
 
86
if result != expect:
 
87
    print "Unexpected result for test2"
 
88
    print result
 
89
    sys.exit(1)
 
90
 
 
91
#
 
92
# cleanup
 
93
#
 
94
del reader
 
95
 
 
96
# Memory debug specific
 
97
libxml2.cleanupParser()
 
98
if libxml2.debugMemory(1) == 0:
 
99
    print "OK"
 
100
else:
 
101
    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
 
102
    libxml2.dumpMemory()