diff options
author | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2023-04-19 20:59:30 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-04-22 06:44:42 +0000 |
commit | ea28fc656eb71dcae9321a512d52f0358d5d8ea2 (patch) | |
tree | b048e910a342f77cec05dee5680de8814522c349 /tests | |
parent | d204cebca48f753e2fc40e8d27e96905950c7ccb (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.cpp | 19 |
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) |