summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorSona Kurazyan <sona.kurazyan@qt.io>2020-12-11 16:06:56 +0100
committerSona Kurazyan <sona.kurazyan@qt.io>2021-04-30 18:59:50 +0200
commit7a1fdcedfce0a67345dc74cd77be4a8ecf0cbc1e (patch)
tree658e46a7599def0162c9165b8bbce36c3f461cbb /tests/auto
parent0d76a5cd2cdc37f9fb4cbd62af4ab6102a0acd7d (diff)
Port QVariantAnimation to the new property system
Skipped startValue/endValue properties, since they are computed and writable, which is not supported at the moment. Skipped currentValue, since its setter might be called inside the getter, which is not recommended. Task-number: QTBUG-85520 Change-Id: I1f872b4fcc7227ed91b6915891bbc66019151826 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Andreas Buhr <andreas.buhr@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/corelib/animation/qvariantanimation/CMakeLists.txt2
-rw-r--r--tests/auto/corelib/animation/qvariantanimation/tst_qvariantanimation.cpp29
2 files changed, 31 insertions, 0 deletions
diff --git a/tests/auto/corelib/animation/qvariantanimation/CMakeLists.txt b/tests/auto/corelib/animation/qvariantanimation/CMakeLists.txt
index aa85e1fb5c..08fd743e33 100644
--- a/tests/auto/corelib/animation/qvariantanimation/CMakeLists.txt
+++ b/tests/auto/corelib/animation/qvariantanimation/CMakeLists.txt
@@ -7,4 +7,6 @@
qt_internal_add_test(tst_qvariantanimation
SOURCES
tst_qvariantanimation.cpp
+ LIBRARIES
+ Qt::TestPrivate
)
diff --git a/tests/auto/corelib/animation/qvariantanimation/tst_qvariantanimation.cpp b/tests/auto/corelib/animation/qvariantanimation/tst_qvariantanimation.cpp
index ed1cea3fcf..cbb73296b4 100644
--- a/tests/auto/corelib/animation/qvariantanimation/tst_qvariantanimation.cpp
+++ b/tests/auto/corelib/animation/qvariantanimation/tst_qvariantanimation.cpp
@@ -29,6 +29,7 @@
#include <QtCore/qvariantanimation.h>
#include <QTest>
+#include <QtTest/private/qpropertytesthelper_p.h>
class tst_QVariantAnimation : public QObject
{
@@ -44,6 +45,8 @@ private slots:
void keyValues();
void duration();
void interpolation();
+ void durationBindings();
+ void easingCurveBindings();
};
class TestableQVariantAnimation : public QVariantAnimation
@@ -154,6 +157,32 @@ void tst_QVariantAnimation::interpolation()
QCOMPARE(pointAnim.currentValue().toPoint(), QPoint(50, 50));
}
+void tst_QVariantAnimation::durationBindings()
+{
+ QVariantAnimation animation;
+
+ // duration property
+ QProperty<int> duration;
+ animation.bindableDuration().setBinding(Qt::makePropertyBinding(duration));
+
+ // negative values must be ignored
+ QTest::ignoreMessage(QtWarningMsg,
+ "QVariantAnimation::setDuration: cannot set a negative duration");
+ duration = -1;
+ QVERIFY(animation.duration() != duration);
+
+ QTestPrivate::testReadWritePropertyBasics(animation, 42, 43, "duration");
+}
+
+void tst_QVariantAnimation::easingCurveBindings()
+{
+ QVariantAnimation animation;
+
+ QTestPrivate::testReadWritePropertyBasics(animation, QEasingCurve(QEasingCurve::InQuad),
+ QEasingCurve(QEasingCurve::BezierSpline),
+ "easingCurve");
+}
+
QTEST_MAIN(tst_QVariantAnimation)
#include "tst_qvariantanimation.moc"