27
29
def launch_test_apps(self):
28
"""Launch character map and calculator apps."""
29
self.start_app('Character Map', locale='C')
30
self.start_app('Calculator', locale='C')
30
"""Launch character map and calculator apps, and return their windows."""
31
char_win = self.start_app_window('Character Map', locale='C')
32
calc_win = self.start_app_window('Calculator', locale='C')
33
return (char_win, calc_win)
33
35
def test_showdesktop_hides_apps(self):
34
36
"""Show Desktop keyboard shortcut must hide applications."""
35
self.launch_test_apps()
37
test_windows = self.launch_test_apps()
37
39
# show desktop, verify all windows are hidden:
38
40
self.window_manager.enter_show_desktop()
39
41
self.addCleanup(self.window_manager.leave_show_desktop)
41
open_wins = self.bamf.get_open_windows()
42
self.assertGreaterEqual(len(open_wins), 2)
44
self.assertTrue(win.is_valid)
45
self.assertTrue(win.is_hidden, "Window '%s' is not hidden after show desktop activated." % (win.title))
43
for win in test_windows:
44
self.assertProperty(win, is_valid=True)
45
self.assertProperty(win, is_hidden=True)
47
47
def test_showdesktop_unhides_apps(self):
48
48
"""Show desktop shortcut must re-show all hidden apps."""
49
self.launch_test_apps()
49
test_windows = self.launch_test_apps()
51
51
# show desktop, verify all windows are hidden:
52
52
self.window_manager.enter_show_desktop()
53
53
self.addCleanup(self.window_manager.leave_show_desktop)
55
open_wins = self.bamf.get_open_windows()
56
self.assertGreaterEqual(len(open_wins), 2)
58
self.assertTrue(win.is_valid)
59
self.assertTrue(win.is_hidden, "Window '%s' is not hidden after show desktop activated." % (win.title))
55
for win in test_windows:
56
self.assertProperty(win, is_valid=True)
57
self.assertProperty(win, is_hidden=True)
61
59
# un-show desktop, verify all windows are shown:
62
60
self.window_manager.leave_show_desktop()
64
for win in self.bamf.get_open_windows():
65
self.assertTrue(win.is_valid)
66
self.assertFalse(win.is_hidden, "Window '%s' is shown after show desktop deactivated." % (win.title))
62
for win in test_windows:
63
self.assertProperty(win, is_valid=True)
64
self.assertProperty(win, is_hidden=False)
68
66
def test_unhide_single_app(self):
69
67
"""Un-hide a single app from launcher after hiding all apps."""
70
self.launch_test_apps()
68
test_windows = self.launch_test_apps()
72
70
# show desktop, verify all windows are hidden:
73
71
self.window_manager.enter_show_desktop()
74
72
self.addCleanup(self.window_manager.leave_show_desktop)
76
open_wins = self.bamf.get_open_windows()
77
self.assertGreaterEqual(len(open_wins), 2)
79
self.assertTrue(win.is_valid)
80
self.assertTrue(win.is_hidden, "Window '%s' is not hidden after show desktop activated." % (win.title))
74
for win in test_windows:
75
self.assertProperty(win, is_valid=True)
76
self.assertProperty(win, is_hidden=True)
82
78
# We'll un-minimise the character map - find it's launcherIcon in the launcher:
83
charmap_icon = self.launcher.model.get_icon_by_desktop_id("gucharmap.desktop")
79
charmap_icon = self.launcher.model.get_icon(desktop_id="gucharmap.desktop")
85
81
self.launcher.get_launcher_for_monitor(0).click_launcher_icon(charmap_icon)
87
83
self.fail("Could not find launcher icon in launcher.")
90
for win in self.bamf.get_open_windows():
92
if win.title == 'Character Map':
93
self.assertFalse(win.is_hidden, "Character map did not un-hide from launcher.")
95
self.assertTrue(win.is_hidden, "Window '%s' should still be hidden." % (win.title))
85
self.assertProperty(charmap, is_hidden=False)
86
self.assertProperty(calc, is_hidden=True)
97
88
# hide desktop - now all windows should be visible:
98
89
self.window_manager.leave_show_desktop()
100
for win in self.bamf.get_open_windows():
102
self.assertFalse(win.is_hidden, "Window '%s' is not shown after show desktop deactivated." % (win.title))
91
for win in test_windows:
92
self.assertProperty(win, is_hidden=False)
104
94
def test_showdesktop_switcher(self):
105
95
"""Show desktop item in switcher should hide all hidden apps."""
106
self.launch_test_apps()
96
test_windows = self.launch_test_apps()
108
98
# show desktop, verify all windows are hidden:
109
99
self.switcher.initiate()
112
switcher_model = self.switcher.controller.model
113
for i in switcher_model.icons:
114
current_icon = self.switcher.current_icon
115
self.assertIsNotNone(current_icon)
116
if isinstance(current_icon, DesktopLauncherIcon):
119
self.switcher.previous_icon()
121
self.assertTrue(found, "Could not find 'Show Desktop' entry in switcher.")
100
self.switcher.select_icon(self.switcher.DIRECTION_BACKWARDS, tooltip_text="Show Desktop")
122
101
self.addCleanup(self.window_manager.leave_show_desktop)
124
102
self.switcher.select()
127
open_wins = self.bamf.get_open_windows()
128
self.assertGreaterEqual(len(open_wins), 2)
129
for win in open_wins:
130
self.assertTrue(win.is_valid)
131
self.assertTrue(win.is_hidden, "Window '%s' is not hidden after show desktop activated." % (win.title))
104
for win in test_windows:
105
self.assertProperty(win, is_valid=True)
106
self.assertProperty(win, is_hidden=True)