1
2
3 import unittest
4
5 TESTDOC = """
6 <node1 abc="1" b="2" subnode="subnodeval">
7 <subnode>
8 Subnode 1 value.
9 </subnode>
10 <subnode c="3">
11 Subnode 2 value.
12 <subsubnode>
13 <thing>ThingVal</thing>
14 <thing x="y"/>
15 </subsubnode>
16 </subnode>
17 <othernode>Other text.</othernode>
18 </node1>
19 """
20
21 TESTCFG = dict(
22 val1 = "abc",
23 val2 = "subnode__0",
24 val3 = "othernode",
25 val4 = "subnode__a",
26 val5 = "subnode.c",
27 val6 = "subnode__1.subsubnode.thing",
28 val7 = "subnode__1.subsubnode.thing__1.x"
29 )
30
31 from simplexmlapi import *
32
36
38 self.assertEqual(self.xml._traverse('abc'), '1')
39 self.assertEqual(self.xml._traverse(
40 'subnode__1.subsubnode.thing__1.x'), 'y')
41
43 self.assertEqual(self.xml.val1, '1')
44 self.assertEqual(self.xml.val4, 'subnodeval')
45
47 self.assertEqual(self.xml.subnode._, 'Subnode 1 value.')
48 self.assertEqual(self.xml.subnode__1.c._, '3')
49
51 self.xml.add_mapping('battr', 'b')
52 self.assertEqual(self.xml.battr, '2')
53
57
61 xml = loads(TESTDOC, cls=SampleApi)
62 self.assertEqual(xml.val1, '1')
63 self.assertEqual(xml.val4, 'subnodeval')
64
65 if __name__=="__main__":
66 unittest.main()
67