diff options
author | Liang Qi <liang.qi@qt.io> | 2018-10-15 14:51:00 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2018-10-15 15:15:22 +0200 |
commit | 2876332ad911b3c0402006ca9116af66cecdb8eb (patch) | |
tree | 70971ccda91a100edc39aac18a82dbff5ca04eaf /tests/auto/qquickmenubar/tst_qquickmenubar.cpp | |
parent | 567a2de8cd493aabe0055d6dbc367b39447e70dd (diff) | |
parent | d56c193eb4ceb640611d66f22e1f26aae91cd7d1 (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.cpp | 27 |
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" |