aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2020-10-19 21:11:22 +0200
committerShawn Rutledge <shawn.rutledge@qt.io>2020-10-22 06:53:42 +0200
commitec9d125f553c073ec7a431114a568eaeb6534b63 (patch)
treebd1fc3cd74c0f26c82c76136f39a0f27ef716abb
parentdac2c8aec4917742aed6e311cf542dc37da60809 (diff)
Update and activate tst_animators
Amends a0f8be4021caa9bb5055923f0eea3bee0e345235; it's not clear if there's any reason we haven't been running this test all these years. But we need to use testFileUrl() for loading QML files, and some additional updates make it more like the other tests. Regenerated CMakeLists.txt from the .pro files: python3 ~/dev/qt6/qtbase/util/cmake/pro2cmake.py *.pro Pick-to: 5.15 Change-Id: I3ddcc993c4536c2d4d751a37c0425943c7d86766 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
-rw-r--r--tests/auto/quick/.prev_CMakeLists.txt1
-rw-r--r--tests/auto/quick/CMakeLists.txt1
-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
-rw-r--r--tests/auto/quick/quick.pro1
6 files changed, 63 insertions, 20 deletions
diff --git a/tests/auto/quick/.prev_CMakeLists.txt b/tests/auto/quick/.prev_CMakeLists.txt
index 7dd7d217bd..15cb370860 100644
--- a/tests/auto/quick/.prev_CMakeLists.txt
+++ b/tests/auto/quick/.prev_CMakeLists.txt
@@ -28,6 +28,7 @@ if(QT_FEATURE_private_tests)
add_subdirectory(qquickaccessible)
add_subdirectory(qquickanchors)
add_subdirectory(qquickanimatedimage)
+ add_subdirectory(qquickanimators)
add_subdirectory(qquickdynamicpropertyanimation)
add_subdirectory(qquickborderimage)
add_subdirectory(qquickwindow)
diff --git a/tests/auto/quick/CMakeLists.txt b/tests/auto/quick/CMakeLists.txt
index f7d48b7670..838d0917fb 100644
--- a/tests/auto/quick/CMakeLists.txt
+++ b/tests/auto/quick/CMakeLists.txt
@@ -26,6 +26,7 @@ if(QT_FEATURE_private_tests)
add_subdirectory(qquickaccessible)
add_subdirectory(qquickanchors)
add_subdirectory(qquickanimatedimage)
+ add_subdirectory(qquickanimators)
add_subdirectory(qquickdynamicpropertyanimation)
add_subdirectory(qquickborderimage)
add_subdirectory(qquickwindow)
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"
diff --git a/tests/auto/quick/quick.pro b/tests/auto/quick/quick.pro
index b65e167bce..c80bcdf027 100644
--- a/tests/auto/quick/quick.pro
+++ b/tests/auto/quick/quick.pro
@@ -53,6 +53,7 @@ QUICKTESTS += \
qquickaccessible \
qquickanchors \
qquickanimatedimage \
+ qquickanimators \
qquickdynamicpropertyanimation \
qquickborderimage \
qquickwindow \