diff options
author | Holger Ihrig <holger.ihrig@nokia.com> | 2011-08-23 12:48:34 +0200 |
---|---|---|
committer | Holger Ihrig <holger.ihrig@nokia.com> | 2011-08-24 10:09:19 +0200 |
commit | a0d09cc3cd6f5ccd2d65d9eee1192624a4f55055 (patch) | |
tree | 67688457f9354cb4b7e63365277f44dff36364b3 /tests/auto/qpauseanimation | |
parent | 79df6d8e043d7c2c36334321ec1e13b4b85f5852 (diff) |
Moving Tests to new Autotest Structure
Bring new Structure for Autotests Corelib into place
Moving Corelib/Animation Tests
Added new Autotests to corelib/animation
Task-number: QTBUG-21066
Change-Id: I754bbcc2b0a512e6df4c0d768ae6ff9c261ff210
Reviewed-on: http://codereview.qt.nokia.com/3404
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
Diffstat (limited to 'tests/auto/qpauseanimation')
-rw-r--r-- | tests/auto/qpauseanimation/qpauseanimation.pro | 5 | ||||
-rw-r--r-- | tests/auto/qpauseanimation/tst_qpauseanimation.cpp | 426 |
2 files changed, 0 insertions, 431 deletions
diff --git a/tests/auto/qpauseanimation/qpauseanimation.pro b/tests/auto/qpauseanimation/qpauseanimation.pro deleted file mode 100644 index 7f612b69fe..0000000000 --- a/tests/auto/qpauseanimation/qpauseanimation.pro +++ /dev/null @@ -1,5 +0,0 @@ -load(qttest_p4) -QT = core core-private gui gui-private -SOURCES += tst_qpauseanimation.cpp - - diff --git a/tests/auto/qpauseanimation/tst_qpauseanimation.cpp b/tests/auto/qpauseanimation/tst_qpauseanimation.cpp deleted file mode 100644 index ea99e19fb3..0000000000 --- a/tests/auto/qpauseanimation/tst_qpauseanimation.cpp +++ /dev/null @@ -1,426 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this -** file. Please review the following information to ensure the GNU Lesser -** General Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU General -** Public License version 3.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of this -** file. Please review the following information to ensure the GNU General -** Public License version 3.0 requirements will be met: -** http://www.gnu.org/copyleft/gpl.html. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QtTest/QtTest> - -#include <QtCore/qpauseanimation.h> -#include <QtCore/qpropertyanimation.h> -#include <QtCore/qsequentialanimationgroup.h> - -#include <private/qabstractanimation_p.h> - -//TESTED_CLASS=QPauseAnimation -//TESTED_FILES= - -class TestablePauseAnimation : public QPauseAnimation -{ - Q_OBJECT -public: - TestablePauseAnimation(QObject *parent = 0) - : QPauseAnimation(parent), - m_updateCurrentTimeCount(0) - { - } - - int m_updateCurrentTimeCount; -protected: - void updateCurrentTime(int currentTime) - { - //qDebug() << this << "update current time: " << currentTime; - QPauseAnimation::updateCurrentTime(currentTime); - ++m_updateCurrentTimeCount; - } -}; - -class EnableConsistentTiming -{ -public: - EnableConsistentTiming() - { - QUnifiedTimer *timer = QUnifiedTimer::instance(); - timer->setConsistentTiming(true); - } - ~EnableConsistentTiming() - { - QUnifiedTimer *timer = QUnifiedTimer::instance(); - timer->setConsistentTiming(false); - } -}; - -class tst_QPauseAnimation : public QObject -{ - Q_OBJECT -public: - tst_QPauseAnimation(); - virtual ~tst_QPauseAnimation(); - -public Q_SLOTS: - void initTestCase(); - -private slots: - void changeDirectionWhileRunning(); - void noTimerUpdates_data(); - void noTimerUpdates(); - void multiplePauseAnimations(); - void pauseAndPropertyAnimations(); - void pauseResume(); - void sequentialPauseGroup(); - void sequentialGroupWithPause(); - void multipleSequentialGroups(); - void zeroDuration(); -}; - -tst_QPauseAnimation::tst_QPauseAnimation() -{ -} - -tst_QPauseAnimation::~tst_QPauseAnimation() -{ -} - -void tst_QPauseAnimation::initTestCase() -{ - qRegisterMetaType<QAbstractAnimation::State>("QAbstractAnimation::State"); - qRegisterMetaType<QAbstractAnimation::DeletionPolicy>("QAbstractAnimation::DeletionPolicy"); -} - -void tst_QPauseAnimation::changeDirectionWhileRunning() -{ - EnableConsistentTiming enabled; - - TestablePauseAnimation animation; - animation.setDuration(400); - animation.start(); - QTest::qWait(100); - QVERIFY(animation.state() == QAbstractAnimation::Running); - animation.setDirection(QAbstractAnimation::Backward); - QTest::qWait(animation.totalDuration() + 50); - QVERIFY(animation.state() == QAbstractAnimation::Stopped); -} - -void tst_QPauseAnimation::noTimerUpdates_data() -{ - QTest::addColumn<int>("duration"); - QTest::addColumn<int>("loopCount"); - - QTest::newRow("0") << 200 << 1; - QTest::newRow("1") << 160 << 1; - QTest::newRow("2") << 160 << 2; - QTest::newRow("3") << 200 << 3; -} - -void tst_QPauseAnimation::noTimerUpdates() -{ - EnableConsistentTiming enabled; - - QFETCH(int, duration); - QFETCH(int, loopCount); - - TestablePauseAnimation animation; - animation.setDuration(duration); - animation.setLoopCount(loopCount); - animation.start(); - QTest::qWait(animation.totalDuration() + 100); - -#ifdef Q_OS_WIN - if (animation.state() != QAbstractAnimation::Stopped) - QEXPECT_FAIL("", "On windows, consistent timing is not working properly due to bad timer resolution", Abort); -#endif - - QVERIFY(animation.state() == QAbstractAnimation::Stopped); - QCOMPARE(animation.m_updateCurrentTimeCount, 1 + loopCount); -} - -void tst_QPauseAnimation::multiplePauseAnimations() -{ - EnableConsistentTiming enabled; - - TestablePauseAnimation animation; - animation.setDuration(200); - - TestablePauseAnimation animation2; - animation2.setDuration(800); - - animation.start(); - animation2.start(); - QTest::qWait(animation.totalDuration() + 100); - -#ifdef Q_OS_WIN - if (animation.state() != QAbstractAnimation::Stopped) - QEXPECT_FAIL("", "On windows, consistent timing is not working properly due to bad timer resolution", Abort); -#endif - - QVERIFY(animation.state() == QAbstractAnimation::Stopped); - QVERIFY(animation2.state() == QAbstractAnimation::Running); - QCOMPARE(animation.m_updateCurrentTimeCount, 2); - QCOMPARE(animation2.m_updateCurrentTimeCount, 2); - - QTest::qWait(550); - -#ifdef Q_OS_WIN - if (animation2.state() != QAbstractAnimation::Stopped) - QEXPECT_FAIL("", "On windows, consistent timing is not working properly due to bad timer resolution", Abort); -#endif - - QVERIFY(animation2.state() == QAbstractAnimation::Stopped); - QCOMPARE(animation2.m_updateCurrentTimeCount, 3); -} - -void tst_QPauseAnimation::pauseAndPropertyAnimations() -{ - EnableConsistentTiming enabled; - - TestablePauseAnimation pause; - pause.setDuration(200); - - QObject o; - o.setProperty("ole", 42); - - QPropertyAnimation animation(&o, "ole"); - animation.setEndValue(43); - - pause.start(); - - QTest::qWait(100); - animation.start(); - - QVERIFY(animation.state() == QAbstractAnimation::Running); - QVERIFY(pause.state() == QAbstractAnimation::Running); - QCOMPARE(pause.m_updateCurrentTimeCount, 2); - - QTest::qWait(animation.totalDuration() + 100); - -#ifdef Q_OS_WIN - if (animation.state() != QAbstractAnimation::Stopped) - QEXPECT_FAIL("", "On windows, consistent timing is not working properly due to bad timer resolution", Abort); -#endif - QVERIFY(animation.state() == QAbstractAnimation::Stopped); - QVERIFY(pause.state() == QAbstractAnimation::Stopped); - QVERIFY(pause.m_updateCurrentTimeCount > 3); -} - -void tst_QPauseAnimation::pauseResume() -{ - TestablePauseAnimation animation; - animation.setDuration(400); - animation.start(); - QVERIFY(animation.state() == QAbstractAnimation::Running); - QTest::qWait(200); - animation.pause(); - QVERIFY(animation.state() == QAbstractAnimation::Paused); - animation.start(); - QTest::qWait(300); - QVERIFY(animation.state() == QAbstractAnimation::Stopped); - QCOMPARE(animation.m_updateCurrentTimeCount, 3); -} - -void tst_QPauseAnimation::sequentialPauseGroup() -{ - QSequentialAnimationGroup group; - - TestablePauseAnimation animation1(&group); - animation1.setDuration(200); - TestablePauseAnimation animation2(&group); - animation2.setDuration(200); - TestablePauseAnimation animation3(&group); - animation3.setDuration(200); - - group.start(); - QCOMPARE(animation1.m_updateCurrentTimeCount, 1); - QCOMPARE(animation2.m_updateCurrentTimeCount, 0); - QCOMPARE(animation3.m_updateCurrentTimeCount, 0); - - QVERIFY(group.state() == QAbstractAnimation::Running); - QVERIFY(animation1.state() == QAbstractAnimation::Running); - QVERIFY(animation2.state() == QAbstractAnimation::Stopped); - QVERIFY(animation3.state() == QAbstractAnimation::Stopped); - - group.setCurrentTime(250); - QCOMPARE(animation1.m_updateCurrentTimeCount, 2); - QCOMPARE(animation2.m_updateCurrentTimeCount, 1); - QCOMPARE(animation3.m_updateCurrentTimeCount, 0); - - QVERIFY(group.state() == QAbstractAnimation::Running); - QVERIFY(animation1.state() == QAbstractAnimation::Stopped); - QCOMPARE((QAbstractAnimation*)&animation2, group.currentAnimation()); - QVERIFY(animation2.state() == QAbstractAnimation::Running); - QVERIFY(animation3.state() == QAbstractAnimation::Stopped); - - group.setCurrentTime(500); - QCOMPARE(animation1.m_updateCurrentTimeCount, 2); - QCOMPARE(animation2.m_updateCurrentTimeCount, 2); - QCOMPARE(animation3.m_updateCurrentTimeCount, 1); - - QVERIFY(group.state() == QAbstractAnimation::Running); - QVERIFY(animation1.state() == QAbstractAnimation::Stopped); - QVERIFY(animation2.state() == QAbstractAnimation::Stopped); - QCOMPARE((QAbstractAnimation*)&animation3, group.currentAnimation()); - QVERIFY(animation3.state() == QAbstractAnimation::Running); - - group.setCurrentTime(750); - - QVERIFY(group.state() == QAbstractAnimation::Stopped); - QVERIFY(animation1.state() == QAbstractAnimation::Stopped); - QVERIFY(animation2.state() == QAbstractAnimation::Stopped); - QVERIFY(animation3.state() == QAbstractAnimation::Stopped); - - QCOMPARE(animation1.m_updateCurrentTimeCount, 2); - QCOMPARE(animation2.m_updateCurrentTimeCount, 2); - QCOMPARE(animation3.m_updateCurrentTimeCount, 2); -} - -void tst_QPauseAnimation::sequentialGroupWithPause() -{ - QSequentialAnimationGroup group; - - QObject o; - o.setProperty("ole", 42); - - QPropertyAnimation animation(&o, "ole", &group); - animation.setEndValue(43); - TestablePauseAnimation pause(&group); - pause.setDuration(250); - - group.start(); - - QVERIFY(group.state() == QAbstractAnimation::Running); - QVERIFY(animation.state() == QAbstractAnimation::Running); - QVERIFY(pause.state() == QAbstractAnimation::Stopped); - - group.setCurrentTime(300); - - QVERIFY(group.state() == QAbstractAnimation::Running); - QVERIFY(animation.state() == QAbstractAnimation::Stopped); - QCOMPARE((QAbstractAnimation*)&pause, group.currentAnimation()); - QVERIFY(pause.state() == QAbstractAnimation::Running); - - group.setCurrentTime(600); - - QVERIFY(group.state() == QAbstractAnimation::Stopped); - QVERIFY(animation.state() == QAbstractAnimation::Stopped); - QVERIFY(pause.state() == QAbstractAnimation::Stopped); - - QCOMPARE(pause.m_updateCurrentTimeCount, 2); -} - -void tst_QPauseAnimation::multipleSequentialGroups() -{ - EnableConsistentTiming enabled; - - QParallelAnimationGroup group; - group.setLoopCount(2); - - QSequentialAnimationGroup subgroup1(&group); - - QObject o; - o.setProperty("ole", 42); - - QPropertyAnimation animation(&o, "ole", &subgroup1); - animation.setEndValue(43); - animation.setDuration(300); - TestablePauseAnimation pause(&subgroup1); - pause.setDuration(200); - - QSequentialAnimationGroup subgroup2(&group); - - o.setProperty("ole2", 42); - QPropertyAnimation animation2(&o, "ole2", &subgroup2); - animation2.setEndValue(43); - animation2.setDuration(200); - TestablePauseAnimation pause2(&subgroup2); - pause2.setDuration(250); - - QSequentialAnimationGroup subgroup3(&group); - - TestablePauseAnimation pause3(&subgroup3); - pause3.setDuration(400); - - o.setProperty("ole3", 42); - QPropertyAnimation animation3(&o, "ole3", &subgroup3); - animation3.setEndValue(43); - animation3.setDuration(200); - - QSequentialAnimationGroup subgroup4(&group); - - TestablePauseAnimation pause4(&subgroup4); - pause4.setDuration(310); - - TestablePauseAnimation pause5(&subgroup4); - pause5.setDuration(60); - - group.start(); - - QVERIFY(group.state() == QAbstractAnimation::Running); - QVERIFY(subgroup1.state() == QAbstractAnimation::Running); - QVERIFY(subgroup2.state() == QAbstractAnimation::Running); - QVERIFY(subgroup3.state() == QAbstractAnimation::Running); - QVERIFY(subgroup4.state() == QAbstractAnimation::Running); - - // This is a pretty long animation so it tends to get rather out of sync - // when using the consistent timer, so run for an extra half second for good - // measure... - QTest::qWait(group.totalDuration() + 500); - -#ifdef Q_OS_WIN - if (group.state() != QAbstractAnimation::Stopped) - QEXPECT_FAIL("", "On windows, consistent timing is not working properly due to bad timer resolution", Abort); -#endif - QVERIFY(group.state() == QAbstractAnimation::Stopped); - QVERIFY(subgroup1.state() == QAbstractAnimation::Stopped); - QVERIFY(subgroup2.state() == QAbstractAnimation::Stopped); - QVERIFY(subgroup3.state() == QAbstractAnimation::Stopped); - QVERIFY(subgroup4.state() == QAbstractAnimation::Stopped); - - QCOMPARE(pause5.m_updateCurrentTimeCount, 4); -} - -void tst_QPauseAnimation::zeroDuration() -{ - TestablePauseAnimation animation; - animation.setDuration(0); - animation.start(); - QTest::qWait(animation.totalDuration() + 100); - QVERIFY(animation.state() == QAbstractAnimation::Stopped); - QCOMPARE(animation.m_updateCurrentTimeCount, 1); -} - -QTEST_MAIN(tst_QPauseAnimation) -#include "tst_qpauseanimation.moc" |