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/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp | |
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/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp')
-rw-r--r-- | tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp index 3686619fea..1c5702d15f 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp @@ -1277,7 +1277,8 @@ void tst_QGraphicsScene::removeItem() QGraphicsView view(&scene); view.setFixedSize(150, 150); view.show(); - QTest::qWaitForWindowShown(view.windowHandle()); + QApplication::setActiveWindow(&view); + QVERIFY(QTest::qWaitForWindowActive(&view)); QTest::mouseMove(view.viewport(), QPoint(-1, -1)); { QMouseEvent moveEvent(QEvent::MouseMove, view.mapFromScene(hoverItem->scenePos() + QPointF(20, 20)), Qt::NoButton, 0, 0); @@ -1679,8 +1680,8 @@ void tst_QGraphicsScene::hoverEvents_parentChild() view.rotate(10); view.scale(1.7, 1.7); view.show(); - QTest::qWaitForWindowShown(&view); - QTest::qWait(70); + qApp->setActiveWindow(&view); + QVERIFY(QTest::qWaitForWindowActive(&view)); QGraphicsSceneMouseEvent mouseEvent(QEvent::GraphicsSceneMouseMove); mouseEvent.setScenePos(QPointF(-1000, -1000)); @@ -2842,7 +2843,8 @@ void tst_QGraphicsScene::update2() CustomView view; view.setScene(&scene); view.show(); - QTest::qWaitForWindowShown(&view); + qApp->setActiveWindow(&view); + QVERIFY(QTest::qWaitForWindowActive(&view)); QTRY_VERIFY(view.repaints >= 1); view.repaints = 0; @@ -3034,7 +3036,7 @@ void tst_QGraphicsScene::tabFocus_emptyScene() widget.show(); qApp->setActiveWindow(&widget); widget.activateWindow(); - QTest::qWait(125); + QVERIFY(QTest::qWaitForWindowActive(&widget)); dial1->setFocus(); QVERIFY(dial1->hasFocus()); @@ -3082,8 +3084,7 @@ void tst_QGraphicsScene::tabFocus_sceneWithFocusableItems() widget.show(); qApp->setActiveWindow(&widget); widget.activateWindow(); - QTest::qWaitForWindowShown(&widget); - QApplication::processEvents(); + QVERIFY(QTest::qWaitForWindowActive(&widget)); dial1->setFocus(); QTRY_VERIFY(dial1->hasFocus()); @@ -3762,8 +3763,8 @@ void tst_QGraphicsScene::inputMethod() view.show(); QApplication::setActiveWindow(&view); view.setFocus(); - QTest::qWaitForWindowShown(&view); - QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view)); + QVERIFY(QTest::qWaitForWindowActive(&view)); + QCOMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view)); inputContext.m_resetCallCount = 0; inputContext.m_commitCallCount = 0; @@ -4009,8 +4010,8 @@ void tst_QGraphicsScene::isActive() toplevel1.show(); QApplication::setActiveWindow(&toplevel1); - QTest::qWaitForWindowShown(&toplevel1); - QTRY_COMPARE(QApplication::activeWindow(), &toplevel1); + QVERIFY(QTest::qWaitForWindowActive(&toplevel1)); + QCOMPARE(QApplication::activeWindow(), &toplevel1); QVERIFY(!scene1.isActive()); //it is hidden; QVERIFY(scene2.isActive()); @@ -4039,8 +4040,8 @@ void tst_QGraphicsScene::isActive() toplevel1.show(); QApplication::setActiveWindow(&toplevel1); - QApplication::processEvents(); - QTRY_COMPARE(QApplication::activeWindow(), &toplevel1); + QVERIFY(QTest::qWaitForWindowActive(&toplevel1)); + QCOMPARE(QApplication::activeWindow(), &toplevel1); QTRY_VERIFY(scene1.isActive()); QTRY_VERIFY(!scene2.isActive()); @@ -4076,8 +4077,8 @@ void tst_QGraphicsScene::isActive() toplevel2.show(); QApplication::setActiveWindow(&toplevel2); - QTest::qWaitForWindowShown(&toplevel2); - QTRY_COMPARE(QApplication::activeWindow(), &toplevel2); + QVERIFY(QTest::qWaitForWindowActive(&toplevel2)); + QCOMPARE(QApplication::activeWindow(), &toplevel2); QVERIFY(scene1.isActive()); QVERIFY(!scene2.isActive()); @@ -4125,8 +4126,8 @@ void tst_QGraphicsScene::isActive() topLevelView.show(); QApplication::setActiveWindow(&topLevelView); topLevelView.setFocus(); - QTest::qWaitForWindowShown(&topLevelView); - QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&topLevelView)); + QVERIFY(QTest::qWaitForWindowActive(&topLevelView)); + QCOMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&topLevelView)); QVERIFY(!scene1.isActive()); QVERIFY(!scene2.isActive()); @@ -4152,7 +4153,7 @@ void tst_QGraphicsScene::isActive() QVERIFY(!scene2.hasFocus()); QApplication::setActiveWindow(&toplevel2); - QTRY_COMPARE(QApplication::activeWindow(), &toplevel2); + QVERIFY(QTest::qWaitForWindowActive(&toplevel2)); QVERIFY(!scene1.isActive()); QVERIFY(scene2.isActive()); @@ -4289,7 +4290,8 @@ void tst_QGraphicsScene::removeFullyTransparentItem() CustomView view; view.setScene(&scene); view.show(); - QTest::qWaitForWindowShown(&view); + qApp->setActiveWindow(&view); + QVERIFY(QTest::qWaitForWindowActive(&view)); // NB! The parent has the ItemHasNoContents flag set, which means // the parent itself doesn't generate any update requests, only the |