aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@qt.io>2018-10-12 11:09:14 +0200
committerMitch Curtis <mitch.curtis@qt.io>2018-10-15 10:57:07 +0000
commit567a2de8cd493aabe0055d6dbc367b39447e70dd (patch)
tree68ca39c30d992e0e18e0674572dd118b60faaa35 /tests
parent700b5d89a1040faba1145999e64ce31e37d5b782 (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>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qquickmenubar/tst_qquickmenubar.cpp8
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());