summaryrefslogtreecommitdiff
path: root/tests/autopilot
diff options
authorThomi Richards <thomi.richards@canonical.com>2012-07-10 16:56:04 +1200
committerThomi Richards <thomi.richards@canonical.com>2012-07-10 16:56:04 +1200
commit7ecd42222de1897683ba036a5ce86ac1a1826e8f (patch)
tree02f4723be469a158a9d8e0e43e6024d4a82874c3 /tests/autopilot
parent522aa14fb1e33421b735590da63c2d36a496460e (diff)
(bzr r2480.2.1)
Diffstat (limited to 'tests/autopilot')
-rw-r--r--tests/autopilot/unity/tests/test_showdesktop.py83
1 files changed, 35 insertions, 48 deletions
diff --git a/tests/autopilot/unity/tests/test_showdesktop.py b/tests/autopilot/unity/tests/test_showdesktop.py
index 54eca88a8..0c264fdb6 100644
--- a/tests/autopilot/unity/tests/test_showdesktop.py
+++ b/tests/autopilot/unity/tests/test_showdesktop.py
@@ -8,6 +8,8 @@
from __future__ import absolute_import
+from autopilot.matchers import Eventually
+from testtools.matchers import NotEquals
from time import sleep
from unity.emulators.icons import DesktopLauncherIcon
@@ -25,85 +27,73 @@ class ShowDesktopTests(UnityTestCase):
sleep(2)
def launch_test_apps(self):
- """Launch character map and calculator apps."""
- self.start_app('Character Map', locale='C')
- self.start_app('Calculator', locale='C')
- sleep(1)
+ """Launch character map and calculator apps, and return their windows."""
+ char_win = self.start_app_window('Character Map', locale='C')
+ calc_win = self.start_app_window('Calculator', locale='C')
+ return (char_win, calc_win)
def test_showdesktop_hides_apps(self):
"""Show Desktop keyboard shortcut must hide applications."""
- self.launch_test_apps()
+ test_windows = self.launch_test_apps()
# show desktop, verify all windows are hidden:
self.window_manager.enter_show_desktop()
self.addCleanup(self.window_manager.leave_show_desktop)
- open_wins = self.bamf.get_open_windows()
- self.assertGreaterEqual(len(open_wins), 2)
- for win in open_wins:
- self.assertTrue(win.is_valid)
- self.assertTrue(win.is_hidden, "Window '%s' is not hidden after show desktop activated." % (win.title))
+ for win in test_windows:
+ self.assertProperty(win, is_valid=True)
+ self.assertProperty(win, is_hidden=True)
def test_showdesktop_unhides_apps(self):
"""Show desktop shortcut must re-show all hidden apps."""
- self.launch_test_apps()
+ test_windows = self.launch_test_apps()
# show desktop, verify all windows are hidden:
self.window_manager.enter_show_desktop()
self.addCleanup(self.window_manager.leave_show_desktop)
- open_wins = self.bamf.get_open_windows()
- self.assertGreaterEqual(len(open_wins), 2)
- for win in open_wins:
- self.assertTrue(win.is_valid)
- self.assertTrue(win.is_hidden, "Window '%s' is not hidden after show desktop activated." % (win.title))
+ for win in test_windows:
+ self.assertProperty(win, is_valid=True)
+ self.assertProperty(win, is_hidden=True)
# un-show desktop, verify all windows are shown:
self.window_manager.leave_show_desktop()
- for win in self.bamf.get_open_windows():
- self.assertTrue(win.is_valid)
- self.assertFalse(win.is_hidden, "Window '%s' is shown after show desktop deactivated." % (win.title))
+ for win in test_windows:
+ self.assertProperty(win, is_valid=True)
+ self.assertProperty(win, is_hidden=False)
def test_unhide_single_app(self):
"""Un-hide a single app from launcher after hiding all apps."""
- self.launch_test_apps()
+ test_windows = self.launch_test_apps()
# show desktop, verify all windows are hidden:
self.window_manager.enter_show_desktop()
self.addCleanup(self.window_manager.leave_show_desktop)
- open_wins = self.bamf.get_open_windows()
- self.assertGreaterEqual(len(open_wins), 2)
- for win in open_wins:
- self.assertTrue(win.is_valid)
- self.assertTrue(win.is_hidden, "Window '%s' is not hidden after show desktop activated." % (win.title))
+ for win in test_windows:
+ self.assertProperty(win, is_valid=True)
+ self.assertProperty(win, is_hidden=True)
# We'll un-minimise the character map - find it's launcherIcon in the launcher:
- charmap_icon = self.launcher.model.get_icon_by_desktop_id("gucharmap.desktop")
- if charmap_icon:
- self.launcher.get_launcher_for_monitor(0).click_launcher_icon(charmap_icon)
- else:
- self.fail("Could not find launcher icon in launcher.")
-
- sleep(3)
- for win in self.bamf.get_open_windows():
- if win.is_valid:
- if win.title == 'Character Map':
- self.assertFalse(win.is_hidden, "Character map did not un-hide from launcher.")
- else:
- self.assertTrue(win.is_hidden, "Window '%s' should still be hidden." % (win.title))
+ charmap, calc = test_windows
+ find_icon_fn = self.launcher.model.get_icon_by_desktop_id(charmap.application.desktop_id)
+ self.assertThat(find_icon_fn, Eventually(NotEquals(None)))
+ charmap_icon = find_icon_fn()
+ self.launcher.get_launcher_for_monitor(0).click_launcher_icon(charmap_icon)
+
+ self.assertProperty(charmap, is_hidden=False)
+ self.assertProperty(calc, is_hidden=True)
# hide desktop - now all windows should be visible:
self.window_manager.leave_show_desktop()
- for win in self.bamf.get_open_windows():
- if win.is_valid:
- self.assertFalse(win.is_hidden, "Window '%s' is not shown after show desktop deactivated." % (win.title))
+ for win in test_windows:
+ self.assertProperty(win, is_hidden=False)
def test_showdesktop_switcher(self):
"""Show desktop item in switcher should hide all hidden apps."""
- self.launch_test_apps()
+ test_windows = self.launch_test_apps()
# show desktop, verify all windows are hidden:
self.switcher.initiate()
@@ -123,9 +113,6 @@ class ShowDesktopTests(UnityTestCase):
self.switcher.select()
- sleep(3)
- open_wins = self.bamf.get_open_windows()
- self.assertGreaterEqual(len(open_wins), 2)
- for win in open_wins:
- self.assertTrue(win.is_valid)
- self.assertTrue(win.is_hidden, "Window '%s' is not hidden after show desktop activated." % (win.title))
+ for win in test_windows:
+ self.assertProperty(win, is_valid=True)
+ self.assertTrue(win, is_hidden=True)