aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAlan Alpert <alan.alpert@nokia.com>2012-01-16 15:34:52 +1000
committerQt by Nokia <qt-info@nokia.com>2012-01-23 07:38:34 +0100
commit608c2a8afde4d0247457c186b8b95f671c4ab997 (patch)
treed22d63c8832c006edc11259c2e7c064836e387d2 /tests
parent379e388568f5d5408b4be13ce6a1faba0b74be6b (diff)
Per-frame Sprites patch two
Implements CPU sprite advancement in SpriteImage, and covers the manual sprite advancement codepath in an autotest. Task-number: QTBUG-22236 Change-Id: I52a8ca3f923e88232238f9e158863b1ba7c0441b Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qtquick2/qquickspriteimage/data/advance.qml66
-rw-r--r--tests/auto/qtquick2/qquickspriteimage/tst_qquickspriteimage.cpp17
2 files changed, 83 insertions, 0 deletions
diff --git a/tests/auto/qtquick2/qquickspriteimage/data/advance.qml b/tests/auto/qtquick2/qquickspriteimage/data/advance.qml
new file mode 100644
index 0000000000..5029786849
--- /dev/null
+++ b/tests/auto/qtquick2/qquickspriteimage/data/advance.qml
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 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$
+**
+****************************************************************************/
+
+import QtQuick 2.0
+
+Rectangle {
+ color: "black"
+ width: 320
+ height: 320
+
+ SpriteImage {
+ objectName: "sprite"
+ sprites: [Sprite {
+ name: "firstState"
+ source: "squarefacesprite.png"
+ frames: 3
+ duration: -1
+ to: {"secondState":1}
+ }, Sprite {
+ name: "secondState"
+ source: "squarefacesprite.png"
+ frames: 6
+ duration: -1
+ } ]
+ width: 160
+ height: 160
+ }
+}
diff --git a/tests/auto/qtquick2/qquickspriteimage/tst_qquickspriteimage.cpp b/tests/auto/qtquick2/qquickspriteimage/tst_qquickspriteimage.cpp
index c8e42fb391..7fd04b37b8 100644
--- a/tests/auto/qtquick2/qquickspriteimage/tst_qquickspriteimage.cpp
+++ b/tests/auto/qtquick2/qquickspriteimage/tst_qquickspriteimage.cpp
@@ -51,6 +51,7 @@ public:
private slots:
void test_properties();
+ void test_framerateAdvance();//Separate codepath for QQuickSpriteEngine
};
void tst_qquickspriteimage::test_properties()
@@ -76,6 +77,22 @@ void tst_qquickspriteimage::test_properties()
delete canvas;
}
+void tst_qquickspriteimage::test_framerateAdvance()
+{
+ QQuickView *canvas = new QQuickView(0);
+
+ canvas->setSource(testFileUrl("advance.qml"));
+ canvas->show();
+ QTest::qWaitForWindowShown(canvas);
+
+ QVERIFY(canvas->rootObject());
+ QQuickSpriteImage* sprite = canvas->rootObject()->findChild<QQuickSpriteImage*>("sprite");
+ QVERIFY(sprite);
+
+ QCOMPARE(sprite->currentSprite(), QLatin1String("secondState"));
+ delete canvas;
+}
+
QTEST_MAIN(tst_qquickspriteimage)
#include "tst_qquickspriteimage.moc"