summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp')
-rw-r--r--tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
index 3c32b8a476..7c1bb957d6 100644
--- a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
+++ b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
@@ -764,14 +764,20 @@ void tst_QMenu::task258920_mouseBorder()
menu.setMouseTracking(true);
QAction *action = menu.addAction("test");
- menu.popup(QApplication::desktop()->availableGeometry().center());
+ const QPoint center = QApplication::desktop()->availableGeometry().center();
+#ifndef QT_NO_CURSOR
+ QCursor::setPos(center - QPoint(100, 100)); // Mac: Ensure cursor is outside
+#endif
+ menu.popup(center);
QVERIFY(QTest::qWaitForWindowExposed(&menu));
QTest::qWait(100);
QRect actionRect = menu.actionGeometry(action);
- QTest::mouseMove(&menu, actionRect.center());
+ const QPoint actionCenter = actionRect.center();
+ QTest::mouseMove(&menu, actionCenter - QPoint(-10, 0));
QTest::qWait(30);
- QTest::mouseMove(&menu, actionRect.center() + QPoint(10, 0));
+ QTest::mouseMove(&menu, actionCenter);
QTest::qWait(30);
+ QTest::mouseMove(&menu, actionCenter + QPoint(10, 0));
QTRY_COMPARE(action, menu.activeAction());
menu.painted = false;
QTest::mouseMove(&menu, QPoint(actionRect.center().x(), actionRect.bottom() + 1));