diff options
author | Martin Jones <martin.jones@nokia.com> | 2011-09-29 13:55:36 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-09-30 10:37:05 +0200 |
commit | ec1e7f3b37e9a432568c873e554a3351e4b80179 (patch) | |
tree | 208dc463f5a27f2175fb832586b16d88dc985e99 /tests | |
parent | 5d62a90fe129b09ecc6526ccd815469ef4ff774d (diff) |
Fix tst_qsgmousearea clickThrough() test stability.
Change-Id: Iee87ea8e62bffd743e522f969c34fbc2f0a1443e
Reviewed-on: http://codereview.qt-project.org/5766
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/declarative/qsgmousearea/tst_qsgmousearea.cpp | 85 |
1 files changed, 35 insertions, 50 deletions
diff --git a/tests/auto/declarative/qsgmousearea/tst_qsgmousearea.cpp b/tests/auto/declarative/qsgmousearea/tst_qsgmousearea.cpp index 4db3c314db..035c91076e 100644 --- a/tests/auto/declarative/qsgmousearea/tst_qsgmousearea.cpp +++ b/tests/auto/declarative/qsgmousearea/tst_qsgmousearea.cpp @@ -48,6 +48,7 @@ #include <QtDeclarative/qdeclarativecontext.h> #include <QtDeclarative/qdeclarativeengine.h> #include <QtOpenGL/QGLShaderProgram> +#include "../../../shared/util.h" #ifdef Q_OS_SYMBIAN // In Symbian OS test data is located in applications private dir @@ -635,36 +636,28 @@ void tst_QSGMouseArea::clickThrough() canvas->requestActivateWindow(); QVERIFY(canvas->rootObject() != 0); - QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0); - QApplication::sendEvent(canvas, &pressEvent); + QTest::mousePress(canvas, Qt::LeftButton, 0, QPoint(100,100)); + QTest::mouseRelease(canvas, Qt::LeftButton, 0, QPoint(100,100)); - QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0); - QApplication::sendEvent(canvas, &releaseEvent); + QTRY_COMPARE(canvas->rootObject()->property("presses").toInt(), 0); + QTRY_COMPARE(canvas->rootObject()->property("clicks").toInt(), 1); - QCOMPARE(canvas->rootObject()->property("presses").toInt(), 0); - QCOMPARE(canvas->rootObject()->property("clicks").toInt(), 1); + QTest::qWait(800); // to avoid generating a double click. - QApplication::sendEvent(canvas, &pressEvent); + QTest::mousePress(canvas, Qt::LeftButton, 0, QPoint(100,100)); QTest::qWait(1000); - QApplication::sendEvent(canvas, &releaseEvent); + QTest::mouseRelease(canvas, Qt::LeftButton, 0, QPoint(100,100)); - QCOMPARE(canvas->rootObject()->property("presses").toInt(), 0); -#ifdef QT_BUILD_INTERNAL - QEXPECT_FAIL("", "QTBUG-21685 - Unstable test for developer build", Abort); -#endif - QCOMPARE(canvas->rootObject()->property("clicks").toInt(), 1); - QCOMPARE(canvas->rootObject()->property("pressAndHolds").toInt(), 1); - - QApplication::sendEvent(canvas, &pressEvent); - QApplication::sendEvent(canvas, &releaseEvent); - pressEvent = QMouseEvent(QEvent::MouseButtonDblClick, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0); + QTRY_COMPARE(canvas->rootObject()->property("presses").toInt(), 0); + QTRY_COMPARE(canvas->rootObject()->property("clicks").toInt(), 1); + QTRY_COMPARE(canvas->rootObject()->property("pressAndHolds").toInt(), 1); - QApplication::sendEvent(canvas, &pressEvent); - QApplication::sendEvent(canvas, &releaseEvent); + QTest::mouseDClick(canvas, Qt::LeftButton, 0, QPoint(100,100)); + QTest::qWait(100); QCOMPARE(canvas->rootObject()->property("presses").toInt(), 0); - QCOMPARE(canvas->rootObject()->property("clicks").toInt(), 2); - QCOMPARE(canvas->rootObject()->property("doubleClicks").toInt(), 1); + QTRY_COMPARE(canvas->rootObject()->property("clicks").toInt(), 2); + QTRY_COMPARE(canvas->rootObject()->property("doubleClicks").toInt(), 1); QCOMPARE(canvas->rootObject()->property("pressAndHolds").toInt(), 1); delete canvas; @@ -676,29 +669,25 @@ void tst_QSGMouseArea::clickThrough() canvas->requestActivateWindow(); QVERIFY(canvas->rootObject() != 0); - pressEvent = QMouseEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0); - QApplication::sendEvent(canvas, &pressEvent); - - releaseEvent = QMouseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0); - QApplication::sendEvent(canvas, &releaseEvent); + QTest::mousePress(canvas, Qt::LeftButton, 0, QPoint(100,100)); + QTest::mouseRelease(canvas, Qt::LeftButton, 0, QPoint(100,100)); QCOMPARE(canvas->rootObject()->property("presses").toInt(), 0); QCOMPARE(canvas->rootObject()->property("clicks").toInt(), 0); - QApplication::sendEvent(canvas, &pressEvent); + QTest::qWait(800); // to avoid generating a double click. + + QTest::mousePress(canvas, Qt::LeftButton, 0, QPoint(100,100)); QTest::qWait(1000); - QApplication::sendEvent(canvas, &releaseEvent); + QTest::mouseRelease(canvas, Qt::LeftButton, 0, QPoint(100,100)); + QTest::qWait(100); QCOMPARE(canvas->rootObject()->property("presses").toInt(), 0); QCOMPARE(canvas->rootObject()->property("clicks").toInt(), 0); QCOMPARE(canvas->rootObject()->property("pressAndHolds").toInt(), 0); - QApplication::sendEvent(canvas, &pressEvent); - QApplication::sendEvent(canvas, &releaseEvent); - - pressEvent = QMouseEvent(QEvent::MouseButtonDblClick, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0); - QApplication::sendEvent(canvas, &pressEvent); - QApplication::sendEvent(canvas, &releaseEvent); + QTest::mouseDClick(canvas, Qt::LeftButton, 0, QPoint(100,100)); + QTest::qWait(100); QCOMPARE(canvas->rootObject()->property("presses").toInt(), 0); QCOMPARE(canvas->rootObject()->property("clicks").toInt(), 0); @@ -707,32 +696,28 @@ void tst_QSGMouseArea::clickThrough() canvas->rootObject()->setProperty("letThrough", QVariant(true)); - pressEvent = QMouseEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0); - QApplication::sendEvent(canvas, &pressEvent); - - releaseEvent = QMouseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0); - QApplication::sendEvent(canvas, &releaseEvent); + QTest::qWait(800); // to avoid generating a double click. + QTest::mousePress(canvas, Qt::LeftButton, 0, QPoint(100,100)); + QTest::mouseRelease(canvas, Qt::LeftButton, 0, QPoint(100,100)); QCOMPARE(canvas->rootObject()->property("presses").toInt(), 0); - QCOMPARE(canvas->rootObject()->property("clicks").toInt(), 1); + QTRY_COMPARE(canvas->rootObject()->property("clicks").toInt(), 1); - QApplication::sendEvent(canvas, &pressEvent); + QTest::qWait(800); // to avoid generating a double click. + QTest::mousePress(canvas, Qt::LeftButton, 0, QPoint(100,100)); QTest::qWait(1000); - QApplication::sendEvent(canvas, &releaseEvent); + QTest::mouseRelease(canvas, Qt::LeftButton, 0, QPoint(100,100)); + QTest::qWait(100); QCOMPARE(canvas->rootObject()->property("presses").toInt(), 0); QCOMPARE(canvas->rootObject()->property("clicks").toInt(), 1); QCOMPARE(canvas->rootObject()->property("pressAndHolds").toInt(), 1); - QApplication::sendEvent(canvas, &pressEvent); - QApplication::sendEvent(canvas, &releaseEvent); - pressEvent = QMouseEvent(QEvent::MouseButtonDblClick, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0); - - QApplication::sendEvent(canvas, &pressEvent); - QApplication::sendEvent(canvas, &releaseEvent); + QTest::mouseDClick(canvas, Qt::LeftButton, 0, QPoint(100,100)); + QTest::qWait(100); QCOMPARE(canvas->rootObject()->property("presses").toInt(), 0); - QCOMPARE(canvas->rootObject()->property("clicks").toInt(), 2); + QTRY_COMPARE(canvas->rootObject()->property("clicks").toInt(), 2); QCOMPARE(canvas->rootObject()->property("doubleClicks").toInt(), 1); QCOMPARE(canvas->rootObject()->property("pressAndHolds").toInt(), 1); |