Restructure test to use QTRY_ macro for instability.
authorToby Tomkins <toby.tomkins@nokia.com>
Fri, 9 Sep 2011 04:12:53 +0000 (14:12 +1000)
committerQt by Nokia <qt-info@nokia.com>
Sun, 11 Sep 2011 23:45:23 +0000 (01:45 +0200)
Restructure test to use QTRY_ for asynchronous gui functions. Remove
reference to specific X11 and generalise event queue processing for
all platforms.

Change-Id: I38d8b7419d644ea1d8558f88b48f8b4004804c32
Reviewed-on: http://codereview.qt-project.org/4495
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
tests/auto/declarative/qsgfocusscope/tst_qsgfocusscope.cpp

index 2c8f59c..c7dea4c 100644 (file)
@@ -128,14 +128,10 @@ void tst_qsgfocusscope::basic()
 
     view->show();
     qApp->setActiveWindow(view);
-    qApp->processEvents();
 
-#ifdef Q_WS_X11
-    // to be safe and avoid failing setFocus with window managers
-    qt_x11_wait_for_window_manager(view);
-#endif
+    QTest::qWaitForWindowShown(view);
 
-    QVERIFY(view->hasFocus());
+    QTRY_VERIFY(view->hasFocus());
     QVERIFY(item0->hasActiveFocus() == true);
     QVERIFY(item1->hasActiveFocus() == true);
     QVERIFY(item2->hasActiveFocus() == false);
@@ -174,14 +170,10 @@ void tst_qsgfocusscope::nested()
 
     view->show();
     qApp->setActiveWindow(view);
-    qApp->processEvents();
 
-#ifdef Q_WS_X11
-    // to be safe and avoid failing setFocus with window managers
-    qt_x11_wait_for_window_manager(view);
-#endif
+    QTest::qWaitForWindowShown(view);
 
-    QVERIFY(view->hasFocus());
+    QTRY_VERIFY(view->hasFocus());
 
     QVERIFY(item1->hasActiveFocus() == true);
     QVERIFY(item2->hasActiveFocus() == true);
@@ -207,14 +199,10 @@ void tst_qsgfocusscope::noFocus()
 
     view->show();
     qApp->setActiveWindow(view);
-    qApp->processEvents();
 
-#ifdef Q_WS_X11
-    // to be safe and avoid failing setFocus with window managers
-    qt_x11_wait_for_window_manager(view);
-#endif
+    QTest::qWaitForWindowShown(view);
 
-    QVERIFY(view->hasFocus());
+    QTRY_VERIFY(view->hasFocus());
     QVERIFY(item0->hasActiveFocus() == false);
     QVERIFY(item1->hasActiveFocus() == false);
     QVERIFY(item2->hasActiveFocus() == false);
@@ -251,14 +239,10 @@ void tst_qsgfocusscope::textEdit()
 
     view->show();
     qApp->setActiveWindow(view);
-    qApp->processEvents();
 
-#ifdef Q_WS_X11
-    // to be safe and avoid failing setFocus with window managers
-    qt_x11_wait_for_window_manager(view);
-#endif
+    QTest::qWaitForWindowShown(view);
 
-    QVERIFY(view->hasFocus());
+    QTRY_VERIFY(view->hasFocus());
     QVERIFY(item0->hasActiveFocus() == true);
     QVERIFY(item1->hasActiveFocus() == true);
     QVERIFY(item2->hasActiveFocus() == false);
@@ -309,14 +293,10 @@ void tst_qsgfocusscope::forceFocus()
 
     view->show();
     qApp->setActiveWindow(view);
-    qApp->processEvents();
 
-#ifdef Q_WS_X11
-    // to be safe and avoid failing setFocus with window managers
-    qt_x11_wait_for_window_manager(view);
-#endif
+    QTest::qWaitForWindowShown(view);
 
-    QVERIFY(view->hasFocus());
+    QTRY_VERIFY(view->hasFocus());
     QVERIFY(item0->hasActiveFocus() == true);
     QVERIFY(item1->hasActiveFocus() == true);
     QVERIFY(item2->hasActiveFocus() == false);
@@ -383,17 +363,13 @@ void tst_qsgfocusscope::signalEmission()
 
     view->show();
     qApp->setActiveWindow(view);
-    qApp->processEvents();
 
-#ifdef Q_WS_X11
-    // to be safe and avoid failing setFocus with window managers
-    qt_x11_wait_for_window_manager(view);
-#endif
+    QTest::qWaitForWindowShown(view);
 
     QVariant blue(QColor("blue"));
     QVariant red(QColor("red"));
 
-    QVERIFY(view->hasFocus());
+    QTRY_VERIFY(view->hasFocus());
     item1->setFocus(true);
     QCOMPARE(item1->property("color"), red);
     QCOMPARE(item2->property("color"), blue);
@@ -435,14 +411,10 @@ void tst_qsgfocusscope::qtBug13380()
     view->show();
     QVERIFY(view->rootObject());
     qApp->setActiveWindow(view);
-    qApp->processEvents();
 
-#ifdef Q_WS_X11
-    // to be safe and avoid failing setFocus with window managers
-    qt_x11_wait_for_window_manager(view);
-#endif
+    QTest::qWaitForWindowShown(view);
 
-    QVERIFY(view->hasFocus());
+    QTRY_VERIFY(view->hasFocus());
     QVERIFY(view->rootObject()->property("noFocus").toBool());
 
     view->rootObject()->setProperty("showRect", true);
@@ -614,12 +586,8 @@ void tst_qsgfocusscope::canvasFocus()
 
     view->show();
     qApp->setActiveWindow(view);
-    qApp->processEvents();
 
-#ifdef Q_WS_X11
-    // to be safe and avoid failing setFocus with window managers
-    qt_x11_wait_for_window_manager(view);
-#endif
+    QTest::qWaitForWindowShown(view);
 
     // Now the canvas has focus, active focus given to item1
     QTRY_COMPARE(view->hasFocus(), true);