diff options
| author | Didier Roche <didier.roche@canonical.com> | 2011-02-11 09:43:32 +0100 |
|---|---|---|
| committer | Didier Roche <didier.roche@canonical.com> | 2011-02-11 09:43:32 +0100 |
| commit | 2a9eef64330ce3cb6d99493e4080b0d21cae19a9 (patch) | |
| tree | b3568852952dd8e0bdda81e75f7fa522552d6076 | |
| parent | 656a292915846d20a7fe359afd5d7bfa8b6e73f9 (diff) | |
| parent | b503acf9ff45440742685cf98af03e6689343d10 (diff) | |
releasing version 3.4.2-0ubuntu23.4.2-0ubuntu2
(bzr r55.3.336)
| -rw-r--r-- | debian/changelog | 7 | ||||
| -rw-r--r-- | src/BamfLauncherIcon.cpp | 41 | ||||
| -rw-r--r-- | src/BamfLauncherIcon.h | 8 | ||||
| -rw-r--r-- | src/Launcher.cpp | 30 | ||||
| -rw-r--r-- | src/LauncherIcon.cpp | 2 | ||||
| -rw-r--r-- | src/LauncherIcon.h | 4 | ||||
| -rw-r--r-- | src/PluginAdapter.cpp | 13 | ||||
| -rw-r--r-- | src/PluginAdapter.h | 4 | ||||
| -rwxr-xr-x | tools/autopilot.py | 348 |
9 files changed, 257 insertions, 200 deletions
diff --git a/debian/changelog b/debian/changelog index 0ba987956..05e069897 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +unity (3.4.2-0ubuntu2) natty; urgency=low + + * backport some fixes from trunk like launcher can be wrongly shown + (LP: #716803) + + -- Didier Roche <didrocks@ubuntu.com> Fri, 11 Feb 2011 09:43:29 +0100 + unity (3.4.2-0ubuntu1) natty; urgency=low * New upstream release: diff --git a/src/BamfLauncherIcon.cpp b/src/BamfLauncherIcon.cpp index df0112e01..a2d0b7a04 100644 --- a/src/BamfLauncherIcon.cpp +++ b/src/BamfLauncherIcon.cpp @@ -80,7 +80,7 @@ BamfLauncherIcon::Activate () } else if (scaleWasActive) { - if (!Spread ()) + if (!Spread (0, false)) { PluginAdapter::Default ()->TerminateScale (); Focus (); @@ -93,7 +93,7 @@ BamfLauncherIcon::Activate () } else if (active && !scaleWasActive) { - Spread (); + Spread (0, false); } } @@ -103,6 +103,8 @@ BamfLauncherIcon::BamfLauncherIcon (Launcher* IconManager, BamfApplication *app, m_App = app; m_Screen = screen; _remote_uri = 0; + _dnd_hover_timer = 0; + _dnd_hovered = false; _menu_desktop_shortcuts = NULL; char *icon_name = bamf_view_get_icon (BAMF_VIEW (m_App)); @@ -137,6 +139,7 @@ BamfLauncherIcon::BamfLauncherIcon (Launcher* IconManager, BamfApplication *app, /* hack */ SetProgress (0.0f); + } BamfLauncherIcon::~BamfLauncherIcon() @@ -391,7 +394,7 @@ BamfLauncherIcon::Focus () } bool -BamfLauncherIcon::Spread () +BamfLauncherIcon::Spread (int state, bool force) { BamfView *view; GList *children, *l; @@ -410,11 +413,11 @@ BamfLauncherIcon::Spread () } } - if (windowList.size () > 1) + if (windowList.size () > 1 || (windowList.size () > 0 && force)) { std::string *match = PluginAdapter::Default ()->MatchStringForXids (&windowList); _launcher->SetLastSpreadIcon ((LauncherIcon *) this); - PluginAdapter::Default ()->InitiateScale (match); + PluginAdapter::Default ()->InitiateScale (match, state); delete match; g_list_free (children); return true; @@ -891,12 +894,38 @@ BamfLauncherIcon::ValidateUrisForLaunch (std::list<char *> uris) g_object_unref (info); } - g_strfreev (mimes); g_key_file_free (key_file); return results; } +gboolean +BamfLauncherIcon::OnDndHoveredTimeout (gpointer data) +{ + BamfLauncherIcon *self = (BamfLauncherIcon*) data; + if (self->_dnd_hovered && bamf_view_is_running (BAMF_VIEW (self->m_App))) + self->Spread (CompAction::StateInitEdgeDnd, true); + + return false; +} + +void +BamfLauncherIcon::OnDndEnter () +{ + _dnd_hovered = true; + _dnd_hover_timer = g_timeout_add (1000, &BamfLauncherIcon::OnDndHoveredTimeout, this); +} + +void +BamfLauncherIcon::OnDndLeave () +{ + _dnd_hovered = false; + + if (_dnd_hover_timer) + g_source_remove (_dnd_hover_timer); + _dnd_hover_timer = 0; +} + nux::DndAction BamfLauncherIcon::OnQueryAcceptDrop (std::list<char *> uris) { diff --git a/src/BamfLauncherIcon.h b/src/BamfLauncherIcon.h index 9f48c3553..33d5e40d1 100644 --- a/src/BamfLauncherIcon.h +++ b/src/BamfLauncherIcon.h @@ -56,6 +56,8 @@ protected: nux::DndAction OnQueryAcceptDrop (std::list<char *> uris); void OnAcceptDrop (std::list<char *> uris); + void OnDndEnter (); + void OnDndLeave (); std::list<char *> ValidateUrisForLaunch (std::list<char *> uris); @@ -66,6 +68,8 @@ private: std::map<std::string, DbusmenuMenuitem *> _menu_items; DbusmenuMenuitem *_menu_desktop_shortcuts; gchar *_remote_uri; + bool _dnd_hovered; + guint _dnd_hover_timer; void EnsureWindowState (); @@ -74,7 +78,7 @@ private: void OpenInstanceWithUris (std::list<char *> uris); void OpenInstance (); void Focus (); - bool Spread (); + bool Spread (int state, bool force); void EnsureMenuItemsReady (); @@ -92,6 +96,8 @@ private: static void OnQuit (DbusmenuMenuitem *item, int time, BamfLauncherIcon *self); static void OnLaunch (DbusmenuMenuitem *item, int time, BamfLauncherIcon *self); static void OnTogglePin (DbusmenuMenuitem *item, int time, BamfLauncherIcon *self); + + static gboolean OnDndHoveredTimeout (gpointer data); }; #endif // BAMFLAUNCHERICON_H diff --git a/src/Launcher.cpp b/src/Launcher.cpp index be507d11b..2fdd70b7e 100644 --- a/src/Launcher.cpp +++ b/src/Launcher.cpp @@ -1203,8 +1203,10 @@ Launcher::EnsureHiddenState () bool must_be_hidden = _hide_on_drag_hover && _hidemode != LAUNCHER_HIDE_NEVER; + bool autohide_handle_hold = _autohide_handle && !_hidden; + if (must_be_hidden || (!mouse_over_launcher && !required_for_external_purpose && - !in_must_be_open_mode && _window_over_launcher && !_autohide_handle)) + !in_must_be_open_mode && _window_over_launcher && !autohide_handle_hold)) SetHidden (true); else SetHidden (false); @@ -1286,8 +1288,6 @@ Launcher::OnWindowMapped (guint32 xid) { g_timeout_add (200, &Launcher::OnUpdateDragManagerTimeout, this); } - - EnsureHiddenState (); } void @@ -1298,7 +1298,6 @@ Launcher::OnWindowUnmapped (guint32 xid) { g_timeout_add (200, &Launcher::OnUpdateDragManagerTimeout, this); } - EnsureHiddenState (); } void @@ -1312,7 +1311,9 @@ Launcher::OnWindowMaybeIntellihide (guint32 xid) EnsureHiddenState (); } else + { CheckWindowOverLauncher (); + } } } @@ -2919,10 +2920,17 @@ Launcher::ProcessDndLeave () _dnd_hovered_icon->SetQuirk (LauncherIcon::QUIRK_VISIBLE, false); _dnd_hovered_icon->remove.emit (_dnd_hovered_icon); - _steal_drag = false; + } + + if (!_steal_drag && _dnd_hovered_icon) + { + _dnd_hovered_icon->SendDndLeave (); _dnd_hovered_icon = 0; } + _steal_drag = false; + _dnd_hovered_icon = 0; + EnsureHoverState (); } @@ -3040,12 +3048,20 @@ Launcher::ProcessDndMove (int x, int y, std::list<char *> mimes) if (hovered_icon != _dnd_hovered_icon) { if (hovered_icon) + { + hovered_icon->SendDndEnter (); _drag_action = hovered_icon->QueryAcceptDrop (_drag_data); + } else + { _drag_action = nux::DNDACTION_NONE; + } + + if (_dnd_hovered_icon) + _dnd_hovered_icon->SendDndLeave (); + + _dnd_hovered_icon = hovered_icon; } - - _dnd_hovered_icon = hovered_icon; } bool accept; diff --git a/src/LauncherIcon.cpp b/src/LauncherIcon.cpp index 12f344604..3419e4cae 100644 --- a/src/LauncherIcon.cpp +++ b/src/LauncherIcon.cpp @@ -800,8 +800,6 @@ LauncherIcon::RemoveEntryRemote (LauncherEntryRemote *remote) return; _entry_list.remove (remote); - - printf ("Remove\n"); } void diff --git a/src/LauncherIcon.h b/src/LauncherIcon.h index 6745714df..0b7091c22 100644 --- a/src/LauncherIcon.h +++ b/src/LauncherIcon.h @@ -135,6 +135,8 @@ public: nux::DndAction QueryAcceptDrop (std::list<char *> paths) { return OnQueryAcceptDrop (paths); } void AcceptDrop (std::list<char *> paths) { return OnAcceptDrop (paths); } + void SendDndEnter () { OnDndEnter (); } + void SendDndLeave () { OnDndLeave (); } sigc::signal<void, int> MouseDown; sigc::signal<void, int> MouseUp; @@ -180,6 +182,8 @@ protected: virtual nux::DndAction OnQueryAcceptDrop (std::list<char *> files) { return nux::DNDACTION_NONE; } virtual void OnAcceptDrop (std::list<char *> files) {} + virtual void OnDndEnter () {} + virtual void OnDndLeave () {} nux::BaseTexture * TextureFromGtkTheme (const char *name, int size); nux::BaseTexture * TextureFromPath (const char *name, int size); diff --git a/src/PluginAdapter.cpp b/src/PluginAdapter.cpp index 86801088e..37bfc5143 100644 --- a/src/PluginAdapter.cpp +++ b/src/PluginAdapter.cpp @@ -146,7 +146,7 @@ MultiActionList::RemoveAction (CompAction *a) } void -MultiActionList::InitiateAll (CompOption::Vector &extraArgs) +MultiActionList::InitiateAll (CompOption::Vector &extraArgs, int state) { CompOption::Vector argument; if (!m_ActionList.size ()) @@ -168,7 +168,7 @@ MultiActionList::InitiateAll (CompOption::Vector &extraArgs) a = m_ActionList.front (); /* Initiate the first available action with the arguments */ - a->initiate () (a, 0, argument); + a->initiate () (a, state, argument); } void @@ -237,7 +237,7 @@ PluginAdapter::MatchStringForXids (std::list<Window> *windows) } void -PluginAdapter::InitiateScale (std::string *match) +PluginAdapter::InitiateScale (std::string *match, int state) { CompOption::Vector argument; CompMatch m (*match); @@ -252,15 +252,14 @@ PluginAdapter::InitiateScale (std::string *match) { if (m.evaluate (w)) { - if (std::find (m_SpreadedWindows.begin (), m_SpreadedWindows.end (), w->id ()) == - m_SpreadedWindows.end ()) + if (std::find (m_SpreadedWindows.begin (), m_SpreadedWindows.end (), w->id ()) == m_SpreadedWindows.end ()) m_SpreadedWindows.push_back (w->id ()); xids.push_back (w->id ()); } } initiate_spread.emit (xids); - m_ScaleActionList.InitiateAll (argument); + m_ScaleActionList.InitiateAll (argument, state); } void @@ -284,7 +283,7 @@ PluginAdapter::InitiateExpo () { CompOption::Vector argument (0); - m_ExpoActionList.InitiateAll (argument); + m_ExpoActionList.InitiateAll (argument, 0); } // WindowManager implementation diff --git a/src/PluginAdapter.h b/src/PluginAdapter.h index dd9e4c17a..379672469 100644 --- a/src/PluginAdapter.h +++ b/src/PluginAdapter.h @@ -35,7 +35,7 @@ public: m_ActionList (n), _primary_action (NULL) {}; - void InitiateAll (CompOption::Vector &extraArgs); + void InitiateAll (CompOption::Vector &extraArgs, int state); void TerminateAll (CompOption::Vector &extraArgs); void AddNewAction (CompAction *, bool primary); @@ -64,7 +64,7 @@ public: void OnScreenGrabbed (); void OnScreenUngrabbed (); - void InitiateScale (std::string *match); + void InitiateScale (std::string *match, int state = 0); void TerminateScale (); bool IsScaleActive (); diff --git a/tools/autopilot.py b/tools/autopilot.py index f6978c827..459a52e9d 100755 --- a/tools/autopilot.py +++ b/tools/autopilot.py @@ -31,206 +31,204 @@ class UnityUtil(object): INTROSPECTION_IFACE = 'com.canonical.Unity.Debug.Introspection' def __init__(self): - self._bus = dbus.SessionBus() - self._introspection_proxy_obj = self._bus.get_object(self.UNITY_BUS_NAME, self.INTROSPECTION_PATH) - self._introspection_iface = dbus.Interface(self._introspection_proxy_obj, - self.INTROSPECTION_IFACE) + self._bus = dbus.SessionBus() + self._introspection_proxy_obj = self._bus.get_object(self.UNITY_BUS_NAME, self.INTROSPECTION_PATH) + self._introspection_iface = dbus.Interface(self._introspection_proxy_obj, + self.INTROSPECTION_IFACE) def run_unity(self): - ''' Runs unity with --reset to ensure that a default Unity/compiz session - is being tested. If unity --reset does not return 0, a CalledProcessError - will be raised. No exception does not mean that everything is ok, is_running - should still be called after.''' - ret = subprocess.check_call ('unity', '--reset') - - + ''' Runs unity with --reset to ensure that a default Unity/compiz session + is being tested. If unity --reset does not return 0, a CalledProcessError + will be raised. No exception does not mean that everything is ok, is_running + should still be called after.''' + ret = subprocess.check_call ('unity', '--reset') + def is_running(self): - '''Checks if Unity is running by examing the session bus, and checking if - 'com.canonical.Unity' is currently owned.''' - return self._bus.name_has_owner(self.UNITY_BUS_NAME) - + '''Checks if Unity is running by examing the session bus, and checking if + 'com.canonical.Unity' is currently owned.''' + return self._bus.name_has_owner(self.UNITY_BUS_NAME) + class Mouse(object): - '''Wrapper around xlib to make moving the mouse easier''' + '''Wrapper around xlib to make moving the mouse easier''' - def __init__(self): - self._display = Display() + def __init__(self): + self._display = Display() - def press(self, button=1): - '''Press mouse button at current mouse location''' - fake_input(self._display, X.ButtonPress, button) - self._display.sync() + def press(self, button=1): + '''Press mouse button at current mouse location''' + fake_input(self._display, X.ButtonPress, button) + self._display.sync() - def release(self, button=1): - '''Releases mouse button at current mouse location''' - fake_input(self._display, X.ButtonRelease, button) - self._display.sync() + def release(self, button=1): + '''Releases mouse button at current mouse location''' + fake_input(self._display, X.ButtonRelease, button) + self._display.sync() - def click(self, button=1): - '''Click mouse at current location''' - self.press(button) - sleep(0.25) - self.release(button) + def click(self, button=1): + '''Click mouse at current location''' + self.press(button) + sleep(0.25) + self.release(button) - def move(self, x, y): - '''Moves mouse to location (x, y)''' - def perform_move(x, y): - fake_input(self._display, X.MotionNotify, x=x, y=y) - self._display.sync() - sleep(0.001) + def move(self, x, y): + '''Moves mouse to location (x, y)''' + def perform_move(x, y): + fake_input(self._display, X.MotionNotify, x=x, y=y) + self._display.sync() + sleep(0.001) - dest_x, dest_y = x, y - curr_x, curr_y = self.position() - - # calculate a path from our current position to our destination - dy = float(curr_y - dest_y) - dx = float(curr_x - dest_x) - slope = dy/dx if dx > 0 else 0 - yint = curr_y - (slope * curr_x) - xscale = 1 if dest_x > curr_x else -1 + dest_x, dest_y = x, y + curr_x, curr_y = self.position() - while (int(curr_x) != dest_x): - curr_x += xscale; - curr_y = int(slope * curr_x + yint) if curr_y > 0 else dest_y + # calculate a path from our current position to our destination + dy = float(curr_y - dest_y) + dx = float(curr_x - dest_x) + slope = dy/dx if dx > 0 else 0 + yint = curr_y - (slope * curr_x) + xscale = 1 if dest_x > curr_x else -1 + + while (int(curr_x) != dest_x): + curr_x += xscale; + curr_y = int(slope * curr_x + yint) if curr_y > 0 else dest_y - perform_move(curr_x, curr_y) + perform_move(curr_x, curr_y) - if (curr_y != dest_y): - yscale = 1 if dest_y > curr_y else -1 - while (curr_y != dest_y): - curr_y += yscale - perform_move(curr_x, curr_y) + if (curr_y != dest_y): + yscale = 1 if dest_y > curr_y else -1 + while (curr_y != dest_y): + curr_y += yscale + perform_move(curr_x, curr_y) - - def position(self): - '''Returns the current position of the mouse pointer''' - coord = self._display.screen().root.query_pointer()._data - x, y = coord["root_x"], coord["root_y"] - return x, y + def position(self): + '''Returns the current position of the mouse pointer''' + coord = self._display.screen().root.query_pointer()._data + x, y = coord["root_x"], coord["root_y"] + return x, y - def reset(self): - fake_input (self._display, X.MotionNotify, x = 800, y = 500) - self._display.sync() + def reset(self): + fake_input (self._display, X.MotionNotify, x = 800, y = 500) + self._display.sync() class UnityTests(object): - '''Runs a series of unity actions, triggering GL calls''' + '''Runs a series of unity actions, triggering GL calls''' - _bfb_x = 24 - _bfb_y = 10 - - # this is totally lame. This should not be hard coded, but until I can get - # unity to run in gdb and debug why introspection is crashing and hardlocking - # this is the best I can do. - _dest_x = 32 - _dest_y = 57 + _bfb_x = 24 + _bfb_y = 10 - def __init__(self): - self._mouse = Mouse() - self._unity = UnityUtil() + # this is totally lame. This should not be hard coded, but until I can get + # unity to run in gdb and debug why introspection is crashing and hardlocking + # this is the best I can do. + _dest_x = 32 + _dest_y = 57 + + def __init__(self): + self._mouse = Mouse() + self._unity = UnityUtil() - def show_tooltip(self): - '''Move mouse to a launcher and hover to show the tooltip''' - print 'Showing tool tip...' - self._mouse.reset() - self._mouse.move (self._bfb_x, self._bfb_y) - sleep (0.25) - self._mouse.move(self._dest_x, self._dest_y) - return self._unity.is_running() + def show_tooltip(self): + '''Move mouse to a launcher and hover to show the tooltip''' + print 'Showing tool tip...' + self._mouse.reset() + self._mouse.move (self._bfb_x, self._bfb_y) + sleep (0.25) + self._mouse.move(self._dest_x, self._dest_y) + return self._unity.is_running() - def show_quicklist(self): - '''Move mouse to a launcher and right click''' - print 'Showing quicklist...' - self._mouse.reset() - self._mouse.move (self._bfb_x, self._bfb_y) - sleep (0.25) - self._mouse.move(self._dest_x, self._dest_y) - sleep(0.25) - self._mouse.click(button=3) - sleep(2) - # hides quicklist - self._mouse.click(button=3) - return self._unity.is_running() + def show_quicklist(self): + '''Move mouse to a launcher and right click''' + print 'Showing quicklist...' + self._mouse.reset() + self._mouse.move (self._bfb_x, self._bfb_y) + sleep (0.25) + self._mouse.move(self._dest_x, self._dest_y) + sleep(0.25) + self._mouse.click(button=3) + sleep(2) + # hides quicklist + self._mouse.click(button=3) + return self._unity.is_running() - def drag_launcher(self): - '''Click a launcher icon and drag down to move the whole launcher''' - print 'Dragging entire launcher...' - self._mouse.reset() - self._mouse.move (self._bfb_x, self._bfb_y) - sleep (0.25) - self._mouse.move(self._dest_x, self._dest_y) - sleep(0.25) - print self._mouse.position() - print 'pressing' - self._mouse.press() - self._mouse.move(self._dest_x, self._dest_y + 300) - sleep(0.25) - print 'releasing' - self._mouse.release() - return self._unity.is_running() + def drag_launcher(self): + '''Click a launcher icon and drag down to move the whole launcher''' + print 'Dragging entire launcher...' + self._mouse.reset() + self._mouse.move (self._bfb_x, self._bfb_y) + sleep (0.25) + self._mouse.move(self._dest_x, self._dest_y) + sleep(0.25) + print self._mouse.position() + print 'pressing' + self._mouse.press() + self._mouse.move(self._dest_x, self._dest_y + 300) + sleep(0.25) + print 'releasing' + self._mouse.release() + return self._unity.is_running() - def drag_launcher_icon_along_edge_drop(self): - '''Click a launcher icon and drag it along the edge of the launcher - to test moving icons around on the launcher''' - print 'Moving launcher icon along edge...' - self._mouse.reset() - self._mouse.move (self._bfb_x, self._bfb_y) - sleep (0.25) - self._mouse.move(self._dest_x, self._dest_y) - self._mouse.press() - self._mouse.move(self._dest_x + 25, self._dest_y) - self._mouse.move(self._dest_x + 25, self._dest_y + 500) - self._mouse.release() - return self._unity.is_running() + def drag_launcher_icon_along_edge_drop(self): + '''Click a launcher icon and drag it along the edge of the launcher + to test moving icons around on the launcher''' + print 'Moving launcher icon along edge...' + self._mouse.reset() + self._mouse.move (self._bfb_x, self._bfb_y) + sleep (0.25) + self._mouse.move(self._dest_x, self._dest_y) + self._mouse.press() + self._mouse.move(self._dest_x + 25, self._dest_y) + self._mouse.move(self._dest_x + 25, self._dest_y + 500) + self._mouse.release() + return self._unity.is_running() - def drag_launcher_icon_out_and_drop(self): - '''Click a launcher icon and drag it straight out so that when dropped - it returns to its original position''' - print 'Dragging launcher straight out and dropping...' - self._mouse.reset() - self._mouse.move (self._bfb_x, self._bfb_y) - sleep (0.25) - self._mouse.move(self._dest_x, self._dest_y) - self._mouse.press() - self._mouse.move(self._dest_x + 300, self._dest_y) - self._mouse.release() - return self._unity.is_running() + def drag_launcher_icon_out_and_drop(self): + '''Click a launcher icon and drag it straight out so that when dropped + it returns to its original position''' + print 'Dragging launcher straight out and dropping...' + self._mouse.reset() + self._mouse.move (self._bfb_x, self._bfb_y) + sleep (0.25) + self._mouse.move(self._dest_x, self._dest_y) + self._mouse.press() + self._mouse.move(self._dest_x + 300, self._dest_y) + self._mouse.release() + return self._unity.is_running() - def drag_launcher_icon_out_and_move(self): - '''Click a launcher icon and drag it diagonally so that it changes position''' - print 'Dragging a launcher icon out, and moving it...''' - self._mouse.reset() - self._mouse.move (self._bfb_x, self._bfb_y) - sleep (0.25) - self._mouse.move(self._dest_x, self._dest_y) - self._mouse.press() - self._mouse.move(self._dest_x + 300, self._dest_y) - self._mouse.move(self._dest_x + 300, self._dest_y + 300) - self._mouse.release() - return self._unity.is_running() + def drag_launcher_icon_out_and_move(self): + '''Click a launcher icon and drag it diagonally so that it changes position''' + print 'Dragging a launcher icon out, and moving it...''' + self._mouse.reset() + self._mouse.move (self._bfb_x, self._bfb_y) + sleep (0.25) + self._mouse.move(self._dest_x, self._dest_y) + self._mouse.press() + self._mouse.move(self._dest_x + 300, self._dest_y) + self._mouse.move(self._dest_x + 300, self._dest_y + 300) + self._mouse.release() + return self._unity.is_running() if __name__ == "__main__": - tests = UnityTests() - if (not tests.show_tooltip()): - print 'FAIL: SHOW TOOLTIP CRASHED UNITY' - exit (1) - sleep(1.5) - if (not tests.show_quicklist()): - print 'FAIL: SHOW QUICKLIST CRASHED UNITY' - exit (1) - sleep(1.5) - if (not tests.drag_launcher()): - print 'FAIL: DRAG LAUNCHER CRASHED UNITY' - exit (1) - sleep(1.5) - if (not tests.drag_launcher_icon_along_edge_drop()): - print 'FAIL: DRAG LAUNCHER ICON ALONG EDGE CRASHED UNITY' - exit (1) - sleep(1.5) - if (not tests.drag_launcher_icon_out_and_drop()): - print 'FAIL: DRAG LAUNCHER ICON OUT AND DROP CRASHED UNITY' - exit (1) - sleep(1.5) - if (not tests.drag_launcher_icon_out_and_move()): - print 'FAIL: DRAG LAUNCHER ICON OUT AND MOVE CRASHED UNITY' - exit (1) + tests = UnityTests() + if (not tests.show_tooltip()): + print 'FAIL: SHOW TOOLTIP CRASHED UNITY' + exit (1) + sleep(1.5) + if (not tests.show_quicklist()): + print 'FAIL: SHOW QUICKLIST CRASHED UNITY' + exit (1) + sleep(1.5) + if (not tests.drag_launcher()): + print 'FAIL: DRAG LAUNCHER CRASHED UNITY' + exit (1) + sleep(1.5) + if (not tests.drag_launcher_icon_along_edge_drop()): + print 'FAIL: DRAG LAUNCHER ICON ALONG EDGE CRASHED UNITY' + exit (1) + sleep(1.5) + if (not tests.drag_launcher_icon_out_and_drop()): + print 'FAIL: DRAG LAUNCHER ICON OUT AND DROP CRASHED UNITY' + exit (1) + sleep(1.5) + if (not tests.drag_launcher_icon_out_and_move()): + print 'FAIL: DRAG LAUNCHER ICON OUT AND MOVE CRASHED UNITY' + exit (1) - print 'PASS' + print 'PASS' |
