From 8a1612920d040c4256eed146a369ec0827a8a1c9 Mon Sep 17 00:00:00 2001 From: Mitch Curtis Date: Wed, 14 Oct 2015 15:47:46 +0200 Subject: Improve tst_Gifs::rangeSlider() Use proper, calculated coordinates. Also, increase the duration and decrease delays to make it more pleasant to the eye. Change-Id: If91ade9920a3ecaff966c348c623e603783754b8 Reviewed-by: J-P Nurmi --- .../gifs/data/qtlabscontrols-rangeslider.qml | 2 + tests/manual/gifs/tst_gifs.cpp | 50 +++++++++++++++------- 2 files changed, 36 insertions(+), 16 deletions(-) (limited to 'tests/manual') diff --git a/tests/manual/gifs/data/qtlabscontrols-rangeslider.qml b/tests/manual/gifs/data/qtlabscontrols-rangeslider.qml index bc0d00c6..c7033f38 100644 --- a/tests/manual/gifs/data/qtlabscontrols-rangeslider.qml +++ b/tests/manual/gifs/data/qtlabscontrols-rangeslider.qml @@ -45,6 +45,8 @@ Item { width: slider.implicitWidth height: slider.implicitHeight + property alias slider: slider + RangeSlider { id: slider anchors.centerIn: parent diff --git a/tests/manual/gifs/tst_gifs.cpp b/tests/manual/gifs/tst_gifs.cpp index 16e78706..24b022d3 100644 --- a/tests/manual/gifs/tst_gifs.cpp +++ b/tests/manual/gifs/tst_gifs.cpp @@ -289,7 +289,7 @@ void tst_Gifs::rangeSlider() GifRecorder gifRecorder; gifRecorder.setDataDirPath(dataDirPath); gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(5); + gifRecorder.setRecordingDuration(6); gifRecorder.setHighQuality(true); gifRecorder.setQmlFileName("qtlabscontrols-rangeslider.qml"); gifRecorder.setView(&view); @@ -298,21 +298,39 @@ void tst_Gifs::rangeSlider() gifRecorder.start(); - QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, QPoint(17, 18), 200); - moveSmoothly(QPoint(0, 17), QPoint(54, 17), 54); - QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, QPoint(54, 17), 20); - - QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, QPoint(182, 14), 200); - moveSmoothly(QPoint(183, 17), QPoint(145, 17), 183 - 145); - QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, QPoint(145, 17), 20); - - QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, QPoint(142, 13), 200); - moveSmoothly(QPoint(143, 17), QPoint(189, 17), 189 - 143); - QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, QPoint(189, 12), 20); - - QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, QPoint(63, 14), 200); - moveSmoothly(QPoint(62, 17), QPoint(6, 17), 62 - 6); - QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, QPoint(6, 17), 20); + QQuickItem *slider = view.rootObject()->property("slider").value(); + QVERIFY(slider); + QObject *first = slider->property("first").value(); + QVERIFY(first); + QQuickItem *firstHandle = first->property("handle").value(); + QVERIFY(firstHandle); + QObject *second = slider->property("second").value(); + QVERIFY(second); + QQuickItem *secondHandle = second->property("handle").value(); + QVERIFY(secondHandle); + + const QPoint firstCenter = firstHandle->mapToItem(slider, + QPoint(firstHandle->width() / 2, firstHandle->height() / 2)).toPoint(); + const QPoint secondCenter = secondHandle->mapToItem(slider, + QPoint(secondHandle->width() / 2, secondHandle->height() / 2)).toPoint(); + + QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, firstCenter, 100); + const QPoint firstTarget = firstCenter + QPoint(slider->width() * 0.25, 0); + moveSmoothly(firstCenter, firstTarget, firstTarget.x() - firstCenter.x()); + QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, firstTarget, 20); + + QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, secondCenter, 100); + const QPoint secondTarget = secondCenter - QPoint(slider->width() * 0.25, 0); + moveSmoothly(secondCenter, secondTarget, qAbs(secondTarget.x() - secondCenter.x())); + QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, secondTarget, 20); + + QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, secondTarget, 100); + moveSmoothly(secondTarget, secondCenter, qAbs(secondTarget.x() - secondCenter.x())); + QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, secondCenter, 20); + + QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, firstTarget, 100); + moveSmoothly(firstTarget, firstCenter, firstTarget.x() - firstCenter.x()); + QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, firstCenter, 20); gifRecorder.waitForFinish(); } -- cgit v1.2.3