From a0d09cc3cd6f5ccd2d65d9eee1192624a4f55055 Mon Sep 17 00:00:00 2001 From: Holger Ihrig Date: Tue, 23 Aug 2011 12:48:34 +0200 Subject: 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 Reviewed-by: Rohan McGovern Reviewed-by: Jason McDonald Reviewed-by: Sergio Ahumada --- tests/auto/qanimationgroup/qanimationgroup.pro | 6 - tests/auto/qanimationgroup/tst_qanimationgroup.cpp | 413 --------------------- 2 files changed, 419 deletions(-) delete mode 100644 tests/auto/qanimationgroup/qanimationgroup.pro delete mode 100644 tests/auto/qanimationgroup/tst_qanimationgroup.cpp (limited to 'tests/auto/qanimationgroup') diff --git a/tests/auto/qanimationgroup/qanimationgroup.pro b/tests/auto/qanimationgroup/qanimationgroup.pro deleted file mode 100644 index 5e1be0cb10..0000000000 --- a/tests/auto/qanimationgroup/qanimationgroup.pro +++ /dev/null @@ -1,6 +0,0 @@ -load(qttest_p4) -QT = core -SOURCES += tst_qanimationgroup.cpp - - -CONFIG += parallel_test diff --git a/tests/auto/qanimationgroup/tst_qanimationgroup.cpp b/tests/auto/qanimationgroup/tst_qanimationgroup.cpp deleted file mode 100644 index 26e2f2f4d8..0000000000 --- a/tests/auto/qanimationgroup/tst_qanimationgroup.cpp +++ /dev/null @@ -1,413 +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 - -#include -#include -#include - -//TESTED_CLASS=QAnimationGroup -//TESTED_FILES= - -Q_DECLARE_METATYPE(QAbstractAnimation::State) - -class tst_QAnimationGroup : public QObject -{ - Q_OBJECT -public: - tst_QAnimationGroup(); - virtual ~tst_QAnimationGroup(); - -public Q_SLOTS: - void init(); - void cleanup(); - -private slots: - void construction(); - void emptyGroup(); - void setCurrentTime(); - void statesAndSignals(); - void setParentAutoAdd(); - void beginNestedGroup(); - void addChildTwice(); - void loopWithoutStartValue(); -}; - -tst_QAnimationGroup::tst_QAnimationGroup() -{ -} - -tst_QAnimationGroup::~tst_QAnimationGroup() -{ -} - -void tst_QAnimationGroup::init() -{ - qRegisterMetaType("QAbstractAnimation::State"); -} - -void tst_QAnimationGroup::cleanup() -{ -} - -void tst_QAnimationGroup::construction() -{ - QSequentialAnimationGroup animationgroup; -} - -class AnimationObject : public QObject -{ - Q_OBJECT - Q_PROPERTY(int value READ value WRITE setValue) -public: - AnimationObject(int startValue = 0) - : v(startValue) - { } - - int value() const { return v; } - void setValue(int value) { v = value; } - - int v; -}; - -class TestAnimation : public QVariantAnimation -{ - Q_OBJECT -public: - virtual void updateCurrentValue(const QVariant &value) { Q_UNUSED(value)}; - virtual void updateState(QAbstractAnimation::State oldState, - QAbstractAnimation::State newState) - { - Q_UNUSED(oldState) - Q_UNUSED(newState) - }; -}; - -class UncontrolledAnimation : public QPropertyAnimation -{ - Q_OBJECT -public: - UncontrolledAnimation(QObject *target, const QByteArray &propertyName, QObject *parent = 0) - : QPropertyAnimation(target, propertyName, parent), id(0) - { - setDuration(250); - } - - int duration() const { return -1; /* not time driven */ } - -protected: - void timerEvent(QTimerEvent *event) - { - if (event->timerId() == id) - stop(); - } - - void updateRunning(bool running) - { - if (running) { - id = startTimer(500); - } else { - killTimer(id); - id = 0; - } - } - -private: - int id; -}; - -void tst_QAnimationGroup::emptyGroup() -{ - QSequentialAnimationGroup group; - QSignalSpy groupStateChangedSpy(&group, SIGNAL(stateChanged(QAbstractAnimation::State, QAbstractAnimation::State))); - - QCOMPARE(group.state(), QAnimationGroup::Stopped); - group.start(); - - QCOMPARE(groupStateChangedSpy.count(), 2); - - QCOMPARE(qVariantValue(groupStateChangedSpy.at(0).first()), - QAnimationGroup::Running); - QCOMPARE(qVariantValue(groupStateChangedSpy.at(1).first()), - QAnimationGroup::Stopped); - - QCOMPARE(group.state(), QAnimationGroup::Stopped); - - QTest::ignoreMessage(QtWarningMsg, "QAbstractAnimation::pause: Cannot pause a stopped animation"); - group.pause(); - - QCOMPARE(groupStateChangedSpy.count(), 2); - QCOMPARE(group.state(), QAnimationGroup::Stopped); - - group.start(); - - QCOMPARE(qVariantValue(groupStateChangedSpy.at(2).first()), - QAnimationGroup::Running); - QCOMPARE(qVariantValue(groupStateChangedSpy.at(3).first()), - QAnimationGroup::Stopped); - - QCOMPARE(group.state(), QAnimationGroup::Stopped); - - group.stop(); - - QCOMPARE(groupStateChangedSpy.count(), 4); - QCOMPARE(group.state(), QAnimationGroup::Stopped); -} - -void tst_QAnimationGroup::setCurrentTime() -{ - AnimationObject s_o1; - AnimationObject s_o2; - AnimationObject s_o3; - AnimationObject p_o1; - AnimationObject p_o2; - AnimationObject p_o3; - AnimationObject t_o1; - AnimationObject t_o2; - - // sequence operating on same object/property - QSequentialAnimationGroup *sequence = new QSequentialAnimationGroup(); - QAbstractAnimation *a1_s_o1 = new QPropertyAnimation(&s_o1, "value"); - QAbstractAnimation *a2_s_o1 = new QPropertyAnimation(&s_o1, "value"); - QAbstractAnimation *a3_s_o1 = new QPropertyAnimation(&s_o1, "value"); - a2_s_o1->setLoopCount(3); - sequence->addAnimation(a1_s_o1); - sequence->addAnimation(a2_s_o1); - sequence->addAnimation(a3_s_o1); - - // sequence operating on different object/properties - QAnimationGroup *sequence2 = new QSequentialAnimationGroup(); - QAbstractAnimation *a1_s_o2 = new QPropertyAnimation(&s_o2, "value"); - QAbstractAnimation *a1_s_o3 = new QPropertyAnimation(&s_o3, "value"); - sequence2->addAnimation(a1_s_o2); - sequence2->addAnimation(a1_s_o3); - - // parallel operating on different object/properties - QAnimationGroup *parallel = new QParallelAnimationGroup(); - QAbstractAnimation *a1_p_o1 = new QPropertyAnimation(&p_o1, "value"); - QAbstractAnimation *a1_p_o2 = new QPropertyAnimation(&p_o2, "value"); - QAbstractAnimation *a1_p_o3 = new QPropertyAnimation(&p_o3, "value"); - a1_p_o2->setLoopCount(3); - parallel->addAnimation(a1_p_o1); - parallel->addAnimation(a1_p_o2); - parallel->addAnimation(a1_p_o3); - - QAbstractAnimation *notTimeDriven = new UncontrolledAnimation(&t_o1, "value"); - QCOMPARE(notTimeDriven->totalDuration(), -1); - - QAbstractAnimation *loopsForever = new QPropertyAnimation(&t_o2, "value"); - loopsForever->setLoopCount(-1); - QCOMPARE(loopsForever->totalDuration(), -1); - - QParallelAnimationGroup group; - group.addAnimation(sequence); - group.addAnimation(sequence2); - group.addAnimation(parallel); - group.addAnimation(notTimeDriven); - group.addAnimation(loopsForever); - - // Current time = 1 - group.setCurrentTime(1); - QCOMPARE(group.state(), QAnimationGroup::Stopped); - QCOMPARE(sequence->state(), QAnimationGroup::Stopped); - QCOMPARE(a1_s_o1->state(), QAnimationGroup::Stopped); - QCOMPARE(sequence2->state(), QAnimationGroup::Stopped); - QCOMPARE(a1_s_o2->state(), QAnimationGroup::Stopped); - QCOMPARE(parallel->state(), QAnimationGroup::Stopped); - QCOMPARE(a1_p_o1->state(), QAnimationGroup::Stopped); - QCOMPARE(a1_p_o2->state(), QAnimationGroup::Stopped); - QCOMPARE(a1_p_o3->state(), QAnimationGroup::Stopped); - QCOMPARE(notTimeDriven->state(), QAnimationGroup::Stopped); - QCOMPARE(loopsForever->state(), QAnimationGroup::Stopped); - - QCOMPARE(group.currentLoopTime(), 1); - QCOMPARE(sequence->currentLoopTime(), 1); - QCOMPARE(a1_s_o1->currentLoopTime(), 1); - QCOMPARE(a2_s_o1->currentLoopTime(), 0); - QCOMPARE(a3_s_o1->currentLoopTime(), 0); - QCOMPARE(a1_s_o2->currentLoopTime(), 1); - QCOMPARE(a1_s_o3->currentLoopTime(), 0); - QCOMPARE(a1_p_o1->currentLoopTime(), 1); - QCOMPARE(a1_p_o2->currentLoopTime(), 1); - QCOMPARE(a1_p_o3->currentLoopTime(), 1); - QCOMPARE(notTimeDriven->currentLoopTime(), 1); - QCOMPARE(loopsForever->currentLoopTime(), 1); - - // Current time = 250 - group.setCurrentTime(250); - QCOMPARE(group.currentLoopTime(), 250); - QCOMPARE(sequence->currentLoopTime(), 250); - QCOMPARE(a1_s_o1->currentLoopTime(), 250); - QCOMPARE(a2_s_o1->currentLoopTime(), 0); - QCOMPARE(a3_s_o1->currentLoopTime(), 0); - QCOMPARE(a1_s_o2->currentLoopTime(), 250); - QCOMPARE(a1_s_o3->currentLoopTime(), 0); - QCOMPARE(a1_p_o1->currentLoopTime(), 250); - QCOMPARE(a1_p_o2->currentLoopTime(), 0); - QCOMPARE(a1_p_o2->currentLoop(), 1); - QCOMPARE(a1_p_o3->currentLoopTime(), 250); - QCOMPARE(notTimeDriven->currentLoopTime(), 250); - QCOMPARE(loopsForever->currentLoopTime(), 0); - QCOMPARE(loopsForever->currentLoop(), 1); - QCOMPARE(sequence->currentAnimation(), a2_s_o1); - - // Current time = 251 - group.setCurrentTime(251); - QCOMPARE(group.currentLoopTime(), 251); - QCOMPARE(sequence->currentLoopTime(), 251); - QCOMPARE(a1_s_o1->currentLoopTime(), 250); - QCOMPARE(a2_s_o1->currentLoopTime(), 1); - QCOMPARE(a2_s_o1->currentLoop(), 0); - QCOMPARE(a3_s_o1->currentLoopTime(), 0); - QCOMPARE(sequence2->currentLoopTime(), 251); - QCOMPARE(a1_s_o2->currentLoopTime(), 250); - QCOMPARE(a1_s_o3->currentLoopTime(), 1); - QCOMPARE(a1_p_o1->currentLoopTime(), 250); - QCOMPARE(a1_p_o2->currentLoopTime(), 1); - QCOMPARE(a1_p_o2->currentLoop(), 1); - QCOMPARE(a1_p_o3->currentLoopTime(), 250); - QCOMPARE(notTimeDriven->currentLoopTime(), 251); - QCOMPARE(loopsForever->currentLoopTime(), 1); - QCOMPARE(sequence->currentAnimation(), a2_s_o1); -} - -void tst_QAnimationGroup::statesAndSignals() -{ -} - -void tst_QAnimationGroup::setParentAutoAdd() -{ - QParallelAnimationGroup group; - QVariantAnimation *animation = new QPropertyAnimation(&group); - QCOMPARE(animation->group(), static_cast(&group)); -} - -void tst_QAnimationGroup::beginNestedGroup() -{ - QAnimationGroup *subGroup; - QAnimationGroup *parent = new QParallelAnimationGroup(); - - for (int i = 0; i < 10; ++i) { - if (i & 1) - subGroup = new QParallelAnimationGroup(parent); - else - subGroup = new QSequentialAnimationGroup(parent); - - QCOMPARE(parent->animationCount(), 1); - QAnimationGroup *child = static_cast(parent->animationAt(0)); - - QCOMPARE(child->parent(), static_cast(parent)); - if (i & 1) - QVERIFY(qobject_cast (child)); - else - QVERIFY(qobject_cast (child)); - - parent = child; - } -} - -void tst_QAnimationGroup::addChildTwice() -{ - QAbstractAnimation *subGroup; - QAbstractAnimation *subGroup2; - QAnimationGroup *parent = new QSequentialAnimationGroup(); - - subGroup = new QPropertyAnimation(); - subGroup->setParent(parent); - parent->addAnimation(subGroup); - QCOMPARE(parent->animationCount(), 1); - - parent->clear(); - - QCOMPARE(parent->animationCount(), 0); - - // adding the same item twice to a group will remove the item from its current position - // and append it to the end - subGroup = new QPropertyAnimation(parent); - subGroup2 = new QPropertyAnimation(parent); - - QCOMPARE(parent->animationCount(), 2); - QCOMPARE(parent->animationAt(0), subGroup); - QCOMPARE(parent->animationAt(1), subGroup2); - - parent->addAnimation(subGroup); - - QCOMPARE(parent->animationCount(), 2); - QCOMPARE(parent->animationAt(0), subGroup2); - QCOMPARE(parent->animationAt(1), subGroup); - - delete parent; -} - -void tst_QAnimationGroup::loopWithoutStartValue() -{ - QAnimationGroup *parent = new QSequentialAnimationGroup(); - QObject o; - o.setProperty("ole", 0); - QCOMPARE(o.property("ole").toInt(), 0); - - QPropertyAnimation anim1(&o, "ole"); - anim1.setEndValue(-50); - anim1.setDuration(100); - - QPropertyAnimation anim2(&o, "ole"); - anim2.setEndValue(50); - anim2.setDuration(100); - - parent->addAnimation(&anim1); - parent->addAnimation(&anim2); - - parent->setLoopCount(-1); - parent->start(); - - QVERIFY(anim1.startValue().isNull()); - QCOMPARE(anim1.currentValue().toInt(), 0); - QCOMPARE(parent->currentLoop(), 0); - - parent->setCurrentTime(200); - QCOMPARE(parent->currentLoop(), 1); - QCOMPARE(anim1.currentValue().toInt(), 50); - parent->stop(); -} - -QTEST_MAIN(tst_QAnimationGroup) -#include "tst_qanimationgroup.moc" -- cgit v1.2.3