aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qquickmenubar/tst_qquickmenubar.cpp
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@qt.io>2018-11-14 11:13:15 +0100
committerJani Heikkinen <jani.heikkinen@qt.io>2018-11-15 16:08:46 +0000
commitd3545dbdfdb30e310c6c962ba92f4fdf57354666 (patch)
treee56e0a167ee50cb104cb28ed7e6ae730512c55ca /tests/auto/qquickmenubar/tst_qquickmenubar.cpp
parent0b5f60148f4992381ae79f399b243ecb2774d2ba (diff)
Revert all Menu delegate patchesv5.12.0-rc2v5.12.0-rc1v5.12.0
This reverts the following commits: d5cb26bc56a3b6f6e99c88654d4f7a65f43551ac - Menu: ensure the correct delegates are used when created via Component d923dd467c1aeb3e195a09949b04862084002f88 - MenuBar: ensure the correct delegates are used when created via Component d56c193eb4ceb640611d66f22e1f26aae91cd7d1 - QQuickPopupPositioner: avoid adding duplicate item change listeners 567a2de8cd493aabe0055d6dbc367b39447e70dd - Stabilize tst_qquickmenubar 953fbac6131823e4fce0eb4707a854469c4c04ff - Fix Instantiator-created MenuItems disappearing 936d31179d44220571ded15840bedeccb581c83b - tst_qquickmenu: add a test for MenuItems before and after a Repeater fc1832810f6c09505d9413685ed0b2d6295bea4a - QQuickMenuBar: fix menu not opening The fix for QTBUG-67559 has caused lots of issues, with the latest being a crash right before the 5.12 release. The bug that they fix is a P2, so it's not worth the hassle. The patches might be able to be resubmitted to dev after the crash is fixed. Change-Id: Ic192c7a302176bcdb2503b636b3462b10898a2ba Fixes: QTBUG-71770 Reviewed-by: J-P Nurmi <jpnurmi@gmail.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'tests/auto/qquickmenubar/tst_qquickmenubar.cpp')
-rw-r--r--tests/auto/qquickmenubar/tst_qquickmenubar.cpp101
1 files changed, 0 insertions, 101 deletions
diff --git a/tests/auto/qquickmenubar/tst_qquickmenubar.cpp b/tests/auto/qquickmenubar/tst_qquickmenubar.cpp
index 70d487a9..19d67eac 100644
--- a/tests/auto/qquickmenubar/tst_qquickmenubar.cpp
+++ b/tests/auto/qquickmenubar/tst_qquickmenubar.cpp
@@ -36,17 +36,13 @@
#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"
#include <QtQuickTemplates2/private/qquickapplicationwindow_p.h>
#include <QtQuickTemplates2/private/qquickmenu_p.h>
-#include <QtQuickTemplates2/private/qquickmenu_p_p.h>
#include <QtQuickTemplates2/private/qquickmenubar_p.h>
-#include <QtQuickTemplates2/private/qquickmenubar_p_p.h>
#include <QtQuickTemplates2/private/qquickmenubaritem_p.h>
#include <QtQuickTemplates2/private/qquickmenuitem_p.h>
@@ -64,8 +60,6 @@ private slots:
void keys();
void mnemonics();
void addRemove();
- void delegateFromSeparateComponent();
- void openTwice();
};
void tst_qquickmenubar::delegate()
@@ -110,13 +104,6 @@ void tst_qquickmenubar::mouse()
QQuickMenuBarItem *viewMenuBarItem = qobject_cast<QQuickMenuBarItem *>(viewMenuBarMenu->parentItem());
QQuickMenuBarItem *helpMenuBarItem = qobject_cast<QQuickMenuBarItem *>(helpMenuBarMenu->parentItem());
QVERIFY(fileMenuBarItem && editMenuBarItem && viewMenuBarItem && helpMenuBarItem);
- // Something about postponing delegate creation to component completion
- // means that the fileMenuBarItem->isHighlighted() check below fails occasionally.
- // Give it a chance to sort itself out before sending move events.
- QQuickMenuBarPrivate *menuBarPrivate = QQuickMenuBarPrivate::get(menuBar);
- menuBar->polish();
- QVERIFY(menuBarPrivate->polishScheduled);
- QTRY_VERIFY(!menuBarPrivate->polishScheduled);
// highlight a menubar item
QTest::mouseMove(window.data(), fileMenuBarItem->mapToScene(QPointF(fileMenuBarItem->width() / 2, fileMenuBarItem->height() / 2)).toPoint());
@@ -159,7 +146,6 @@ 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));
@@ -181,7 +167,6 @@ 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));
@@ -192,7 +177,6 @@ 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));
@@ -204,7 +188,6 @@ 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));
@@ -581,90 +564,6 @@ 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);
-}
-
-void tst_qquickmenubar::openTwice()
-{
- if ((QGuiApplication::platformName() == QLatin1String("offscreen"))
- || (QGuiApplication::platformName() == QLatin1String("minimal")))
- QSKIP("Mouse highlight not functional on offscreen/minimal platforms");
-
- QQmlApplicationEngine engine(testFileUrl("menubar.qml"));
-
- QScopedPointer<QQuickApplicationWindow> window(qobject_cast<QQuickApplicationWindow *>(engine.rootObjects().value(0)));
- QVERIFY(window);
- QVERIFY(QTest::qWaitForWindowActive(window.data()));
-
- centerOnScreen(window.data());
-
- QQuickMenuBar *menuBar = window->property("header").value<QQuickMenuBar *>();
- QVERIFY(menuBar);
-
- QQuickMenu *fileMenuBarMenu = menuBar->menuAt(0);
- QVERIFY(fileMenuBarMenu);
-
- QQuickMenuBarItem *fileMenuBarItem = qobject_cast<QQuickMenuBarItem *>(fileMenuBarMenu->parentItem());
- QVERIFY(fileMenuBarItem);
- QQuickMenuBarPrivate *menuBarPrivate = QQuickMenuBarPrivate::get(menuBar);
- menuBar->polish();
- QVERIFY(menuBarPrivate->polishScheduled);
- QTRY_VERIFY(!menuBarPrivate->polishScheduled);
-
- // Open a menu.
- QTest::mouseClick(window.data(), Qt::LeftButton, Qt::NoModifier,
- fileMenuBarItem->mapToScene(QPointF(fileMenuBarItem->width() / 2, fileMenuBarItem->height() / 2)).toPoint());
- QVERIFY(fileMenuBarItem->isHighlighted());
- QVERIFY(fileMenuBarMenu->isVisible());
- QTRY_VERIFY(fileMenuBarMenu->isOpened());
- waitForMenuListViewPolish(fileMenuBarMenu);
-
- // Click on an item to close the menu.
- QQuickMenuItem *openMenuItem = qobject_cast<QQuickMenuItem *>(fileMenuBarMenu->itemAt(0));
- QVERIFY(openMenuItem);
- QTest::mouseClick(window.data(), Qt::LeftButton, Qt::NoModifier,
- openMenuItem->mapToScene(QPointF(openMenuItem->width() / 2, openMenuItem->height() / 2)).toPoint());
- QVERIFY(!fileMenuBarItem->isHighlighted());
- QTRY_VERIFY(!fileMenuBarMenu->isVisible());
-
- // Re-open the menu. It should open with one click of the QQuickMenuBarItem.
- QTest::mouseClick(window.data(), Qt::LeftButton, Qt::NoModifier,
- fileMenuBarItem->mapToScene(QPointF(fileMenuBarItem->width() / 2, fileMenuBarItem->height() / 2)).toPoint());
- QVERIFY(fileMenuBarItem->isHighlighted());
- QVERIFY(fileMenuBarMenu->isVisible());
- QTRY_VERIFY(fileMenuBarMenu->isOpened());
- waitForMenuListViewPolish(fileMenuBarMenu);
-
- // Click on an item to close the menu.
- QTest::mouseClick(window.data(), Qt::LeftButton, Qt::NoModifier,
- openMenuItem->mapToScene(QPointF(openMenuItem->width() / 2, openMenuItem->height() / 2)).toPoint());
- QVERIFY(!fileMenuBarItem->isHighlighted());
- QTRY_VERIFY(!fileMenuBarMenu->isVisible());
-}
-
QTEST_QUICKCONTROLS_MAIN(tst_qquickmenubar)
#include "tst_qquickmenubar.moc"