5 from xml.dom import minidom
8 from pasytest import PasyTest as _PasyTest
12 class RelationTest(_PasyTest):
16 "test_getRelationType",
17 "test_getRelationTypeName",
22 def __init__(self, bus, path):
23 _PasyTest.__init__(self, "Relation", False)
27 def setup(self, test):
28 self._registry = pyatspi.Registry()
29 self._desktop = self._registry.getDesktop(0)
30 self._root = self._desktop[0]
31 self._rset = self._root.getRelationSet()
32 test.assertEqual(len(self._rset), 4, "Num relations expected %d, recieved %d" % (6, len(self._rset)))
34 def test_getRelationType(self, test):
35 expected = [pyatspi.RELATION_EMBEDS,
36 pyatspi.RELATION_PARENT_WINDOW_OF,
37 pyatspi.RELATION_DESCRIBED_BY,
38 pyatspi.RELATION_POPUP_FOR,]
39 rtypes = [rel.getRelationType() for rel in self._rset]
40 for exp, type in zip(expected, rtypes):
41 test.assertEqual(exp, type, "Relation type expected %s, recieved %s" % (exp, type))
43 def test_getRelationTypeName(self, test):
44 # FIXME This may not have been implemented in CORBA.
48 def test_getNTargets(self, test):
49 expected = [1, 1, 1, 3]
50 ntargs = [rel.getNTargets() for rel in self._rset]
51 for exp, ntarg in zip(expected, ntargs):
52 test.assertEqual(exp, ntarg, "Number of targets expected %s, recieved %s" % (exp, ntarg))
54 def test_getTarget(self, test):
56 tone = rone.getTarget(0)
58 test.assertEqual(tonename, "r1", "Target name expected %s, recieved %s" % ("r1", tonename))
59 tonerole = tone.getRoleName()
60 test.assertEqual(tonerole, "invalid", "Target RoleName expected %s, recieved %s" % ("invalid", tonename))
63 ttwo = rtwo.getTarget(2)
65 test.assertEqual(ttwoname, "m3", "Target name expected %s, recieved %s" % ("m3", ttwoname))
66 ttworole = ttwo.getRoleName()
67 test.assertEqual(ttworole, "invalid", "Target RoleName expected %s, recieved %s" % ("invalid", ttwoname))
69 def teardown(self, test):