Back to index

unity  6.0.0
Public Member Functions
unity.tests.test_switcher.SwitcherTestCase Class Reference
Inheritance diagram for unity.tests.test_switcher.SwitcherTestCase:
Inheritance graph
Collaboration diagram for unity.tests.test_switcher.SwitcherTestCase:
Collaboration graph

List of all members.

Public Member Functions

def set_timeout_setting
def setUp
def check_test_behavior
def dash
def hud
def launcher
def panels
def switcher
def window_manager
def workspace
def set_unity_log_level
def assertNumberWinsIsEventually

Detailed Description

Definition at line 21 of file

Member Function Documentation

def unity.tests.UnityTestCase.assertNumberWinsIsEventually (   self,
) [inherited]
Asserts that 'app' eventually has 'num' wins. Waits up to 10 seconds.

Definition at line 196 of file

00197     def assertNumberWinsIsEventually(self, app, num):
00198         """Asserts that 'app' eventually has 'num' wins. Waits up to 10 seconds."""
00200         self.assertThat(lambda: len(app.get_windows()), Eventually(Equals(num)))

Here is the caller graph for this function:

Fail the test if it did something naughty.

This includes leaving the dash or the hud open, changing the current
workspace, or leaving the system in show_desktop mode.

Definition at line 56 of file

00057     def check_test_behavior(self):
00058         """Fail the test if it did something naughty.
00060         This includes leaving the dash or the hud open, changing the current
00061         workspace, or leaving the system in show_desktop mode.
00063         """
00064         well_behaved = True
00065         reasons = []
00066"Checking system state for badly behaving test...")
00068         # Have we switched workspace?
00069         if self.workspace.current_workspace != self._initial_workspace_num:
00070             well_behaved = False
00071             reasons.append("The test changed the active workspace from %d to %d." \
00072                 % (self._initial_workspace_num, self.workspace.current_workspace))
00073             log.warning("Test changed the active workspace, changing it back...")
00074             self.workspace.switch_to(self._initial_workspace_num)
00075         # Have we left the dash open?
00076         if self.dash.visible:
00077             well_behaved = False
00078             reasons.append("The test left the dash open.")
00079             log.warning("Test left the dash open, closing it...")
00080             self.dash.ensure_hidden()
00081         # ... or the hud?
00082         if self.hud.visible:
00083             well_behaved = False
00084             reasons.append("The test left the hud open.")
00085             log.warning("Test left the hud open, closing it...")
00086             self.hud.ensure_hidden()
00087         # Are we in show desktop mode?
00088         if self.window_manager.showdesktop_active:
00089             well_behaved = False
00090             reasons.append("The test left the system in show_desktop mode.")
00091             log.warning("Test left the system in show desktop mode, exiting it...")
00092             self.window_manager.leave_show_desktop()
00093         for launcher in self.launcher.get_launchers():
00094             if launcher.in_keynav_mode:
00095                 well_behaved = False
00096                 reasons.append("The test left the launcher keynav mode enabled.")
00097                 log.warning("Test left the launcher in keynav mode, exiting it...")
00098                 launcher.key_nav_cancel()
00099             if launcher.in_switcher_mode:
00100                 well_behaved = False
00101                 reasons.append("The test left the launcher in switcher mode.")
00102                 log.warning("Test left the launcher in switcher mode, exiting it...")
00103                 launcher.switcher_cancel()
00105         if not well_behaved:
00106   "/n".join(reasons))
00107         else:
00108   "Test was well behaved.")

def unity.tests.UnityTestCase.dash (   self) [inherited]

Definition at line 110 of file

00111     def dash(self):
00112         if not getattr(self, '__dash', None):
00113             self.__dash = Dash()
00114         return self.__dash

def unity.tests.UnityTestCase.hud (   self) [inherited]

Definition at line 116 of file

00117     def hud(self):
00118         if not getattr(self, '__hud', None):
00119             self.__hud = Hud();
00120         return self.__hud

def unity.tests.UnityTestCase.launcher (   self) [inherited]

Definition at line 122 of file

00123     def launcher(self):
00124         if not getattr(self, '__launcher', None):
00125             self.__launcher = self._get_launcher_controller()
00126         return self.__launcher

def unity.tests.UnityTestCase.panels (   self) [inherited]

Definition at line 128 of file

00129     def panels(self):
00130         if not getattr(self, '__panels', None):
00131             self.__panels = self._get_panel_controller()
00132         return self.__panels

