diff options
author | Mitch Curtis <mitch.curtis@qt.io> | 2018-04-10 17:40:07 +0200 |
---|---|---|
committer | Mitch Curtis <mitch.curtis@qt.io> | 2018-09-05 14:57:22 +0000 |
commit | d5cb26bc56a3b6f6e99c88654d4f7a65f43551ac (patch) | |
tree | 614cfe06c0cb5ae35202e7e9e57cb1170fb0eff0 /tests/auto/qquickmenubar | |
parent | 65374a95a33a677740f6e6b25c424b4a4b466b3f (diff) |
Menu: ensure the correct delegates are used when created via Component
Don't add items until we're complete, as the delegate could change in
the meantime. Instead, add them to contentData and create them when
we're complete.
Task-number: QTBUG-67559
Change-Id: I5f42129f49de861ff5f15d0069daeda0b4e5017c
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Diffstat (limited to 'tests/auto/qquickmenubar')
-rw-r--r-- | tests/auto/qquickmenubar/qquickmenubar.pro | 1 | ||||
-rw-r--r-- | tests/auto/qquickmenubar/tst_qquickmenubar.cpp | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/tests/auto/qquickmenubar/qquickmenubar.pro b/tests/auto/qquickmenubar/qquickmenubar.pro index b7d41f0f..d2f28e47 100644 --- a/tests/auto/qquickmenubar/qquickmenubar.pro +++ b/tests/auto/qquickmenubar/qquickmenubar.pro @@ -1,5 +1,6 @@ CONFIG += testcase TARGET = tst_qquickmenubar +HEADERS += ../shared/menuutil.h SOURCES += tst_qquickmenubar.cpp macos:CONFIG -= app_bundle diff --git a/tests/auto/qquickmenubar/tst_qquickmenubar.cpp b/tests/auto/qquickmenubar/tst_qquickmenubar.cpp index 19d67eac..754e915b 100644 --- a/tests/auto/qquickmenubar/tst_qquickmenubar.cpp +++ b/tests/auto/qquickmenubar/tst_qquickmenubar.cpp @@ -36,6 +36,8 @@ #include <QtTest> #include <QtQml> +#include <QtQuick/private/qquicklistview_p.h> +#include "../shared/menuutil.h" #include "../shared/util.h" #include "../shared/visualtestutil.h" #include "../shared/qtest_quickcontrols.h" @@ -146,6 +148,7 @@ void tst_qquickmenubar::mouse() QVERIFY(helpMenuBarMenu->isVisible()); QTRY_VERIFY(!editMenuBarMenu->isVisible()); QTRY_VERIFY(helpMenuBarMenu->isOpened()); + waitForMenuListViewPolish(helpMenuBarMenu); // trigger a menu item to close the menu QQuickMenuItem *aboutMenuItem = qobject_cast<QQuickMenuItem *>(helpMenuBarMenu->itemAt(0)); @@ -167,6 +170,7 @@ void tst_qquickmenubar::mouse() QVERIFY(viewMenuBarItem->isHighlighted()); QVERIFY(viewMenuBarMenu->isVisible()); QTRY_VERIFY(viewMenuBarMenu->isOpened()); + waitForMenuListViewPolish(viewMenuBarMenu); // trigger a menu item to open a sub-menu QQuickMenuItem *alignmentSubMenuItem = qobject_cast<QQuickMenuItem *>(viewMenuBarMenu->itemAt(0)); @@ -177,6 +181,7 @@ void tst_qquickmenubar::mouse() QVERIFY(viewMenuBarMenu->isVisible()); QVERIFY(alignmentSubMenu->isVisible()); QTRY_VERIFY(alignmentSubMenu->isOpened()); + waitForMenuListViewPolish(alignmentSubMenu); // trigger a menu item to open a sub-sub-menu QQuickMenuItem *verticalSubMenuItem = qobject_cast<QQuickMenuItem *>(alignmentSubMenu->itemAt(1)); @@ -188,6 +193,7 @@ void tst_qquickmenubar::mouse() QVERIFY(alignmentSubMenu->isVisible()); QVERIFY(verticalSubMenu->isVisible()); QTRY_VERIFY(verticalSubMenu->isOpened()); + waitForMenuListViewPolish(verticalSubMenu); // trigger a menu item to close the whole chain of menus QQuickMenuItem *centerMenuItem = qobject_cast<QQuickMenuItem *>(verticalSubMenu->itemAt(1)); |