From 38f8d09676717035382629f877d2e68ce5c54b83 Mon Sep 17 00:00:00 2001 From: Mitch Curtis Date: Mon, 18 Jun 2018 11:38:40 +0200 Subject: Menu: fix items not being scrollable when using Window Use Window.window instead of ApplicationWindow.window, as the former will always result in a window regardless of which type of window is in use. Task-number: QTBUG-68858 Change-Id: I3bdb60350d92b13621b0f4db9085bf067b6ff6e2 Reviewed-by: Richard Moe Gustavsen --- tests/auto/qquickmenu/tst_qquickmenu.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'tests/auto/qquickmenu/tst_qquickmenu.cpp') diff --git a/tests/auto/qquickmenu/tst_qquickmenu.cpp b/tests/auto/qquickmenu/tst_qquickmenu.cpp index 1202072b..5a676c03 100644 --- a/tests/auto/qquickmenu/tst_qquickmenu.cpp +++ b/tests/auto/qquickmenu/tst_qquickmenu.cpp @@ -84,6 +84,8 @@ private slots: void subMenuPosition_data(); void subMenuPosition(); void addRemoveSubMenus(); + void scrollable_data(); + void scrollable(); }; void tst_QQuickMenu::defaults() @@ -1309,6 +1311,31 @@ void tst_QQuickMenu::addRemoveSubMenus() QVERIFY(subSubMenu1Item.isNull()); } +void tst_QQuickMenu::scrollable_data() +{ + QTest::addColumn("qmlFilePath"); + + QTest::addRow("Window") << QString::fromLatin1("windowScrollable.qml"); + QTest::addRow("ApplicationWindow") << QString::fromLatin1("applicationWindowScrollable.qml"); +} + +void tst_QQuickMenu::scrollable() +{ + QFETCH(QString, qmlFilePath); + + QQuickApplicationHelper helper(this, qmlFilePath); + QQuickWindow *window = helper.window; + window->show(); + QVERIFY(QTest::qWaitForWindowActive(window)); + + QQuickMenu *menu = window->property("menu").value(); + menu->open(); + QVERIFY(menu->isVisible()); + + QQuickItem *contentItem = menu->contentItem(); + QCOMPARE(contentItem->property("interactive").toBool(), true); +} + QTEST_MAIN(tst_QQuickMenu) #include "tst_qquickmenu.moc" -- cgit v1.2.3