1 #!/usr/bin/env python2.3
2 import sys
, tempfile
, os
, shutil
3 from StringIO
import StringIO
6 sys
.path
.insert(0, '..')
8 from zeroinstall
.injector
import qdom
11 return qdom
.parse(StringIO(s
))
13 class TestQDom(unittest
.TestCase
):
15 root
= parseString('<?xml version="1.0"?><root/>')
16 assert root
.name
== 'root'
17 assert root
.uri
== None
18 assert root
.content
== ''
21 root
= parseString('<?xml version="1.0"?><root> Hi </root>')
22 assert root
.name
== 'root'
23 assert root
.uri
== None
24 assert root
.content
== 'Hi'
25 assert root
.childNodes
== []
28 root
= parseString('<?xml version="1.0"?>' +
29 '<x:root xmlns:x="http://myns.com/foo"/>')
30 assert root
.name
== 'root'
31 assert root
.uri
== 'http://myns.com/foo'
32 assert root
.content
== ''
33 assert root
.childNodes
== []
36 root
= parseString('<?xml version="1.0"?>' +
37 '<root x:foo="bar" bar="baz" xmlns:x="http://myns.com/foo"/>')
38 assert root
.name
== 'root'
39 assert root
.uri
== None
40 assert root
.content
== ''
41 assert root
.childNodes
== []
43 assert root
.attrs
.get('http://myns.com/foo foo') == 'bar'
44 assert root
.attrs
.get('bar') == 'baz'
47 root
= parseString('<?xml version="1.0"?><root>' +
48 '<name>Bob</name><age>3</age></root>')
49 assert root
.name
== 'root'
50 assert root
.uri
== None
51 assert root
.content
== ''
52 assert len(root
.childNodes
) == 2
54 assert root
.childNodes
[0].name
== 'name'
55 assert root
.childNodes
[0].uri
== None
56 assert root
.childNodes
[0].content
== 'Bob'
57 assert root
.childNodes
[0].childNodes
== []
59 assert root
.childNodes
[1].name
== 'age'
60 assert root
.childNodes
[1].uri
== None
61 assert root
.childNodes
[1].content
== '3'
62 assert root
.childNodes
[1].childNodes
== []
65 root
= parseString('<?xml version="1.0"?><root>' +
66 '<sub x="2">hi</sub><empty/></root>')
67 assert 'root' in str(root
)
69 suite
= unittest
.makeSuite(TestQDom
)
70 if __name__
== '__main__':