@@ -216,6 +216,11 @@ Item {
218 function revealByEdgePush() {
218 function revealByEdgePush() {
219+ // make the dismissTimer interval very big temporarily
220+ var dismissTimer = findInvisibleChild(launcher, "dismissTimer");
221+ var oldInterval = dismissTimer.interval;
222+ dismissTimer.interval = 100000;
219 // Place the mouse against the window/screen edge and push beyond the barrier threshold
224 // Place the mouse against the window/screen edge and push beyond the barrier threshold
220 mouseMove(root, 1, root.height / 2);
225 mouseMove(root, 1, root.height / 2);
221 launcher.pushEdge(EdgeBarrierSettings.pushThreshold * 1.1);
226 launcher.pushEdge(EdgeBarrierSettings.pushThreshold * 1.1);
@@ -226,6 +231,15 @@ Item {
226 // wait until it gets fully extended
231 // wait until it gets fully extended
227 tryCompare(panel, "x", 0);
232 tryCompare(panel, "x", 0);
228 tryCompare(launcher, "state", "visibleTemporary");
233 tryCompare(launcher, "state", "visibleTemporary");
235+ // move the mouse a bit, this should not be needed but without it
236+ // the mouse areas do not realize their containsMouse have changed
237+ // i've tested in real life without moving the mouse at all and it works
238+ // so it seems to be a test-only issue
239+ mouseMove(root, 2, root.height / 2);
241+ // now that the launcher is out, bring the interval back
242+ dismissTimer.interval = oldInterval;
231 function waitUntilLauncherDisappears() {
245 function waitUntilLauncherDisappears() {
@@ -892,6 +906,12 @@ Item {
892 revealByEdgePush();
906 revealByEdgePush();
893 compare(launcher.state, "visibleTemporary");
907 compare(launcher.state, "visibleTemporary");
909+ // wait three times the dismiss timer to check the launcher still shown
910+ // because the mouse is still over the launcher
911+ var dismissTimer = findInvisibleChild(launcher, "dismissTimer");
912+ wait(dismissTimer.interval * 3);
913+ compare(panel.x, 0);
895 // Now move the mouse away and make sure it hides in less than a second
915 // Now move the mouse away and make sure it hides in less than a second
896 mouseMove(root, root.width, root.height / 2)
916 mouseMove(root, root.width, root.height / 2)