diff options
author | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2012-07-18 13:12:59 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-20 09:27:28 +0200 |
commit | 87618403976aa82450895da6196a944195980de7 (patch) | |
tree | 906d035678d8a31e57a94c01e8756b0085b3e1e4 /tests/auto/widgets/itemviews | |
parent | c081107206cb1d31415539c4429f7896b997cf71 (diff) |
Implement waitForWindowExposed and friends for widget windows.
- Implement waitForWindowExposed() for toplevel windows.
- Implement waitForWindowShown(QWidget *) and mark as
deprecated in line with waitForWindowShown(QWindow*).
- Use in tests.
- Simplify tests (collapse waitForExposed, setActive
into setActiveWindow, waitForActive), remove most
hard-coded timeouts.
- Stabilize graphicsview tests by using waitForWindowActive.
Change-Id: Ic7c061e2745b36f71a715ee4e47c0346b11a91e8
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Diffstat (limited to 'tests/auto/widgets/itemviews')
6 files changed, 19 insertions, 35 deletions
diff --git a/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp b/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp index c6c8131422..70b8be8dc8 100644 --- a/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp +++ b/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp @@ -761,9 +761,7 @@ static void sendMouseMove(QWidget *widget, QPoint pos = QPoint()) QMouseEvent event(QEvent::MouseMove, pos, widget->mapToGlobal(pos), Qt::NoButton, 0, 0); QCursor::setPos(widget->mapToGlobal(pos)); qApp->processEvents(); -#if defined(Q_WS_X11) - qt_x11_wait_for_window_manager(widget); -#endif + QVERIFY(QTest::qWaitForWindowExposed(widget)); QApplication::sendEvent(widget, &event); } @@ -920,10 +918,8 @@ void tst_QAbstractItemView::dragAndDrop() widget.show(); view.show(); -#if defined(Q_WS_X11) - qt_x11_wait_for_window_manager(&widget); - qt_x11_wait_for_window_manager(&view); -#endif + QVERIFY(QTest::qWaitForWindowExposed(&widget)); + QVERIFY(QTest::qWaitForWindowExposed(&view)); widget.dragAndDrop(&view, dropAction); if (model.dropAction() == dropAction @@ -965,9 +961,7 @@ void tst_QAbstractItemView::dragAndDropOnChild() view.setFixedSize(size, size); view.move(int(size * 1.5), int(size * 1.5)); view.show(); -#if defined(Q_WS_X11) - qt_x11_wait_for_window_manager(&view); -#endif + QVERIFY(QTest::qWaitForWindowExposed(&view)); view.dragAndDrop(view.visualRect(parent).center(), view.visualRect(child).center()); @@ -1046,8 +1040,8 @@ void tst_QAbstractItemView::setItemDelegate() } } v.show(); + QVERIFY(QTest::qWaitForWindowExposed(&v)); #ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&v); QCursor::setPos(v.geometry().center()); QApplication::syncX(); #endif diff --git a/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp b/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp index 9d27b7db08..b3afdb949e 100644 --- a/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp +++ b/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp @@ -460,9 +460,7 @@ void tst_QItemDelegate::font() TestItemDelegate *delegate = new TestItemDelegate(&table); table.setItemDelegate(delegate); table.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&table); -#endif + QVERIFY(QTest::qWaitForWindowExposed(&table)); QTableWidgetItem *item = new QTableWidgetItem; item->setText(itemText); @@ -993,11 +991,8 @@ void tst_QItemDelegate::decoration() TestItemDelegate delegate; table.setItemDelegate(&delegate); table.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&table); -#endif QApplication::setActiveWindow(&table); - QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget*>(&table)); + QVERIFY(QTest::qWaitForWindowActive(&table)); QVariant value; switch ((QVariant::Type)type) { diff --git a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp index 14d3f07ee8..6ed83a3b97 100644 --- a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp +++ b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp @@ -1682,7 +1682,9 @@ void tst_QListView::keyboardSearch() QListView view; view.setModel(&model); view.show(); - QTest::qWait(30); + qApp->setActiveWindow(&view); + QVERIFY(QTest::qWaitForWindowActive(&view)); + // QCOMPARE(view.currentIndex() , model.index(0,0)); QTest::keyClick(&view, Qt::Key_K); diff --git a/tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp b/tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp index 9407fe0856..31cc87b843 100644 --- a/tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp +++ b/tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp @@ -1523,12 +1523,7 @@ void tst_QListWidget::fastScroll() // Make sure the widget gets the first full repaint. On // some WMs, we'll get two (first inactive exposure, then // active exposure. - QTest::qWaitForWindowShown(&widget); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&widget); -#endif - QApplication::processEvents(); - QTest::qWait(500); + QVERIFY(QTest::qWaitForWindowActive(&topLevel)); QSize itemSize = widget.visualItemRect(widget.item(0)).size(); QVERIFY(!itemSize.isEmpty()); @@ -1671,7 +1666,8 @@ void tst_QListWidget::QTBUG14363_completerWithAnyKeyPressedEditTriggers() new QListWidgetItem(QLatin1String("completer"), &listWidget); listWidget.show(); listWidget.setCurrentItem(item); - QTest::qWaitForWindowShown(&listWidget); + qApp->setActiveWindow(&listWidget); + QVERIFY(QTest::qWaitForWindowActive(&listWidget)); listWidget.setFocus(); QCOMPARE(qApp->focusWidget(), &listWidget); diff --git a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp index 320483bb14..f61b776106 100644 --- a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp +++ b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp @@ -3360,9 +3360,8 @@ void tst_QTreeView::task224091_appendColumns() treeView->setModel(model); topLevel->show(); treeView->resize(50,50); - - QTest::qWaitForWindowShown(treeView); - qApp->processEvents(); + qApp->setActiveWindow(topLevel); + QVERIFY(QTest::qWaitForWindowActive(topLevel)); QList<QStandardItem *> projlist; for (int k = 0; k < 10; ++k) @@ -3846,8 +3845,8 @@ void tst_QTreeView::keyboardNavigationWithDisabled() view.resize(200, view.visualRect(model.index(0,0)).height()*10); topLevel.show(); QApplication::setActiveWindow(&topLevel); - QTest::qWaitForWindowShown(&topLevel); - QTRY_VERIFY(topLevel.isActiveWindow()); + QVERIFY(QTest::qWaitForWindowActive(&topLevel)); + QVERIFY(topLevel.isActiveWindow()); view.setCurrentIndex(model.index(1, 0)); QTest::keyClick(view.viewport(), Qt::Key_Up); diff --git a/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp b/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp index 69a9bc2953..9c495f89bf 100644 --- a/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp +++ b/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp @@ -242,9 +242,7 @@ void tst_QTreeWidget::initTestCase() testWidget = new CustomTreeWidget(); testWidget->show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(testWidget); -#endif + QVERIFY(QTest::qWaitForWindowExposed(testWidget)); } void tst_QTreeWidget::cleanupTestCase() @@ -459,7 +457,7 @@ void tst_QTreeWidget::editItem() QTreeWidget tree; populate(&tree, topLevelItems, new TreeItem(QStringList() << "1" << "2")); tree.show(); - QTest::qWaitForWindowShown(&tree); + QVERIFY(QTest::qWaitForWindowActive(&tree)); QSignalSpy itemChangedSpy( &tree, SIGNAL(itemChanged(QTreeWidgetItem*,int))); |