aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorVolker Hilsheimer <volker.hilsheimer@qt.io>2023-04-19 20:59:30 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-04-22 06:44:42 +0000
commitea28fc656eb71dcae9321a512d52f0358d5d8ea2 (patch)
treeb048e910a342f77cec05dee5680de8814522c349 /tests
parentd204cebca48f753e2fc40e8d27e96905950c7ccb (diff)
MenuBar: Clean up and stabilize test case
The test case fails frequently and flakily locally with the Material style, because the exit transition of the static menu interferes with the opening of the dynamic menu. Wait for the static menu to be completely done with the exit transition before continuing. As a drive-by, replace all QCOMPARE(actual, true/false) patterns with QVERIFY. Task-number: QTBUG-104323 Change-Id: Ide90f0094b05d628a0eb047248a72c35bcb7cdc3 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io> (cherry picked from commit c39f407a5a5df4bc25ca338c5c381869c1bc9ac7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/quickcontrols/qquickmenubar/tst_qquickmenubar.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/tests/auto/quickcontrols/qquickmenubar/tst_qquickmenubar.cpp b/tests/auto/quickcontrols/qquickmenubar/tst_qquickmenubar.cpp
index be8eace1ca..bbace286a8 100644
--- a/tests/auto/quickcontrols/qquickmenubar/tst_qquickmenubar.cpp
+++ b/tests/auto/quickcontrols/qquickmenubar/tst_qquickmenubar.cpp
@@ -757,32 +757,33 @@ void tst_qquickmenubar::checkHighlightWhenMenuDismissed()
QPointF(staticMenuBarItem->width() / 2, staticMenuBarItem->height() / 2)).toPoint());
QTest::mouseClick(window.data(), Qt::LeftButton, Qt::NoModifier,
staticMenuBarItem->mapToScene(QPointF(staticMenuBarItem->width() / 2, staticMenuBarItem->height() / 2)).toPoint());
- QCOMPARE(staticMenuBarItem->isHighlighted(), true);
- QCOMPARE(staticMenu->isVisible(), true);
- QTRY_COMPARE(staticMenu->isOpened(), true);
-
+ QVERIFY(staticMenuBarItem->isHighlighted());
+ QVERIFY(staticMenu->isVisible());
+ QTRY_VERIFY(staticMenu->isOpened());
// click a menu item to dismiss the menu and unhighlight the static MenuBarItem
QQuickMenuItem *menuItem = qobject_cast<QQuickMenuItem *>(staticMenu->itemAt(0));
QVERIFY(menuItem);
QTest::mouseClick(window.data(), Qt::LeftButton, Qt::NoModifier,
menuItem->mapToScene(QPointF(menuItem->width() / 2, menuItem->height() / 2)).toPoint());
- QCOMPARE(staticMenuBarItem->isHighlighted(), false);
+ QVERIFY(!staticMenuBarItem->isHighlighted());
+ // wait for the menu to be fully gone so that it doesn't interfere with the next test
+ QTRY_VERIFY(!staticMenu->isVisible());
// highlight the dynamic MenuBarItem and open the menu
QTest::mouseMove(window.data(), dynamicMenuBarItem->mapToScene(
QPointF(dynamicMenuBarItem->width() / 2, dynamicMenuBarItem->height() / 2)).toPoint());
QTest::mouseClick(window.data(), Qt::LeftButton, Qt::NoModifier,
dynamicMenuBarItem->mapToScene(QPointF(dynamicMenuBarItem->width() / 2, dynamicMenuBarItem->height() / 2)).toPoint());
- QCOMPARE(dynamicMenuBarItem->isHighlighted(), true);
- QCOMPARE(dynamicMenu->isVisible(), true);
- QTRY_COMPARE(dynamicMenu->isOpened(), true);
+ QVERIFY(dynamicMenuBarItem->isHighlighted());
+ QVERIFY(dynamicMenu->isVisible());
+ QTRY_VERIFY(dynamicMenu->isOpened());
// click a menu item to dismiss the menu and unhighlight the dynamic MenuBarItem
menuItem = qobject_cast<QQuickMenuItem *>(dynamicMenu->itemAt(0));
QVERIFY(menuItem);
QTest::mouseClick(window.data(), Qt::LeftButton, Qt::NoModifier,
menuItem->mapToScene(QPointF(menuItem->width() / 2, menuItem->height() / 2)).toPoint());
- QCOMPARE(dynamicMenuBarItem->isHighlighted(), false);
+ QVERIFY(!dynamicMenuBarItem->isHighlighted());
}
QTEST_QUICKCONTROLS_MAIN(tst_qquickmenubar)