summaryrefslogtreecommitdiff
path: root/tests/world_view.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/world_view.py')
-rwxr-xr-xtests/world_view.py98
1 files changed, 98 insertions, 0 deletions
diff --git a/tests/world_view.py b/tests/world_view.py
new file mode 100755
index 0000000..473b572
--- /dev/null
+++ b/tests/world_view.py
@@ -0,0 +1,98 @@
+#! /usr/bin/python
+
+from testutil import *
+
+from gi.repository import Gio, GLib
+
+import os, sys
+import pyatspi
+from dogtail import tree
+from dogtail import utils
+from dogtail.procedural import *
+
+def active(widget):
+ return widget.getState().contains(pyatspi.STATE_ARMED)
+def visible(widget):
+ return widget.getState().contains(pyatspi.STATE_VISIBLE)
+
+init()
+try:
+ app = start()
+
+ new_button = app.child('New')
+ back_button = app.child('Back')
+ delete_button = app.child('Delete')
+ select_button = app.child('Select')
+ done_button = app.child('Cancel')
+ world_view = app.child('World view')
+ city_view = app.child('City view')
+ content_view = app.child('Cities')
+ milan_icon = content_view.findChild(IsTextEqual('Milan'))
+
+ # basic state
+ assert new_button.showing
+ assert not back_button.showing
+ assert not delete_button.showing
+ assert select_button.showing
+ assert not done_button.showing
+ assert world_view.showing
+ assert content_view.showing
+ assert not city_view.showing
+
+ # selection mode
+ select_button.click()
+ assert not new_button.showing
+ assert not back_button.showing
+ assert delete_button.showing
+ assert not delete_button.sensitive
+ assert not select_button.showing
+ assert done_button.showing
+ assert world_view.showing
+ assert content_view.showing
+ assert not city_view.showing
+
+ # select one
+ milan_icon.click()
+ assert delete_button.sensitive
+ # unselect it
+ milan_icon.click()
+ assert not delete_button.sensitive
+
+ # back from selection mode
+ done_button.click()
+ assert new_button.showing
+ assert not back_button.showing
+ assert not delete_button.showing
+ assert select_button.showing
+ assert not done_button.showing
+ assert world_view.showing
+ assert content_view.showing
+ assert not city_view.showing
+
+ # back into selection mode, delete the only item
+ select_button.click()
+ milan_icon.click()
+ delete_button.click()
+ assert milan_icon.dead
+ placeholder = app.child('Add locations').parent
+ assert placeholder.showing
+ assert select_button.showing
+ assert not select_button.sensitive
+
+ # reset
+ reset_settings()
+ utils.doDelay(1)
+ milan_icon = content_view.findChild(IsTextEqual('Milan'))
+ assert not milan_icon.dead
+ # these two should be equivalend to milan_icon.showing,
+ # but for some reason they aren't
+ assert visible(milan_icon)
+ assert milan_icon.parent.showing
+
+finally:
+ fini()
+
+#type("gimp\n")
+#doDelay(2)
+#keyCombo("Escape")
+