diff options
Diffstat (limited to 'tests/world_view.py')
-rwxr-xr-x | tests/world_view.py | 98 |
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") + |