aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquickanimators
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/quick/qquickanimators')
-rw-r--r--tests/auto/quick/qquickanimators/CMakeLists.txt28
-rw-r--r--tests/auto/quick/qquickanimators/qquickanimators.pro5
-rw-r--r--tests/auto/quick/qquickanimators/tst_qquickanimators.cpp47
3 files changed, 60 insertions, 20 deletions
diff --git a/tests/auto/quick/qquickanimators/CMakeLists.txt b/tests/auto/quick/qquickanimators/CMakeLists.txt
index db1c18e03c..908a8158a6 100644
--- a/tests/auto/quick/qquickanimators/CMakeLists.txt
+++ b/tests/auto/quick/qquickanimators/CMakeLists.txt
@@ -4,16 +4,44 @@
## tst_qquickanimators Test:
#####################################################################
+# Collect test data
+file(GLOB_RECURSE test_data_glob
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ data/*)
+list(APPEND test_data ${test_data_glob})
+
qt_internal_add_test(tst_qquickanimators
SOURCES
+ ../../shared/util.cpp ../../shared/util.h
+ ../shared/geometrytestutil.cpp ../shared/geometrytestutil.h
+ ../shared/viewtestutil.cpp ../shared/viewtestutil.h
+ ../shared/visualtestutil.cpp ../shared/visualtestutil.h
tst_qquickanimators.cpp
+ DEFINES
+ QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\"
+ INCLUDE_DIRECTORIES
+ ../../shared
PUBLIC_LIBRARIES
Qt::CorePrivate
Qt::Gui
Qt::GuiPrivate
Qt::QmlPrivate
Qt::QuickPrivate
+ TESTDATA ${test_data}
)
+#### Keys ignored in scope 1:.:.:qquickanimators.pro:<TRUE>:
+# DISTFILES = "data/*"
+
## Scopes:
#####################################################################
+
+qt_internal_extend_target(tst_qquickanimators CONDITION ANDROID OR IOS
+ DEFINES
+ QT_QMLTEST_DATADIR=\\\":/data\\\"
+)
+
+qt_internal_extend_target(tst_qquickanimators CONDITION NOT ANDROID AND NOT IOS
+ DEFINES
+ QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\"
+)
diff --git a/tests/auto/quick/qquickanimators/qquickanimators.pro b/tests/auto/quick/qquickanimators/qquickanimators.pro
index 4ff2471fde..3cc3067e77 100644
--- a/tests/auto/quick/qquickanimators/qquickanimators.pro
+++ b/tests/auto/quick/qquickanimators/qquickanimators.pro
@@ -4,3 +4,8 @@ CONFIG += testcase
macx: CONFIG -= app_bundle
SOURCES += tst_qquickanimators.cpp
+include (../../shared/util.pri)
+include (../shared/util.pri)
+
+TESTDATA = data/*
+DISTFILES += data/*
diff --git a/tests/auto/quick/qquickanimators/tst_qquickanimators.cpp b/tests/auto/quick/qquickanimators/tst_qquickanimators.cpp
index 29142dee12..b35e4b4cc9 100644
--- a/tests/auto/quick/qquickanimators/tst_qquickanimators.cpp
+++ b/tests/auto/quick/qquickanimators/tst_qquickanimators.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
@@ -26,16 +26,20 @@
**
****************************************************************************/
-#include <qtest.h>
+#include <QtTest/QtTest>
+#include <QtQuickTest/quicktest.h>
-#include <QtQuick>
-#include <private/qquickanimator_p.h>
-#include <private/qquickrepeater_p.h>
-#include <private/qquicktransition_p.h>
+#include <QtQuick/qquickview.h>
+#include <QtQuick/private/qquickanimator_p.h>
+#include <QtQuick/private/qquickrepeater_p.h>
+#include <QtQuick/private/qquicktransition_p.h>
-#include <QtQml>
+#include "../../shared/util.h"
+#include "../shared/viewtestutil.h"
-class tst_Animators: public QObject
+using namespace QQuickViewTestUtil;
+
+class tst_Animators: public QQmlDataTest
{
Q_OBJECT
@@ -58,10 +62,10 @@ void tst_Animators::testMultiWinAnimator()
QFETCH(int, count);
QQmlEngine engine;
- QQmlComponent component(&engine, "data/windowWithAnimator.qml");
+ QQmlComponent component(&engine, testFileUrl("windowWithAnimator.qml"));
QList<QQuickWindow *> windows;
- for (int i=0; i<count; ++i) {
+ for (int i = 0; i < count; ++i) {
QQuickWindow *win = qobject_cast<QQuickWindow *>(component.create());
windows << win;
@@ -71,9 +75,10 @@ void tst_Animators::testMultiWinAnimator()
// to ensure they are exposed and actually rendering.
if (i > 0) {
QPoint pos = win->position();
- if (pos == windows.first()->position())
+ if (pos == windows.first()->position()) {
pos += QPoint(10 * i, 10 * i);
win->setPosition(pos);
+ }
}
}
@@ -99,24 +104,26 @@ void tst_Animators::testMultiWinAnimator()
void tst_Animators::testTransitions()
{
- QQuickView view(QUrl::fromLocalFile("data/positionerWithAnimator.qml"));
- view.show();
- QVERIFY(QTest::qWaitForWindowExposed(&view));
- QVERIFY(view.rootObject());
-
- QQuickRepeater *repeater = view.rootObject()->property("repeater").value<QQuickRepeater *>();
+ QScopedPointer<QQuickView> view(createView());
+ view->setSource(testFileUrl("positionerWithAnimator.qml"));
+ view->show();
+ QVERIFY(QTest::qWaitForWindowExposed(view.data()));
+ QQuickItem *root = view->rootObject();
+ QVERIFY(root);
+
+ QQuickRepeater *repeater = root->property("repeater").value<QQuickRepeater *>();
QVERIFY(repeater);
QQuickItem *child = repeater->itemAt(0);
QVERIFY(child);
- QCOMPARE(child->scale(), qreal(0.0));
+ QCOMPARE(child->scale(), qreal(0));
- QQuickTransition *transition = view.rootObject()->property("transition").value<QQuickTransition *>();
+ QQuickTransition *transition = root->property("transition").value<QQuickTransition *>();
QVERIFY(transition);
QTRY_VERIFY(transition->running());
QTRY_VERIFY(!transition->running());
- QCOMPARE(child->scale(), qreal(1.0));
+ QCOMPARE(child->scale(), qreal(1));
}
#include "tst_qquickanimators.moc"