Definition at line 22 of file

00023     def set_timeout_setting(self, state):
00024         if type(state) is not bool:
00025             raise TypeError("'state' must be boolean, not %r" % type(state))
00026         self.set_unity_option("alt_tab_timeout", state)
00027         sleep(1)

Here is the caller graph for this function:

def unity.tests.UnityTestCase.set_unity_log_level (   self,
) [inherited]
Set the unity log level for 'component' to 'level'.

Valid levels are: TRACE, DEBUG, INFO, WARNING and ERROR.

Components are dotted unity component names. The empty string specifies
the root logging component.

Definition at line 183 of file

00184     def set_unity_log_level(self, component, level):
00185         """Set the unity log level for 'component' to 'level'.
00187         Valid levels are: TRACE, DEBUG, INFO, WARNING and ERROR.
00189         Components are dotted unity component names. The empty string specifies
00190         the root logging component.
00191         """
00192         valid_levels = ('TRACE', 'DEBUG', 'INFO', 'WARN', 'WARNING', 'ERROR')
00193         if level not in valid_levels:
00194             raise ValueError("Log level '%s' must be one of: %r" % (level, valid_levels))
00195         set_log_severity(component, level)

Here is the call graph for this function:

Here is the caller graph for this function:

def unity.tests.UnityTestCase.setUp (   self) [inherited]

Reimplemented in unity.tests.test_panel.PanelCrossMonitorsTests, unity.tests.test_dash.DashBorderTests, unity.tests.test_dash.DashLensBarTests, unity.tests.test_hud.HudVisualTests, unity.tests.test_hud.HudLockedLauncherInteractionsTests, unity.tests.test_hud.HudLauncherInteractionsTests, unity.tests.test_switcher.SwitcherDetailsTests, unity.tests.test_panel.PanelWindowButtonsTests, unity.tests.test_ibus.IBusTestsAnthyIgnore, unity.tests.test_ibus.IBusTestsPinyinIgnore, unity.tests.test_ibus.IBusTestsAnthy, unity.tests.test_quicklist.QuicklistKeyNavigationTests, unity.tests.test_ibus.IBusTestsHangul, unity.tests.test_dash.DashMultiKeyTests, unity.tests.test_ibus.IBusTestsPinyin, unity.tests.test_hud.HudBehaviorTests, unity.tests.test_hud.HudTestsBase, unity.tests.test_panel.PanelTestsBase, unity.tests.launcher.LauncherTestCase, unity.tests.test_switcher.SwitcherTests, unity.tests.launcher.test_capture.LauncherCaptureTests, unity.tests.test_ibus.IBusTests, unity.tests.launcher.test_icon_behavior.LauncherIconsTests, unity.tests.launcher.test_reveal.LauncherRevealTests, unity.tests.launcher.test_shortcut.LauncherShortcutTests, unity.tests.test_shortcut_hint.BaseShortcutHintTests, unity.tests.test_command_lens.CommandLensSearchTests, unity.tests.test_dash.DashTestCase, unity.tests.test_home_lens.HomeLensSearchTests, and unity.tests.test_showdesktop.ShowDesktopTests.

Definition at line 46 of file

00047     def setUp(self):
00048         super(UnityTestCase, self).setUp()
00049         self._setUpUnityLogging()
00050         self._initial_workspace_num = self.workspace.current_workspace
00051         self.addCleanup(self.check_test_behavior)
00052         #
00053         # Setting this here since the show desktop feature seems to be a bit
00054         # ropey. Once it's been proven to work reliably we can remove this line:
00055         self.set_unity_log_level("unity.plugin", "DEBUG")

Here is the call graph for this function:

def unity.tests.UnityTestCase.switcher (   self) [inherited]

Definition at line 134 of file

00135     def switcher(self):
00136         if not getattr(self, '__switcher', None):
00137             self.__switcher = Switcher()
00138         return self.__switcher

def unity.tests.UnityTestCase.window_manager (   self) [inherited]

Definition at line 140 of file

00141     def window_manager(self):
00142         if not getattr(self, '__window_manager', None):
00143             self.__window_manager = self._get_window_manager()
00144         return self.__window_manager

def unity.tests.UnityTestCase.workspace (   self) [inherited]

Definition at line 146 of file

00147     def workspace(self):
00148         if not getattr(self, '__workspace', None):
00149             self.__workspace = WorkspaceManager()
00150         return self.__workspace

The documentation for this class was generated from the following file: