aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qquickmenubar/tst_qquickmenubar.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2018-10-15 14:51:00 +0200
committerLiang Qi <liang.qi@qt.io>2018-10-15 15:15:22 +0200
commit2876332ad911b3c0402006ca9116af66cecdb8eb (patch)
tree70971ccda91a100edc39aac18a82dbff5ca04eaf /tests/auto/qquickmenubar/tst_qquickmenubar.cpp
parent567a2de8cd493aabe0055d6dbc367b39447e70dd (diff)
parentd56c193eb4ceb640611d66f22e1f26aae91cd7d1 (diff)
Merge remote-tracking branch 'origin/5.11' into 5.12v5.12.0-beta3
Conflicts: src/quicktemplates2/qquickmenubar.cpp src/quicktemplates2/qquickmenubar_p.h src/quicktemplates2/qquickmenubar_p_p.h Change-Id: I5c2115f05826f68f1b1f5ce6762273cd91e6997e
Diffstat (limited to 'tests/auto/qquickmenubar/tst_qquickmenubar.cpp')
-rw-r--r--tests/auto/qquickmenubar/tst_qquickmenubar.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/auto/qquickmenubar/tst_qquickmenubar.cpp b/tests/auto/qquickmenubar/tst_qquickmenubar.cpp
index 3d6c2bbf..cfcdee5e 100644
--- a/tests/auto/qquickmenubar/tst_qquickmenubar.cpp
+++ b/tests/auto/qquickmenubar/tst_qquickmenubar.cpp
@@ -63,6 +63,7 @@ private slots:
void keys();
void mnemonics();
void addRemove();
+ void delegateFromSeparateComponent();
};
void tst_qquickmenubar::delegate()
@@ -578,6 +579,32 @@ void tst_qquickmenubar::addRemove()
QVERIFY(menuBarItem1.isNull());
}
+// QTBUG-67559
+// Test that Menus declared as children of a MenuBar have the
+// correct delegate when it is declared outside of the MenuBar as a Component.
+void tst_qquickmenubar::delegateFromSeparateComponent()
+{
+ QQuickApplicationHelper helper(this, QLatin1String("delegateFromSeparateComponent.qml"));
+ QQuickWindow *window = helper.window;
+ window->show();
+ QVERIFY(QTest::qWaitForWindowActive(window));
+
+ const QColor green = QColor::fromRgb(0x00ff00);
+
+ QQuickMenuBar *menuBar = window->property("menuBar").value<QQuickMenuBar*>();
+ QVERIFY(menuBar);
+
+ QQuickMenu *menu = qobject_cast<QQuickMenu*>(menuBar->menuAt(0));
+ QVERIFY(menu);
+
+ QQuickMenuBarItem *menuBarItem = qobject_cast<QQuickMenuBarItem *>(menu->parentItem());
+ QVERIFY(menuBarItem);
+
+ QQuickItem *menuBarItemBg = menuBarItem->property("background").value<QQuickItem*>();
+ QVERIFY(menuBarItemBg);
+ QCOMPARE(menuBarItemBg->property("color").value<QColor>(), green);
+}
+
QTEST_QUICKCONTROLS_MAIN(tst_qquickmenubar)
#include "tst_qquickmenubar.moc"