diff options
author | Michael Brasser <mbrasser@ford.com> | 2019-10-30 14:13:57 -0500 |
---|---|---|
committer | Michael Brasser <mbrasser@ford.com> | 2019-11-01 10:26:42 -0500 |
commit | bd62eff7ca551dc76cf1ec2e7eef14664f6228a5 (patch) | |
tree | fd919eab57bf238240263172d4235e188a7abd7e /tests/auto/quick/qquickanimatedsprite | |
parent | 24a7b32228c2df9c17837fade9700fcab41bfd01 (diff) |
Cleanup and document AnimatedSprite::start()/stop()
Change-Id: I3acbff54ca7b2131b84ab739f99ac982ebda65ea
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'tests/auto/quick/qquickanimatedsprite')
-rw-r--r-- | tests/auto/quick/qquickanimatedsprite/tst_qquickanimatedsprite.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickanimatedsprite/tst_qquickanimatedsprite.cpp b/tests/auto/quick/qquickanimatedsprite/tst_qquickanimatedsprite.cpp index d2bbf9e6b1..b5366e2bb9 100644 --- a/tests/auto/quick/qquickanimatedsprite/tst_qquickanimatedsprite.cpp +++ b/tests/auto/quick/qquickanimatedsprite/tst_qquickanimatedsprite.cpp @@ -49,6 +49,7 @@ private slots: void initTestCase(); void test_properties(); void test_runningChangedSignal(); + void test_startStop(); void test_frameChangedSignal(); void test_largeAnimation_data(); void test_largeAnimation(); @@ -118,6 +119,42 @@ void tst_qquickanimatedsprite::test_runningChangedSignal() QCOMPARE(finishedSpy.count(), 1); } +void tst_qquickanimatedsprite::test_startStop() +{ + QScopedPointer<QQuickView> window(new QQuickView); + + window->setSource(testFileUrl("runningChange.qml")); + window->show(); + QVERIFY(QTest::qWaitForWindowExposed(window.data())); + + QVERIFY(window->rootObject()); + QQuickAnimatedSprite* sprite = window->rootObject()->findChild<QQuickAnimatedSprite*>("sprite"); + QVERIFY(sprite); + + QVERIFY(!sprite->running()); + + QSignalSpy runningChangedSpy(sprite, SIGNAL(runningChanged(bool))); + QSignalSpy finishedSpy(sprite, SIGNAL(finished())); + QVERIFY(finishedSpy.isValid()); + + sprite->start(); + QVERIFY(sprite->running()); + QTRY_COMPARE(runningChangedSpy.count(), 1); + QCOMPARE(finishedSpy.count(), 0); + sprite->stop(); + QVERIFY(!sprite->running()); + QTRY_COMPARE(runningChangedSpy.count(), 2); + QCOMPARE(finishedSpy.count(), 0); + + sprite->setCurrentFrame(2); + sprite->start(); + QVERIFY(sprite->running()); + QCOMPARE(sprite->currentFrame(), 0); + QTRY_VERIFY(sprite->currentFrame() > 0); + sprite->stop(); + QVERIFY(!sprite->running()); +} + template <typename T> static bool isWithinRange(T min, T value, T max) { |