window->setSource(testFileUrl("flickable03.qml"));
window->show();
window->requestActivate();
- QTest::qWaitForWindowActive(window);
+ QVERIFY(QTest::qWaitForWindowActive(window));
QVERIFY(window->rootObject() != 0);
QQuickFlickable *flickable = qobject_cast<QQuickFlickable*>(window->rootObject());
// do a flick that keeps the view within the bounds
flick(window, flickFrom, flickToWithoutSnapBack, 200);
- QVERIFY(flickable->isMoving());
+ QTRY_VERIFY(flickable->isMoving());
QCOMPARE(flickable->isMovingHorizontally(), horizontalEnabled);
QCOMPARE(flickable->isMovingVertically(), verticalEnabled);
QVERIFY(flickable->isFlicking());
QTRY_VERIFY(!flickable->isMoving());
flick(window, flickFrom, flickToWithSnapBack, 200);
- QVERIFY(flickable->isMoving());
+ QTRY_VERIFY(flickable->isMoving());
QCOMPARE(flickable->isMovingHorizontally(), horizontalEnabled);
QCOMPARE(flickable->isMovingVertically(), verticalEnabled);
QVERIFY(flickable->isFlicking());
// flicking == false, moving == true;
flick(window, QPoint(20,190), QPoint(20, 50), 200);
QVERIFY(flickable->verticalVelocity() > 0.0);
- QVERIFY(flickable->isFlicking());
+ QTRY_VERIFY(flickable->isFlicking());
QVERIFY(flickable->isFlickingVertically());
QVERIFY(!flickable->isFlickingHorizontally());
QVERIFY(flickable->isMoving());
window->setSource(testFileUrl("longList.qml"));
window->show();
window->requestActivate();
- QTest::qWaitForWindowActive(window);
+ QVERIFY(QTest::qWaitForWindowActive(window));
QVERIFY(window->rootObject() != 0);
QQuickFlickable *flickable = qobject_cast<QQuickFlickable*>(window->rootObject());
window->setSource(testFileUrl("dragging.qml"));
window->show();
window->requestActivate();
- QTest::qWait(20);
+ QVERIFY(QTest::qWaitForWindowExposed(window));
QVERIFY(window->rootObject() != 0);
QQuickMouseArea *mouseRegion = window->rootObject()->findChild<QQuickMouseArea*>("mouseregion");
// First move event triggers drag, second is acted upon.
// This is due to possibility of higher stacked area taking precedence.
- QTest::mouseMove(window, QPoint(111,111));
- QTest::qWait(50);
- QTest::mouseMove(window, QPoint(122,122));
- QTest::qWait(50);
+ QTest::mouseMove(window, QPoint(111,111), 50);
+ QTest::mouseMove(window, QPoint(116,116), 50);
+ QTest::mouseMove(window, QPoint(122,122), 50);
- QVERIFY(drag->active());
- QCOMPARE(blackRect->x(), 72.0);
+ QTRY_VERIFY(drag->active());
+ QTRY_COMPARE(blackRect->x(), 72.0);
QCOMPARE(blackRect->y(), 72.0);
QTest::mouseRelease(window, button, 0, QPoint(122,122));
- QTest::qWait(50);
- QVERIFY(!drag->active());
+ QTRY_VERIFY(!drag->active());
QCOMPARE(blackRect->x(), 72.0);
QCOMPARE(blackRect->y(), 72.0);
window->show();
window->requestActivate();
QVERIFY(window->rootObject() != 0);
+ QQuickMouseArea *mouseArea = qobject_cast<QQuickMouseArea*>(window->rootObject()->children().first());
+ QVERIFY(mouseArea);
QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
QGuiApplication::sendEvent(window, &pressEvent);
+ QVERIFY(mouseArea->pressedButtons() == Qt::LeftButton);
QVERIFY(!window->rootObject()->property("clicked").toBool());
QVERIFY(!window->rootObject()->property("held").toBool());
+ // timeout is 800 (in qquickmousearea.cpp)
QTest::qWait(1000);
+ QCoreApplication::processEvents();
+
+ QVERIFY(!window->rootObject()->property("clicked").toBool());
+ QVERIFY(window->rootObject()->property("held").toBool());
QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
QGuiApplication::sendEvent(window, &releaseEvent);
+ QTRY_VERIFY(window->rootObject()->property("held").toBool());
QVERIFY(!window->rootObject()->property("clicked").toBool());
- QVERIFY(window->rootObject()->property("held").toBool());
delete window;
}