diff options
author | Mitch Curtis <mitch.curtis@qt.io> | 2018-10-12 11:09:14 +0200 |
---|---|---|
committer | Mitch Curtis <mitch.curtis@qt.io> | 2018-10-15 10:57:07 +0000 |
commit | 567a2de8cd493aabe0055d6dbc367b39447e70dd (patch) | |
tree | 68ca39c30d992e0e18e0674572dd118b60faaa35 | |
parent | 700b5d89a1040faba1145999e64ce31e37d5b782 (diff) |
Stabilize tst_qquickmenubar
Something about postponing delegate creation to component completion
means that the fileMenuBarItem->isHighlighted() check fails
occasionally.
Give it a chance to sort itself out before sending move events.
Change-Id: I140ec835b5cb4ec7d784215a20567469ad422c5b
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
-rw-r--r-- | tests/auto/qquickmenubar/tst_qquickmenubar.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/tests/auto/qquickmenubar/tst_qquickmenubar.cpp b/tests/auto/qquickmenubar/tst_qquickmenubar.cpp index 754e915b..3d6c2bbf 100644 --- a/tests/auto/qquickmenubar/tst_qquickmenubar.cpp +++ b/tests/auto/qquickmenubar/tst_qquickmenubar.cpp @@ -45,6 +45,7 @@ #include <QtQuickTemplates2/private/qquickapplicationwindow_p.h> #include <QtQuickTemplates2/private/qquickmenu_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> @@ -106,6 +107,13 @@ 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()); |