tests: cleanup tst_QMenu::click_while_dismissing_submenu()
- Use Qt 5 connection syntax - Use QTest::mouseMove(QWindow *) Change-Id: Ia2ea8595355801db3f4569a96dead60a7af51109 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
This commit is contained in:
parent
4772ac90fa
commit
bdd2697ce8
@ -1175,25 +1175,27 @@ void tst_QMenu::click_while_dismissing_submenu()
|
||||
menu.addMenu(&sub);
|
||||
centerOnScreen(&menu, QSize(120, 100));
|
||||
menu.show();
|
||||
QSignalSpy spy(action, SIGNAL(triggered()));
|
||||
QSignalSpy menuShownSpy(&sub, SIGNAL(aboutToShow()));
|
||||
QSignalSpy menuHiddenSpy(&sub, SIGNAL(aboutToHide()));
|
||||
QSignalSpy spy(action, &QAction::triggered);
|
||||
QSignalSpy menuShownSpy(&sub, &QMenu::aboutToShow);
|
||||
QSignalSpy menuHiddenSpy(&sub, &QMenu::aboutToHide);
|
||||
QVERIFY(QTest::qWaitForWindowExposed(&menu));
|
||||
QWindow *menuWindow = menu.windowHandle();
|
||||
QVERIFY(menuWindow);
|
||||
//go over the submenu, press, move and release over the top level action
|
||||
//this opens the submenu, move two times to emulate user interaction (d->motions > 0 in QMenu)
|
||||
QTest::mouseMove(&menu, menu.rect().center() + QPoint(0,2));
|
||||
QTest::mouseMove(&menu, menu.rect().center() + QPoint(1,3), 60);
|
||||
QTest::mouseMove(menuWindow, menu.rect().center() + QPoint(0,2));
|
||||
QTest::mouseMove(menuWindow, menu.rect().center() + QPoint(1,3), 60);
|
||||
QVERIFY(menuShownSpy.wait());
|
||||
QVERIFY(sub.isVisible());
|
||||
QVERIFY(QTest::qWaitForWindowExposed(&sub));
|
||||
//press over the submenu entry
|
||||
QTest::mousePress(&menu, Qt::LeftButton, 0, menu.rect().center() + QPoint(0,2), 300);
|
||||
QTest::mousePress(menuWindow, Qt::LeftButton, 0, menu.rect().center() + QPoint(0,2), 300);
|
||||
//move over the main action
|
||||
QTest::mouseMove(&menu, menu.rect().center() - QPoint(0,2));
|
||||
QTest::mouseMove(menuWindow, menu.rect().center() - QPoint(0,2));
|
||||
QVERIFY(menuHiddenSpy.wait());
|
||||
//the submenu must have been hidden for the bug to be triggered
|
||||
QVERIFY(!sub.isVisible());
|
||||
QTest::mouseRelease(&menu, Qt::LeftButton, 0, menu.rect().center() - QPoint(0,2), 300);
|
||||
QTest::mouseRelease(menuWindow, Qt::LeftButton, 0, menu.rect().center() - QPoint(0,2), 300);
|
||||
QCOMPARE(spy.count(), 1);
|
||||
}
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user