diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2019-06-20 12:46:30 +0200 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2019-06-20 12:46:30 +0200 |
commit | 7940791f477fd991bb4e1b833e10cc23c696332e (patch) | |
tree | 4cfa25f28a29e5f24ba9131cf40603db6cab3d81 /tests | |
parent | 25eb0408a653149b89ee6fe96a4ea70c4d38b515 (diff) |
Report correct state change when destroying QAbstractAnimation
Change-Id: Ibe5310e20268d1baa5b329a4d02a3dc38d875008
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/corelib/animation/qabstractanimation/tst_qabstractanimation.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/auto/corelib/animation/qabstractanimation/tst_qabstractanimation.cpp b/tests/auto/corelib/animation/qabstractanimation/tst_qabstractanimation.cpp index fc09d57692..66a752df5d 100644 --- a/tests/auto/corelib/animation/qabstractanimation/tst_qabstractanimation.cpp +++ b/tests/auto/corelib/animation/qabstractanimation/tst_qabstractanimation.cpp @@ -83,6 +83,21 @@ void tst_QAbstractAnimation::destruction() { TestableQAbstractAnimation *anim = new TestableQAbstractAnimation; delete anim; + + // Animations should stop when deleted + auto *stopWhenDeleted = new TestableQAbstractAnimation; + QAbstractAnimation::State lastOldState, lastNewState; + QObject::connect(stopWhenDeleted, &QAbstractAnimation::stateChanged, + [&](QAbstractAnimation::State newState, QAbstractAnimation::State oldState) { + lastNewState = newState; + lastOldState = oldState; + }); + stopWhenDeleted->start(); + QCOMPARE(lastOldState, QAbstractAnimation::Stopped); + QCOMPARE(lastNewState, QAbstractAnimation::Running); + delete stopWhenDeleted; + QCOMPARE(lastOldState, QAbstractAnimation::Running); + QCOMPARE(lastNewState, QAbstractAnimation::Stopped); } void tst_QAbstractAnimation::currentLoop() |