tests: use qWaitForWindowFocused() instead of qWaitForWindowActive()

This depends on 9eb06a2848257d054447777c645231afa87429c2 .

This follows bc7821764b4d50fbb4e0ca1b84f85980ce15eeb0 and
5709baea2c261f77f955ab76c074a39c9c3993aa.

There are lots of work to remove QApplicationPrivate::setActiveWindow()
in test code, see also QTBUG-121488. We need to adapt them for Wayland.

Task-number: QTBUG-125446
Task-number: QTBUG-121488
Change-Id: I093568c1d89de31c3893d3c7b139f1db33579633
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit f42979cf6937c78c412fcfa25ec011fb66b48132)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Liang Qi 2024-07-31 15:18:22 +02:00 committed by Qt Cherry-pick Bot
parent faff79d59e
commit 8719c2f784
10 changed files with 30 additions and 32 deletions

View File

@ -709,7 +709,7 @@ void tst_QGraphicsProxyWidget::focusNextPrevChild()
QGraphicsScene scene;
QGraphicsView view(&scene);
view.show();
QVERIFY(QTest::qWaitForWindowActive(&view));
QVERIFY(QTest::qWaitForWindowFocused(&view));
if (hasScene) {
scene.addItem(proxyGuard.release());
proxy->show();
@ -984,7 +984,7 @@ void tst_QGraphicsProxyWidget::keyPressEvent()
QGraphicsView view(&scene);
view.show();
view.viewport()->setFocus();
QVERIFY(QTest::qWaitForWindowActive(&view));
QVERIFY(QTest::qWaitForWindowFocused(&view));
QCOMPARE(QApplication::activeWindow(), (QWidget*)&view);
SubQGraphicsProxyWidget *proxy = new SubQGraphicsProxyWidget;
@ -1022,7 +1022,7 @@ void tst_QGraphicsProxyWidget::keyReleaseEvent()
QGraphicsScene scene;
QGraphicsView view(&scene);
view.show();
QVERIFY(QTest::qWaitForWindowActive(&view));
QVERIFY(QTest::qWaitForWindowFocused(&view));
QCOMPARE(QApplication::activeWindow(), (QWidget*)&view);
@ -1067,7 +1067,7 @@ void tst_QGraphicsProxyWidget::mouseDoubleClickEvent()
view.resize(100, 100);
view.show();
QVERIFY(QTest::qWaitForWindowActive(&view));
QVERIFY(QTest::qWaitForWindowFocused(&view));
QCOMPARE(QApplication::activeWindow(), (QWidget*)&view);
// wait for scene to be updated before doing any coordinate mappings on it
QTRY_VERIFY(sceneChangedSpy.size() > 0);
@ -1152,7 +1152,7 @@ void tst_QGraphicsProxyWidget::paintEvent()
QGraphicsScene scene;
QGraphicsView view(&scene);
view.show();
QVERIFY(QTest::qWaitForWindowActive(&view));
QVERIFY(QTest::qWaitForWindowFocused(&view));
QVERIFY(view.isActiveWindow());
SubQGraphicsProxyWidget proxy;
@ -1539,7 +1539,7 @@ void tst_QGraphicsProxyWidget::tabFocus_simpleWidget()
window.show();
window.activateWindow();
QVERIFY(QTest::qWaitForWindowActive(&window));
QVERIFY(QTest::qWaitForWindowFocused(&window));
leftDial->setFocus();
QApplication::processEvents();
@ -1622,7 +1622,7 @@ void tst_QGraphicsProxyWidget::tabFocus_simpleTwoWidgets()
window.show();
window.activateWindow();
QVERIFY(QTest::qWaitForWindowActive(&window));
QVERIFY(QTest::qWaitForWindowFocused(&window));
leftDial->setFocus();
QApplication::processEvents();
@ -1754,7 +1754,7 @@ void tst_QGraphicsProxyWidget::tabFocus_complexWidget()
window.show();
window.activateWindow();
QVERIFY(QTest::qWaitForWindowActive(&window));
QVERIFY(QTest::qWaitForWindowFocused(&window));
leftDial->setFocus();
QApplication::processEvents();
@ -1890,7 +1890,7 @@ void tst_QGraphicsProxyWidget::tabFocus_complexTwoWidgets()
window.show();
window.activateWindow();
QVERIFY(QTest::qWaitForWindowActive(&window));
QVERIFY(QTest::qWaitForWindowFocused(&window));
leftDial->setFocus();
QApplication::processEvents();
@ -2063,7 +2063,7 @@ void tst_QGraphicsProxyWidget::setFocus_simpleWidget()
window.show();
window.activateWindow();
QVERIFY(QTest::qWaitForWindowActive(&window));
QVERIFY(QTest::qWaitForWindowFocused(&window));
QCOMPARE(QApplication::activeWindow(), &window);
leftDial->setFocus();
@ -2134,7 +2134,7 @@ void tst_QGraphicsProxyWidget::setFocus_simpleTwoWidgets()
window.show();
window.activateWindow();
QVERIFY(QTest::qWaitForWindowActive(&window));
QVERIFY(QTest::qWaitForWindowFocused(&window));
QCOMPARE(QApplication::activeWindow(), &window);
leftDial->setFocus();
@ -2212,7 +2212,7 @@ void tst_QGraphicsProxyWidget::setFocus_complexTwoWidgets()
window.show();
window.activateWindow();
QVERIFY(QTest::qWaitForWindowActive(&window));
QVERIFY(QTest::qWaitForWindowFocused(&window));
QCOMPARE(QApplication::activeWindow(), &window);
leftDial->setFocus();
@ -3333,7 +3333,7 @@ void tst_QGraphicsProxyWidget::clickFocus()
view.setFrameStyle(0);
view.resize(300, 300);
view.show();
QVERIFY(QTest::qWaitForWindowActive(&view));
QVERIFY(QTest::qWaitForWindowFocused(&view));
QVERIFY(!proxy->hasFocus());
QVERIFY(!proxy->widget()->hasFocus());

View File

@ -3041,7 +3041,7 @@ void tst_QGraphicsScene::tabFocus_emptyScene()
widget.setWindowTitle(QTest::currentTestFunction());
widget.show();
widget.activateWindow();
QVERIFY(QTest::qWaitForWindowActive(&widget));
QVERIFY(QTest::qWaitForWindowFocused(&widget));
dial1->setFocus();
QVERIFY(dial1->hasFocus());
@ -4807,7 +4807,7 @@ void tst_QGraphicsScene::focusOnTouch()
rect->setFlag(QGraphicsItem::ItemIsFocusable, true);
view.show();
QVERIFY(QTest::qWaitForWindowActive(&view));
QVERIFY(QTest::qWaitForWindowFocused(&view));
QVERIFY(!rect->hasFocus());
@ -4907,7 +4907,7 @@ void tst_QGraphicsScene::taskQTBUG_16401_focusItem()
rect->setFlag(QGraphicsItem::ItemIsFocusable);
view.show();
QVERIFY(QTest::qWaitForWindowActive(&view));
QVERIFY(QTest::qWaitForWindowFocused(&view));
QVERIFY(!scene.focusItem());

View File

@ -2159,7 +2159,7 @@ void tst_QGraphicsView::sendEvent()
QGraphicsView view(&scene);
view.show();
QVERIFY(QTest::qWaitForWindowExposed(&view));
QVERIFY(QTest::qWaitForWindowActive(&view));
QVERIFY(QTest::qWaitForWindowFocused(&view));
QCOMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
item->setFocus();
@ -2226,7 +2226,7 @@ void tst_QGraphicsView::wheelEvent()
QGraphicsView view(&scene);
view.show();
QVERIFY(QTest::qWaitForWindowExposed(&view));
QVERIFY(QTest::qWaitForWindowActive(&view));
QVERIFY(QTest::qWaitForWindowFocused(&view));
QCOMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
@ -3191,7 +3191,7 @@ void tst_QGraphicsView::task172231_untransformableItems()
view.scale(2, 1);
view.show();
QVERIFY(QTest::qWaitForWindowExposed(&view));
QVERIFY(QTest::qWaitForWindowActive(&view));
QVERIFY(QTest::qWaitForWindowFocused(&view));
QCOMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
QRectF origExposedRect = text->exposedRect;
@ -4402,7 +4402,7 @@ void tst_QGraphicsView::inputMethodSensitivity()
QGraphicsView view(&scene);
view.show();
QVERIFY(QTest::qWaitForWindowExposed(&view));
QVERIFY(QTest::qWaitForWindowActive(&view));
QVERIFY(QTest::qWaitForWindowFocused(&view));
QCOMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
FocusItem *item = new FocusItem;
@ -4999,7 +4999,7 @@ void tst_QGraphicsView::QTBUG_53974_mismatched_hide_show_events()
topLevel.show();
topLevel.activateWindow();
QVERIFY(QTest::qWaitForWindowActive(&topLevel));
QVERIFY(QTest::qWaitForWindowFocused(&topLevel));
// Starting point
QCOMPARE_EQ(topLevel.currentIndex(), 0);

View File

@ -1459,7 +1459,7 @@ void tst_QGraphicsWidget::setTabOrderAndReparent()
QGraphicsScene scene;
QGraphicsView view(&scene);
view.show();
QVERIFY(QTest::qWaitForWindowActive(&view));
QVERIFY(QTest::qWaitForWindowFocused(&view));
QCOMPARE(QApplication::activeWindow(), (QWidget*)&view);
QGraphicsWidget *w[4];
@ -1588,7 +1588,7 @@ void tst_QGraphicsWidget::verifyFocusChain()
QGraphicsScene scene;
QGraphicsView view(&scene);
view.show();
QVERIFY(QTest::qWaitForWindowActive(&view));
QVERIFY(QTest::qWaitForWindowFocused(&view));
{
// parent/child focus

View File

@ -1854,7 +1854,7 @@ void tst_QAbstractItemView::QTBUG31411_noSelection()
moveCursorAway(&window);
window.show();
QVERIFY(QTest::qWaitForWindowActive(&window));
QVERIFY(QTest::qWaitForWindowFocused(&window));
qRegisterMetaType<QItemSelection>();
QSignalSpy selectionChangeSpy(table->selectionModel(), &QItemSelectionModel::selectionChanged);

View File

@ -3382,7 +3382,7 @@ void tst_QHeaderView::stretchAndRestoreLastSection()
const int someOtherSectionSize = 40;
const int biggerSizeThanAnySection = 50;
QVERIFY(QTest::qWaitForWindowActive(&tv));
QVERIFY(QTest::qWaitForWindowFocused(&tv));
QHeaderView &header = *tv.horizontalHeader();
// set minimum size before resizeSections() is called

View File

@ -1624,7 +1624,7 @@ void tst_QApplication::focusWidget()
QTextEdit te;
te.show();
QVERIFY(QTest::qWaitForWindowActive(&te));
QVERIFY(QTest::qWaitForWindowFocused(&te));
const auto focusWidget = QApplication::focusWidget();
QVERIFY(focusWidget);
@ -1639,7 +1639,7 @@ void tst_QApplication::focusWidget()
QTextEdit te(&w);
w.show();
QVERIFY(QTest::qWaitForWindowActive(&w));
QVERIFY(QTest::qWaitForWindowFocused(&w));
const auto focusWidget = QApplication::focusWidget();
QVERIFY(focusWidget);

View File

@ -203,8 +203,7 @@ void tst_QButtonGroup::keyNavigationPushButtons()
buttonGroup->addButton(pb3);
dlg.show();
if (!QTest::qWaitForWindowActive(&dlg))
QSKIP("Window activation failed, skipping test");
QVERIFY(QTest::qWaitForWindowFocused(&dlg));
QVERIFY2(le1->hasFocus(), qPrintable(qApp->focusWidget()->objectName()));
QTest::keyClick(qApp->focusWidget(), Qt::Key_Tab);

View File

@ -1347,8 +1347,7 @@ void tst_QDateTimeEdit::editingRanged()
});
edit->show();
if (!QTest::qWaitForWindowActive(edit.get()))
QSKIP("Failed to make window active, aborting");
QVERIFY(QTest::qWaitForWindowFocused(edit.get()));
edit->setFocus();
// with keyboard tracking, never get a signal with an out-of-range value

View File

@ -1613,7 +1613,7 @@ void tst_QMenu::transientParent()
QVERIFY(topLevel);
window.setFocus();
QVERIFY(QTest::qWaitForWindowActive(&window));
QVERIFY(QTest::qWaitForWindowFocused(&window));
QVERIFY(window.hasFocus());
QTest::keyPress(&window, Qt::Key_F, Qt::AltModifier);