63c8e2227e245468afecd751fccbf7b5c38c9ad2
[platform/core/uifw/at-spi2-atk.git] / tests / pyatspi / accessibletest.py
1 import testutil
2
3 import dbus
4 import gobject
5 import os.path
6 import coretest 
7 from dbus.mainloop.glib import DBusGMainLoop
8
9 from accessible_cache import AccessibleCache
10
11 from xml.dom import minidom
12 import os
13
14 def createNode(accessible, parentElement):
15         e = minidom.Element("accessible")
16
17         e.attributes["name"] = accessible.name
18         e.attributes["role"] = str(int(accessible.role))
19         e.attributes["description"] = accessible.description
20
21         for i in range(0, accessible.numChildren):
22                 createNode(accessible.getChild(i), e)
23
24         parentElement.appendChild(e)
25
26 class AccessibleTestCase(coretest.CoreTestCase):
27         def runTest(self):
28                 self._app = testutil.runTestApp("libobjectapp.so", self._name)
29                 self._loop.run()
30
31         def post_application_test(self):
32                 root = self._cache.getRootAccessible()
33
34                 doc = minidom.Document()
35                 createNode(root, doc)
36                 answer = doc.toprettyxml()
37
38                 correct = os.path.join(os.environ["TEST_DATA_DIRECTORY"],
39                                         "object-test-stage1-results.xml")
40                 file = open(correct)
41                 cstring = file.read()
42                 
43                 #import difflib
44                 #print ''.join(difflib.unified_diff(answer.splitlines(), cstring.splitlines()))
45                 
46                 self.assertEqual(answer, cstring, "Object tree not passed correctly")