aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMartin Jones <martin.jones@nokia.com>2011-09-29 13:55:36 +1000
committerQt by Nokia <qt-info@nokia.com>2011-09-30 10:37:05 +0200
commitec1e7f3b37e9a432568c873e554a3351e4b80179 (patch)
tree208dc463f5a27f2175fb832586b16d88dc985e99 /tests
parent5d62a90fe129b09ecc6526ccd815469ef4ff774d (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.cpp85
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);