diff options
author | Sona Kurazyan <sona.kurazyan@qt.io> | 2020-12-11 16:06:56 +0100 |
---|---|---|
committer | Sona Kurazyan <sona.kurazyan@qt.io> | 2021-04-30 18:59:50 +0200 |
commit | 7a1fdcedfce0a67345dc74cd77be4a8ecf0cbc1e (patch) | |
tree | 658e46a7599def0162c9165b8bbce36c3f461cbb /tests/auto | |
parent | 0d76a5cd2cdc37f9fb4cbd62af4ab6102a0acd7d (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.txt | 2 | ||||
-rw-r--r-- | tests/auto/corelib/animation/qvariantanimation/tst_qvariantanimation.cpp | 29 |
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" |