summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBea Lam <bea.lam@nokia.com>2009-09-28 00:15:02 (GMT)
committerBea Lam <bea.lam@nokia.com>2009-09-28 00:15:02 (GMT)
commit46c3f05e1edbc112df1ddb96a161d53d22340b19 (patch)
treefd917138ad3c159a1f916351cc221a225b155d48
parentf1e06cdd804934ff8c0b350b41d3d7187a21560c (diff)
parentc6090b6749c9f9bf002f999f808e456b74fea1bf (diff)
downloadQt-46c3f05e1edbc112df1ddb96a161d53d22340b19.zip
Qt-46c3f05e1edbc112df1ddb96a161d53d22340b19.tar.gz
Qt-46c3f05e1edbc112df1ddb96a161d53d22340b19.tar.bz2
Merge branch 'kinetic-declarativeui' of git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
-rw-r--r--examples/declarative/sql/hello.qml9
-rw-r--r--src/declarative/fx/qfxpainteditem.cpp14
-rw-r--r--src/declarative/fx/qfxtextedit.cpp1
-rw-r--r--src/declarative/qml/qbitfield_p.h165
-rw-r--r--src/declarative/qml/qml.pri1
-rw-r--r--src/declarative/qml/qmlcompileddata.cpp4
-rw-r--r--src/declarative/qml/qmlcompiler.cpp27
-rw-r--r--src/declarative/qml/qmlcompiler_p.h3
-rw-r--r--src/declarative/qml/qmlcomponent.cpp68
-rw-r--r--src/declarative/qml/qmlcomponent.h2
-rw-r--r--src/declarative/qml/qmlcomponent_p.h10
-rw-r--r--src/declarative/qml/qmlcompositetypedata_p.h11
-rw-r--r--src/declarative/qml/qmlcompositetypemanager_p.h2
-rw-r--r--src/declarative/qml/qmlcontext.h1
-rw-r--r--src/declarative/qml/qmlinstruction_p.h1
-rw-r--r--src/declarative/qml/qmlparser.cpp9
-rw-r--r--src/declarative/qml/qmlparser_p.h3
-rw-r--r--src/declarative/qml/qmlparserstatus.h1
-rw-r--r--src/declarative/qml/qmlscriptparser.cpp7
-rw-r--r--src/declarative/qml/qmlsqldatabase.cpp118
-rw-r--r--src/declarative/qml/qmlvme.cpp39
-rw-r--r--src/declarative/qml/qmlvme_p.h8
-rw-r--r--src/declarative/util/qmlpropertychanges.cpp67
-rw-r--r--src/declarative/util/qmlstate.cpp4
-rw-r--r--src/declarative/util/qmlstate.h2
-rw-r--r--src/declarative/util/qmlstateoperations.cpp2
-rw-r--r--src/declarative/util/qmlstateoperations.h2
-rw-r--r--src/declarative/util/qmlview.cpp2
-rw-r--r--src/src.pro1
-rw-r--r--tests/auto/declarative/qmlecmascript/data/aliasPropertyAndBinding.qml14
-rw-r--r--tests/auto/declarative/qmlecmascript/tst_qmlecmascript.cpp29
-rw-r--r--tests/auto/declarative/sql/data/1-creation.js20
-rw-r--r--tests/auto/declarative/sql/data/2-selection.js30
-rw-r--r--tests/auto/declarative/sql/data/3-iteration-item-function.js27
-rw-r--r--tests/auto/declarative/sql/data/5-iteration-iterator.js27
-rw-r--r--tests/auto/declarative/sql/data/6-iteration-efficient.js28
-rw-r--r--tests/auto/declarative/sql/data/README3
-rw-r--r--tests/auto/declarative/sql/data/test1.js18
-rw-r--r--tests/auto/declarative/sql/tst_sql.cpp103
-rw-r--r--tests/auto/declarative/visual/ListView/basic1.qml (renamed from tests/auto/declarative/visual/ListView/basic1/basic1.qml)4
-rw-r--r--tests/auto/declarative/visual/ListView/basic1/data/raster/image0.pngbin1737 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/ListView/basic1/data/raster/manifest.qml8
-rw-r--r--tests/auto/declarative/visual/ListView/basic1/test1
-rw-r--r--tests/auto/declarative/visual/ListView/basic2.qml (renamed from tests/auto/declarative/visual/ListView/basic2/basic2.qml)4
-rw-r--r--tests/auto/declarative/visual/ListView/basic2/data/raster/image0.pngbin1737 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/ListView/basic2/data/raster/manifest.qml8
-rw-r--r--tests/auto/declarative/visual/ListView/basic2/test1
-rw-r--r--tests/auto/declarative/visual/ListView/basic3.qml (renamed from tests/auto/declarative/visual/ListView/basic3/basic3.qml)4
-rw-r--r--tests/auto/declarative/visual/ListView/basic3/data/raster/image0.pngbin1737 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/ListView/basic3/data/raster/manifest.qml8
-rw-r--r--tests/auto/declarative/visual/ListView/basic3/test1
-rw-r--r--tests/auto/declarative/visual/ListView/basic4.qml (renamed from tests/auto/declarative/visual/ListView/basic4/basic4.qml)4
-rw-r--r--tests/auto/declarative/visual/ListView/basic4/data/raster/image0.pngbin1737 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/ListView/basic4/data/raster/manifest.qml8
-rw-r--r--tests/auto/declarative/visual/ListView/basic4/test1
-rw-r--r--tests/auto/declarative/visual/ListView/data/basic1.qml159
-rw-r--r--tests/auto/declarative/visual/ListView/data/basic2.qml187
-rw-r--r--tests/auto/declarative/visual/ListView/data/basic3.qml147
-rw-r--r--tests/auto/declarative/visual/ListView/data/basic4.qml171
-rw-r--r--tests/auto/declarative/visual/bindinganimation/bindinganimation.qml12
-rw-r--r--tests/auto/declarative/visual/bindinganimation/data/bindinganimation.0.png (renamed from tests/auto/declarative/visual/bindinganimation/data/raster/image0.png)bin817 -> 817 bytes
-rw-r--r--tests/auto/declarative/visual/bindinganimation/data/bindinganimation.1.pngbin0 -> 815 bytes
-rw-r--r--tests/auto/declarative/visual/bindinganimation/data/bindinganimation.qml659
-rw-r--r--tests/auto/declarative/visual/bindinganimation/data/raster/manifest.qml88
-rw-r--r--tests/auto/declarative/visual/bindinganimation/test1
-rw-r--r--tests/auto/declarative/visual/colorAnimation/colorAnimation.qml10
-rw-r--r--tests/auto/declarative/visual/colorAnimation/data/colorAnimation.0.pngbin0 -> 612 bytes
-rw-r--r--tests/auto/declarative/visual/colorAnimation/data/colorAnimation.1.pngbin0 -> 611 bytes
-rw-r--r--tests/auto/declarative/visual/colorAnimation/data/colorAnimation.2.pngbin0 -> 610 bytes
-rw-r--r--tests/auto/declarative/visual/colorAnimation/data/colorAnimation.qml951
-rw-r--r--tests/auto/declarative/visual/colorAnimation/data/raster/image0.pngbin607 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/colorAnimation/data/raster/manifest.qml524
-rw-r--r--tests/auto/declarative/visual/colorAnimation/data/raster/manifest.xml522
-rw-r--r--tests/auto/declarative/visual/colorAnimation/manifest-play.xml73
-rw-r--r--tests/auto/declarative/visual/easing/data/easing.0.pngbin0 -> 20526 bytes
-rw-r--r--tests/auto/declarative/visual/easing/data/easing.1.pngbin0 -> 20526 bytes
-rw-r--r--tests/auto/declarative/visual/easing/data/easing.2.pngbin0 -> 20526 bytes
-rw-r--r--tests/auto/declarative/visual/easing/data/easing.qml867
-rw-r--r--tests/auto/declarative/visual/easing/easing.qml16
-rw-r--r--tests/auto/declarative/visual/easing/image0.pngbin17530 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/easing/manifest-play.xml23
-rw-r--r--tests/auto/declarative/visual/easing/manifest.xml23
-rw-r--r--tests/auto/declarative/visual/flickable/Day.qml7
-rw-r--r--tests/auto/declarative/visual/flickable/data/flickable.0.pngbin0 -> 116681 bytes
-rw-r--r--tests/auto/declarative/visual/flickable/data/flickable.1.pngbin0 -> 116856 bytes
-rw-r--r--tests/auto/declarative/visual/flickable/data/flickable.2.pngbin0 -> 117276 bytes
-rw-r--r--tests/auto/declarative/visual/flickable/data/flickable.qml791
-rw-r--r--tests/auto/declarative/visual/flickable/flickable.qml6
-rw-r--r--tests/auto/declarative/visual/flipable/flipable.xml138
-rw-r--r--tests/auto/declarative/visual/flipable/image0.pngbin6184 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/flipable/manifest-play.xml24
-rw-r--r--tests/auto/declarative/visual/flipable/manifest.xml24
-rw-r--r--tests/auto/declarative/visual/flipable/pics/arrow.pngbin546 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/flipable/pics/face.pngbin10112 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/flipable/pics/photo0.pngbin10412 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/flipable/pics/photo1.pngbin11068 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/flipable/pics/photo10.pngbin12539 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/flipable/pics/photo2.pngbin11490 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/flipable/pics/photo3.pngbin11308 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/flipable/pics/photo4.pngbin11322 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/flipable/pics/photo5.pngbin11497 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/flipable/pics/photo6.pngbin11707 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/flipable/pics/photo7.pngbin11101 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/flipable/pics/photo8.pngbin11558 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/flipable/pics/photo9.pngbin10943 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test.0.pngbin0 -> 14836 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test.1.pngbin0 -> 14836 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test.2.pngbin0 -> 14821 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test.3.pngbin0 -> 14833 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test.4.pngbin0 -> 14833 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test.5.pngbin0 -> 14833 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test.qml1599
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test2.0.pngbin0 -> 5359 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test2.1.pngbin0 -> 5359 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test2.qml607
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test3.0.pngbin0 -> 12616 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test3.0.png.reject.pngbin0 -> 12616 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test3.1.pngbin0 -> 12538 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test3.1.png.reject.pngbin0 -> 12539 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test3.2.pngbin0 -> 12257 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test3.3.pngbin0 -> 12035 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test3.4.pngbin0 -> 11877 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test3.5.pngbin0 -> 12046 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test3.6.pngbin0 -> 12257 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test3.7.pngbin0 -> 12538 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test3.8.pngbin0 -> 12616 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test3.9.pngbin0 -> 12581 bytes
-rw-r--r--tests/auto/declarative/visual/focusscope/data/test3.qml2879
-rw-r--r--tests/auto/declarative/visual/focusscope/test.qml76
-rw-r--r--tests/auto/declarative/visual/focusscope/test2.qml40
-rw-r--r--tests/auto/declarative/visual/focusscope/test3.qml52
-rw-r--r--tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.0.pngbin0 -> 3211 bytes
-rw-r--r--tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.1.pngbin0 -> 3214 bytes
-rw-r--r--tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.2.png (renamed from tests/auto/declarative/visual/pauseAnimation/data/raster/image0.png)bin3209 -> 3209 bytes
-rw-r--r--tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.3.pngbin0 -> 3211 bytes
-rw-r--r--tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.4.pngbin0 -> 3214 bytes
-rw-r--r--tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.5.pngbin0 -> 3214 bytes
-rw-r--r--tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.qml1619
-rw-r--r--tests/auto/declarative/visual/pauseAnimation/data/raster/manifest.qml1264
-rw-r--r--tests/auto/declarative/visual/pauseAnimation/pauseAnimation.qml2
-rw-r--r--tests/auto/declarative/visual/pauseAnimation/test1
-rw-r--r--tests/auto/declarative/visual/qfxtext/elide/data/elide.0.pngbin0 -> 1604 bytes
-rw-r--r--tests/auto/declarative/visual/qfxtext/elide/data/elide.qml279
-rw-r--r--tests/auto/declarative/visual/qfxtext/elide/data/raster/image0.pngbin909 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/qfxtext/elide/data/raster/manifest.qml8
-rw-r--r--tests/auto/declarative/visual/qfxtext/elide/elide.qml16
-rw-r--r--tests/auto/declarative/visual/qfxtext/elide/test1
-rw-r--r--tests/auto/declarative/visual/repeater/basic1.qml (renamed from tests/auto/declarative/visual/repeater/basic1/basic1.qml)8
-rw-r--r--tests/auto/declarative/visual/repeater/basic1/data/raster/image0.pngbin1287 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/repeater/basic1/data/raster/manifest.qml8
-rw-r--r--tests/auto/declarative/visual/repeater/basic1/test1
-rw-r--r--tests/auto/declarative/visual/repeater/basic2.qml (renamed from tests/auto/declarative/visual/repeater/basic2/basic2.qml)10
-rw-r--r--tests/auto/declarative/visual/repeater/basic2/data/raster/image0.pngbin1287 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/repeater/basic2/data/raster/manifest.qml8
-rw-r--r--tests/auto/declarative/visual/repeater/basic2/test1
-rw-r--r--tests/auto/declarative/visual/repeater/basic3.qml (renamed from tests/auto/declarative/visual/repeater/basic3/basic3.qml)8
-rw-r--r--tests/auto/declarative/visual/repeater/basic3/data/raster/image0.pngbin1287 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/repeater/basic3/data/raster/manifest.qml15
-rw-r--r--tests/auto/declarative/visual/repeater/basic3/test1
-rw-r--r--tests/auto/declarative/visual/repeater/basic4.qml (renamed from tests/auto/declarative/visual/repeater/basic4/basic4.qml)10
-rw-r--r--tests/auto/declarative/visual/repeater/basic4/data/raster/image0.pngbin1287 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/repeater/basic4/data/raster/manifest.qml8
-rw-r--r--tests/auto/declarative/visual/repeater/basic4/test1
-rw-r--r--tests/auto/declarative/visual/repeater/data/basic1.0.pngbin0 -> 1513 bytes
-rw-r--r--tests/auto/declarative/visual/repeater/data/basic1.qml323
-rw-r--r--tests/auto/declarative/visual/repeater/data/basic2.0.pngbin0 -> 1513 bytes
-rw-r--r--tests/auto/declarative/visual/repeater/data/basic2.qml331
-rw-r--r--tests/auto/declarative/visual/repeater/data/basic3.0.pngbin0 -> 1513 bytes
-rw-r--r--tests/auto/declarative/visual/repeater/data/basic3.qml347
-rw-r--r--tests/auto/declarative/visual/repeater/data/basic4.0.pngbin0 -> 1513 bytes
-rw-r--r--tests/auto/declarative/visual/repeater/data/basic4.qml419
-rwxr-xr-xtests/auto/declarative/visual/runtests.sh3
-rw-r--r--tests/auto/declarative/visual/tests12
-rw-r--r--tests/auto/declarative/visual/tst_visual.cpp232
-rw-r--r--tests/auto/declarative/visual/visual.pro1
-rw-r--r--tests/auto/declarative/visual/webview/autosize/data/raster/image0.pngbin4820 -> 0 bytes
-rw-r--r--tests/auto/declarative/visual/webview/autosize/data/raster/manifest.qml8
-rw-r--r--tests/auto/declarative/visual/webview/autosize/test1
-rw-r--r--tools/qmlviewer/main.cpp7
-rw-r--r--tools/qmlviewer/qfxtester.cpp60
-rw-r--r--tools/qmlviewer/qfxtester.h8
-rw-r--r--tools/qmlviewer/qmlviewer.cpp4
-rw-r--r--tools/qmlviewer/qmlviewer.h5
183 files changed, 13579 insertions, 3062 deletions
diff --git a/examples/declarative/sql/hello.qml b/examples/declarative/sql/hello.qml
index e43d320..db568a9 100644
--- a/examples/declarative/sql/hello.qml
+++ b/examples/declarative/sql/hello.qml
@@ -12,15 +12,8 @@ Text {
tx.executeSql('INSERT INTO Greeting VALUES(?, ?)', [ 'hello', 'world' ]);
tx.executeSql('SELECT * FROM Greeting', [],
function(tx, rs) {
- /* Inefficient HTML5-compatible way
for(var i = 0; i < rs.rows.length; i++) {
- r += rs.rows[i][0] + ", " + rs.rows[i][1] + "\n"
- }
- */
- /* Efficient way: forward only, not "length" query */
- rs.rows.forwardOnly = true;
- for(var i = 0; rs.rows[i]; i++) {
- r += rs.rows[i][0] + ", " + rs.rows[i][1] + "\n"
+ r += rs.rows.item(i).salutation + ", " + rs.rows.item(i).salutee + "\n"
}
},
function(tx, error) {
diff --git a/src/declarative/fx/qfxpainteditem.cpp b/src/declarative/fx/qfxpainteditem.cpp
index 27f3ca6..ac3de5e 100644
--- a/src/declarative/fx/qfxpainteditem.cpp
+++ b/src/declarative/fx/qfxpainteditem.cpp
@@ -231,9 +231,17 @@ void QFxPaintedItem::paint(QPainter *p, const QStyleOptionGraphicsItem *, QWidge
QPainter qp(&d->imagecache[i]->image);
qp.setRenderHints(QPainter::HighQualityAntialiasing | QPainter::Antialiasing | QPainter::TextAntialiasing | QPainter::SmoothPixmapTransform, d->smooth);
qp.translate(-area.x(), -area.y());
- qp.eraseRect(d->imagecache[i]->dirty);
- if (d->fillColor.isValid())
- qp.fillRect(d->imagecache[i]->dirty,d->fillColor);
+ if (d->fillColor.isValid()){
+ if(d->fillColor.alpha() < 255){
+ // ### Might not work outside of raster paintengine
+ QPainter::CompositionMode prev = qp.compositionMode();
+ qp.setCompositionMode(QPainter::CompositionMode_Source);
+ qp.fillRect(d->imagecache[i]->dirty,d->fillColor);
+ qp.setCompositionMode(prev);
+ }else{
+ qp.fillRect(d->imagecache[i]->dirty,d->fillColor);
+ }
+ }
qp.setClipRect(d->imagecache[i]->dirty);
drawContents(&qp, d->imagecache[i]->dirty);
d->imagecache[i]->dirty = QRect();
diff --git a/src/declarative/fx/qfxtextedit.cpp b/src/declarative/fx/qfxtextedit.cpp
index ce06348..935ccb7 100644
--- a/src/declarative/fx/qfxtextedit.cpp
+++ b/src/declarative/fx/qfxtextedit.cpp
@@ -1053,6 +1053,7 @@ void QFxTextEdit::updateSize()
newWidth += cursorWidth;
if(!d->document->isEmpty())
newWidth += 3;// ### Need a better way of accounting for space between char and cursor
+ // ### Setting the implicitWidth triggers another updateSize(), and unless there are bindings nothing has changed.
setImplicitWidth(newWidth);
setImplicitHeight(d->text.isEmpty() ? fm.height() : (int)d->document->size().height());
diff --git a/src/declarative/qml/qbitfield_p.h b/src/declarative/qml/qbitfield_p.h
new file mode 100644
index 0000000..70d5041
--- /dev/null
+++ b/src/declarative/qml/qbitfield_p.h
@@ -0,0 +1,165 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, 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.0, 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.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QBITFIELD_P_H
+#define QBITFIELD_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/qglobal.h>
+
+QT_BEGIN_NAMESPACE
+
+class QBitField
+{
+public:
+ inline QBitField();
+ inline QBitField(const quint32 *, int bits);
+ inline QBitField(const QBitField &);
+ inline ~QBitField();
+
+ inline QBitField &operator=(const QBitField &);
+
+ inline quint32 size() const;
+ inline QBitField united(const QBitField &);
+ inline bool testBit(int) const;
+
+private:
+ quint32 bits:31;
+ quint32 *ownData;
+ const quint32 *data;
+};
+
+QBitField::QBitField()
+: bits(0), ownData(0), data(0)
+{
+}
+
+QBitField::QBitField(const quint32 *bitData, int bitCount)
+: bits((quint32)bitCount), ownData(0), data(bitData)
+{
+}
+
+QBitField::QBitField(const QBitField &other)
+: bits(other.bits), ownData(other.ownData), data(other.data)
+{
+ if (ownData)
+ ++(*ownData);
+}
+
+QBitField::~QBitField()
+{
+ if (ownData)
+ if(0 == --(*ownData)) delete [] ownData;
+}
+
+QBitField &QBitField::operator=(const QBitField &other)
+{
+ if (other.data == data)
+ return *this;
+
+ if (ownData)
+ if(0 == --(*ownData)) delete [] ownData;
+
+ bits = other.bits;
+ ownData = other.ownData;
+ data = other.data;
+
+ if (ownData)
+ ++(*ownData);
+
+ return *this;
+}
+
+inline quint32 QBitField::size() const
+{
+ return bits;
+}
+
+QBitField QBitField::united(const QBitField &o)
+{
+ if (o.bits == 0) {
+ return *this;
+ } else if (bits == 0) {
+ return o;
+ } else {
+ int max = (bits > o.bits)?bits:o.bits;
+ int length = (max + 31) / 32;
+ QBitField rv;
+ rv.bits = max;
+ rv.ownData = new quint32[length + 1];
+ *(rv.ownData) = 1;
+ rv.data = rv.ownData + 1;
+ if (bits > o.bits) {
+ ::memcpy((quint32 *)rv.data, data, length * sizeof(quint32));
+ for (quint32 ii = 0; ii < (o.bits + 31) / 32; ++ii)
+ ((quint32 *)rv.data)[ii] |= o.data[ii];
+ } else {
+ ::memcpy((quint32 *)rv.data, o.data, length * sizeof(quint32));
+ for (quint32 ii = 0; ii < (bits + 31) / 32; ++ii)
+ ((quint32 *)rv.data)[ii] |= data[ii];
+ }
+ return rv;
+ }
+}
+
+bool QBitField::testBit(int b) const
+{
+ Q_ASSERT(b >= 0);
+ if ((quint32)b < bits) {
+ return data[b / 32] & (1 << (b % 32));
+ } else {
+ return false;
+ }
+}
+
+QT_END_NAMESPACE
+
+#endif // QBITFIELD_P_H
diff --git a/src/declarative/qml/qml.pri b/src/declarative/qml/qml.pri
index b72c019..8349e29 100644
--- a/src/declarative/qml/qml.pri
+++ b/src/declarative/qml/qml.pri
@@ -80,6 +80,7 @@ HEADERS += qml/qmlparser_p.h \
qml/qmlenginedebug_p.h \
qml/qmlrewrite_p.h \
qml/qpodvector_p.h \
+ qml/qbitfield_p.h \
qml/qmlvaluetype_p.h \
qml/qmlbindingoptimizations_p.h \
qml/qmlxmlhttprequest_p.h \
diff --git a/src/declarative/qml/qmlcompileddata.cpp b/src/declarative/qml/qmlcompileddata.cpp
index ffb89b3..b2e2d40 100644
--- a/src/declarative/qml/qmlcompileddata.cpp
+++ b/src/declarative/qml/qmlcompileddata.cpp
@@ -161,7 +161,7 @@ QmlCompiledData::~QmlCompiledData()
}
}
-QObject *QmlCompiledData::TypeReference::createInstance(QmlContext *ctxt) const
+QObject *QmlCompiledData::TypeReference::createInstance(QmlContext *ctxt, const QBitField &bindings) const
{
if (type) {
QObject *rv = type->create();
@@ -170,7 +170,7 @@ QObject *QmlCompiledData::TypeReference::createInstance(QmlContext *ctxt) const
return rv;
} else {
Q_ASSERT(component);
- return component->create(ctxt);
+ return QmlComponentPrivate::get(component)->create(ctxt, bindings);
}
}
diff --git a/src/declarative/qml/qmlcompiler.cpp b/src/declarative/qml/qmlcompiler.cpp
index 053c6f8..02cd813 100644
--- a/src/declarative/qml/qmlcompiler.cpp
+++ b/src/declarative/qml/qmlcompiler.cpp
@@ -645,12 +645,10 @@ void QmlCompiler::compileTree(Object *tree)
output->imports = unit->imports;
- if (tree->metatype) {
- static_cast<QMetaObject &>(output->root) = *tree->metaObject();
+ Q_ASSERT(tree->metatype);
+ static_cast<QMetaObject &>(output->root) = *tree->metaObject();
+ if (!tree->metadata.isEmpty())
QmlEnginePrivate::get(engine)->registerCompositeType(output);
- } else {
- static_cast<QMetaObject &>(output->root) = *output->types.at(tree->type).metaObject();
- }
}
bool QmlCompiler::buildObject(Object *obj, const BindingContext &ctxt)
@@ -791,6 +789,15 @@ void QmlCompiler::genObject(QmlParser::Object *obj)
if (!obj->custom.isEmpty())
create.create.data = output->indexForByteArray(obj->custom);
create.create.type = obj->type;
+ if (!output->types.at(create.create.type).type &&
+ !obj->bindingBitmask.isEmpty()) {
+ while (obj->bindingBitmask.size() % 4)
+ obj->bindingBitmask.append(char(0));
+ create.create.bindingBits =
+ output->indexForByteArray(obj->bindingBitmask);
+ } else {
+ create.create.bindingBits = -1;
+ }
output->bytecode << create;
// Setup the synthesized meta object if necessary
@@ -1236,6 +1243,9 @@ bool QmlCompiler::buildProperty(QmlParser::Property *prop,
}
}
+ if (prop->index != -1)
+ prop->parent->setBindingBit(prop->index);
+
if (!prop->isDefault && prop->name == "id" && !ctxt.isSubContext()) {
// The magic "id" behavior doesn't apply when "id" is resolved as a
@@ -2032,7 +2042,7 @@ bool QmlCompiler::buildDynamicMeta(QmlParser::Object *obj, DynamicMetaMode mode)
builder.addSignal(p.name + "Changed()");
QMetaPropertyBuilder propBuilder =
- builder.addProperty(p.name, type, ii);
+ builder.addProperty(p.name, type, builder.methodCount() - 1);
propBuilder.setScriptable(true);
propBuilder.setWritable(!readonly);
}
@@ -2157,7 +2167,10 @@ bool QmlCompiler::compileAlias(QMetaObjectBuilder &builder,
data.append((const char *)&propIdx, sizeof(propIdx));
builder.addSignal(prop.name + "Changed()");
- builder.addProperty(prop.name, aliasProperty.typeName(), builder.methodCount() - 1);
+ QMetaPropertyBuilder propBuilder =
+ builder.addProperty(prop.name, aliasProperty.typeName(),
+ builder.methodCount() - 1);
+ propBuilder.setScriptable(true);
return true;
}
diff --git a/src/declarative/qml/qmlcompiler_p.h b/src/declarative/qml/qmlcompiler_p.h
index 7f5e98f..00637e3 100644
--- a/src/declarative/qml/qmlcompiler_p.h
+++ b/src/declarative/qml/qmlcompiler_p.h
@@ -61,6 +61,7 @@
#include <private/qmlcompositetypemanager_p.h>
#include <private/qmlparser_p.h>
#include <private/qmlengine_p.h>
+#include <private/qbitfield_p.h>
QT_BEGIN_NAMESPACE
@@ -88,7 +89,7 @@ public:
QmlComponent *component;
QmlRefCount *ref;
- QObject *createInstance(QmlContext *) const;
+ QObject *createInstance(QmlContext *, const QBitField &) const;
const QMetaObject *metaObject() const;
};
QList<TypeReference> types;
diff --git a/src/declarative/qml/qmlcomponent.cpp b/src/declarative/qml/qmlcomponent.cpp
index 1c35606..fedc2da 100644
--- a/src/declarative/qml/qmlcomponent.cpp
+++ b/src/declarative/qml/qmlcomponent.cpp
@@ -437,15 +437,22 @@ QObject *QmlComponent::create(QmlContext *context)
{
Q_D(QmlComponent);
+ return d->create(context, QBitField());
+}
+
+QObject *QmlComponentPrivate::create(QmlContext *context,
+ const QBitField &bindings)
+{
+ QObject *create(QmlContext *context, const QBitField &);
if (!context)
- context = d->engine->rootContext();
+ context = engine->rootContext();
- if (context->engine() != d->engine) {
+ if (context->engine() != engine) {
qWarning("QmlComponent::create(): Must create component in context from the same QmlEngine");
return 0;
}
- QObject *rv = beginCreate(context);
+ QObject *rv = beginCreate(context, bindings);
completeCreate();
return rv;
}
@@ -476,51 +483,57 @@ QObject *QmlComponent::create(QmlContext *context)
QObject *QmlComponent::beginCreate(QmlContext *context)
{
Q_D(QmlComponent);
+ return d->beginCreate(context, QBitField());
+}
+QObject *
+QmlComponentPrivate::beginCreate(QmlContext *context, const QBitField &bindings)
+{
+ Q_Q(QmlComponent);
if (!context) {
qWarning("QmlComponent::beginCreate(): Cannot create a component in a null context");
return 0;
}
- if (context->engine() != d->engine) {
+ if (context->engine() != engine) {
qWarning("QmlComponent::beginCreate(): Must create component in context from the same QmlEngine");
return 0;
}
- if (d->completePending) {
+ if (completePending) {
qWarning("QmlComponent: Cannot create new component instance before completing the previous");
return 0;
}
- if (!isReady()) {
+ if (!q->isReady()) {
qWarning("QmlComponent: Component is not ready");
return 0;
}
- if (!QmlEnginePrivate::get(d->engine)->rootComponent)
- QmlEnginePrivate::get(d->engine)->rootComponent = this;
+ if (!QmlEnginePrivate::get(engine)->rootComponent)
+ QmlEnginePrivate::get(engine)->rootComponent = q;
QmlContextPrivate *contextPriv =
static_cast<QmlContextPrivate *>(QObjectPrivate::get(context));
QmlContext *ctxt = new QmlContext(context, 0, true);
- static_cast<QmlContextPrivate*>(ctxt->d_func())->url = d->cc->url;
- static_cast<QmlContextPrivate*>(ctxt->d_func())->imports = d->cc->imports;
+ static_cast<QmlContextPrivate*>(ctxt->d_func())->url = cc->url;
+ static_cast<QmlContextPrivate*>(ctxt->d_func())->imports = cc->imports;
QmlVME vme;
- QObject *rv = vme.run(ctxt, d->cc, d->start, d->count);
+ QObject *rv = vme.run(ctxt, cc, start, count, bindings);
if (vme.isError())
- d->errors = vme.errors();
+ errors = vme.errors();
- QmlEnginePrivate *ep = QmlEnginePrivate::get(d->engine);
- if (ep->rootComponent == this) {
+ QmlEnginePrivate *ep = QmlEnginePrivate::get(engine);
+ if (ep->rootComponent == q) {
ep->rootComponent = 0;
- d->bindValues = ep->bindValues;
- d->parserStatus = ep->parserStatus;
+ bindValues = ep->bindValues;
+ parserStatus = ep->parserStatus;
ep->bindValues.clear();
ep->parserStatus.clear();
- d->completePending = true;
+ completePending = true;
}
if (rv) {
@@ -544,14 +557,19 @@ QObject *QmlComponent::beginCreate(QmlContext *context)
void QmlComponent::completeCreate()
{
Q_D(QmlComponent);
- if (d->completePending) {
+ d->completeCreate();
+}
+
+void QmlComponentPrivate::completeCreate()
+{
+ if (completePending) {
{
#ifdef Q_ENABLE_PERFORMANCE_LOG
QFxPerfTimer<QFxPerf::BindInit> bi;
#endif
- for (int ii = 0; ii < d->bindValues.count(); ++ii) {
+ for (int ii = 0; ii < bindValues.count(); ++ii) {
QmlEnginePrivate::SimpleList<QmlAbstractBinding> bv =
- d->bindValues.at(ii);
+ bindValues.at(ii);
for (int jj = 0; jj < bv.count; ++jj) {
if(bv.at(jj))
bv.at(jj)->setEnabled(true);
@@ -560,9 +578,9 @@ void QmlComponent::completeCreate()
}
}
- for (int ii = 0; ii < d->parserStatus.count(); ++ii) {
+ for (int ii = 0; ii < parserStatus.count(); ++ii) {
QmlEnginePrivate::SimpleList<QmlParserStatus> ps =
- d->parserStatus.at(ii);
+ parserStatus.at(ii);
for (int jj = 0; jj < ps.count; ++jj) {
QmlParserStatus *status = ps.at(jj);
@@ -574,9 +592,9 @@ void QmlComponent::completeCreate()
QmlEnginePrivate::clear(ps);
}
- d->bindValues.clear();
- d->parserStatus.clear();
- d->completePending = false;
+ bindValues.clear();
+ parserStatus.clear();
+ completePending = false;
}
}
diff --git a/src/declarative/qml/qmlcomponent.h b/src/declarative/qml/qmlcomponent.h
index af250e5..c6924e3 100644
--- a/src/declarative/qml/qmlcomponent.h
+++ b/src/declarative/qml/qmlcomponent.h
@@ -106,7 +106,7 @@ private:
QmlComponent(QmlEngine *, QmlCompiledData *, int, int, QObject *parent);
friend class QmlVME;
- friend struct QmlCompositeTypeData;
+ friend class QmlCompositeTypeData;
};
QT_END_NAMESPACE
diff --git a/src/declarative/qml/qmlcomponent_p.h b/src/declarative/qml/qmlcomponent_p.h
index 2b25b78..2d0c77f 100644
--- a/src/declarative/qml/qmlcomponent_p.h
+++ b/src/declarative/qml/qmlcomponent_p.h
@@ -59,6 +59,7 @@
#include <private/qobject_p.h>
#include <private/qmlengine_p.h>
#include <private/qmlcompositetypemanager_p.h>
+#include <private/qbitfield_p.h>
#include <QtDeclarative/qmlerror.h>
#include <QtDeclarative/qmlcomponent.h>
#include <QtDeclarative/qml.h>
@@ -76,6 +77,11 @@ class QmlComponentPrivate : public QObjectPrivate
public:
QmlComponentPrivate() : typeData(0), progress(0.), start(-1), count(-1), cc(0), completePending(false), engine(0) {}
+
+ QObject *create(QmlContext *context, const QBitField &);
+ QObject *beginCreate(QmlContext *, const QBitField &);
+ void completeCreate();
+
QmlCompositeTypeData *typeData;
void typeDataReady();
void updateProgress(qreal);
@@ -98,6 +104,10 @@ public:
QmlEngine *engine;
void clear();
+
+ static QmlComponentPrivate *get(QmlComponent *c) {
+ return static_cast<QmlComponentPrivate *>(QObjectPrivate::get(c));
+ }
};
QT_END_NAMESPACE
diff --git a/src/declarative/qml/qmlcompositetypedata_p.h b/src/declarative/qml/qmlcompositetypedata_p.h
index 044b4ca..48c6c2b 100644
--- a/src/declarative/qml/qmlcompositetypedata_p.h
+++ b/src/declarative/qml/qmlcompositetypedata_p.h
@@ -58,12 +58,13 @@
QT_BEGIN_NAMESPACE
-struct QmlCompositeTypeData : public QmlRefCount
+class QmlCompositeTypeData : public QmlRefCount
{
+public:
QmlCompositeTypeData();
virtual ~QmlCompositeTypeData();
- enum Status {
+ enum Status {
Invalid,
Complete,
Error,
@@ -83,8 +84,8 @@ struct QmlCompositeTypeData : public QmlRefCount
QList<QmlCompositeTypeData *> dependants;
- // Return a QmlComponent if the QmlCompositeTypeData is not in the Waiting
- // state. The QmlComponent is owned by the QmlCompositeTypeData, so a
+ // Return a QmlComponent if the QmlCompositeTypeData is not in the Waiting
+ // state. The QmlComponent is owned by the QmlCompositeTypeData, so a
// reference should be kept to keep the QmlComponent alive.
QmlComponent *toComponent(QmlEngine *);
// Return a QmlCompiledData if possible, or 0 if an error
@@ -101,7 +102,7 @@ struct QmlCompositeTypeData : public QmlRefCount
QList<TypeReference> types;
- // Add or remove p as a waiter. When the QmlCompositeTypeData becomes
+ // Add or remove p as a waiter. When the QmlCompositeTypeData becomes
// ready, the QmlComponentPrivate::typeDataReady() method will be invoked on
// p. The waiter is automatically removed when the typeDataReady() method
// is invoked, so there is no need to call remWaiter() in this case.
diff --git a/src/declarative/qml/qmlcompositetypemanager_p.h b/src/declarative/qml/qmlcompositetypemanager_p.h
index 41cbe80..8f16998 100644
--- a/src/declarative/qml/qmlcompositetypemanager_p.h
+++ b/src/declarative/qml/qmlcompositetypemanager_p.h
@@ -66,7 +66,7 @@ class QmlComponentPrivate;
class QmlComponent;
class QmlDomDocument;
-struct QmlCompositeTypeData;
+class QmlCompositeTypeData;
class QmlCompositeTypeManager : public QObject
{
diff --git a/src/declarative/qml/qmlcontext.h b/src/declarative/qml/qmlcontext.h
index 65d711c..03baafa 100644
--- a/src/declarative/qml/qmlcontext.h
+++ b/src/declarative/qml/qmlcontext.h
@@ -90,6 +90,7 @@ private:
friend class QmlContextScriptClass;
friend class QmlObjectScriptClass;
friend class QmlComponent;
+ friend class QmlComponentPrivate;
friend class QmlScriptPrivate;
friend class QmlBoundSignalProxy;
QmlContext(QmlContext *parent, QObject *objParent, bool);
diff --git a/src/declarative/qml/qmlinstruction_p.h b/src/declarative/qml/qmlinstruction_p.h
index 3c6af1b..2c9ceac 100644
--- a/src/declarative/qml/qmlinstruction_p.h
+++ b/src/declarative/qml/qmlinstruction_p.h
@@ -170,6 +170,7 @@ public:
struct {
int type;
int data;
+ int bindingBits;
ushort column;
} create;
struct {
diff --git a/src/declarative/qml/qmlparser.cpp b/src/declarative/qml/qmlparser.cpp
index 40cdd11..39fe1e2 100644
--- a/src/declarative/qml/qmlparser.cpp
+++ b/src/declarative/qml/qmlparser.cpp
@@ -84,6 +84,15 @@ QmlParser::Object::~Object()
if (prop.defaultValue) prop.defaultValue->release();
}
+void Object::setBindingBit(int b)
+{
+ while (bindingBitmask.size() < 4 * (1 + b / 32))
+ bindingBitmask.append(char(0));
+
+ quint32 *bits = (quint32 *)bindingBitmask.data();
+ bits[b / 32] |= (1 << (b % 32));
+}
+
const QMetaObject *Object::metaObject() const
{
if (!metadata.isEmpty() && metatype)
diff --git a/src/declarative/qml/qmlparser_p.h b/src/declarative/qml/qmlparser_p.h
index 65223f4..e0579b0 100644
--- a/src/declarative/qml/qmlparser_p.h
+++ b/src/declarative/qml/qmlparser_p.h
@@ -130,6 +130,9 @@ namespace QmlParser
int idIndex;
// Custom parsed data
QByteArray custom;
+ // Bit mask of the properties assigned bindings
+ QByteArray bindingBitmask;
+ void setBindingBit(int);
// Returns the metaobject for this type, or 0 if not available.
// Internally selectd between the metatype and extObject variables
const QMetaObject *metaObject() const;
diff --git a/src/declarative/qml/qmlparserstatus.h b/src/declarative/qml/qmlparserstatus.h
index f754227..88ed865 100644
--- a/src/declarative/qml/qmlparserstatus.h
+++ b/src/declarative/qml/qmlparserstatus.h
@@ -62,6 +62,7 @@ public:
private:
friend class QmlVME;
friend class QmlComponent;
+ friend class QmlComponentPrivate;
friend class QmlEnginePrivate;
QmlParserStatus **d;
};
diff --git a/src/declarative/qml/qmlscriptparser.cpp b/src/declarative/qml/qmlscriptparser.cpp
index 09efc90..c126830 100644
--- a/src/declarative/qml/qmlscriptparser.cpp
+++ b/src/declarative/qml/qmlscriptparser.cpp
@@ -769,6 +769,13 @@ bool ProcessAST::visit(AST::UiSourceElement *node)
} else if (AST::VariableStatement *varStmt = AST::cast<AST::VariableStatement *>(node->sourceElement)) {
// ignore variable declarations
line = varStmt->declarationKindToken.startLine;
+
+ QmlError error;
+ error.setDescription(QCoreApplication::translate("QmlParser", "Variable declarations not allow in inline Script blocks"));
+ error.setLine(node->firstSourceLocation().startLine);
+ error.setColumn(node->firstSourceLocation().startColumn);
+ _parser->_errors << error;
+ return false;
}
Value *value = new Value;
diff --git a/src/declarative/qml/qmlsqldatabase.cpp b/src/declarative/qml/qmlsqldatabase.cpp
index 5869a56..b132c55 100644
--- a/src/declarative/qml/qmlsqldatabase.cpp
+++ b/src/declarative/qml/qmlsqldatabase.cpp
@@ -46,6 +46,7 @@
#include <QtScript/qscriptvalueiterator.h>
#include <QtScript/qscriptcontext.h>
#include <QtScript/qscriptengine.h>
+#include <QtScript/qscriptclasspropertyiterator.h>
#include <QtSql/qsqldatabase.h>
#include <QtSql/qsqlquery.h>
#include <QtSql/qsqlerror.h>
@@ -62,12 +63,14 @@
Q_DECLARE_METATYPE(QSqlDatabase)
Q_DECLARE_METATYPE(QSqlQuery)
+class QmlSqlQueryScriptClassPropertyIterator;
+
class QmlSqlQueryScriptClass: public QScriptClass {
public:
QmlSqlQueryScriptClass(QScriptEngine *engine) : QScriptClass(engine)
{
str_length = engine->toStringHandle(QLatin1String("length"));
- str_forwardOnly = engine->toStringHandle(QLatin1String("forwardOnly")); // not in HTML5 (optimization)
+ str_forwardOnly = engine->toStringHandle(QLatin1String("forwardOnly")); // not in HTML5 (an optimization)
}
QueryFlags queryProperty(const QScriptValue &object,
@@ -112,12 +115,11 @@ public:
} else if (name == str_forwardOnly) {
return query.isForwardOnly();
} else {
- if (query.at() == id || query.seek(id)) { // Qt 4.6 doesn't optimize at()==id
+ if ((uint)query.at() == id || query.seek(id)) { // Qt 4.6 doesn't optimize seek(at())
QSqlRecord r = query.record();
- QScriptValue row = engine()->newArray(r.count());
+ QScriptValue row = engine()->newObject();
for (int j=0; j<r.count(); ++j) {
- // XXX only strings
- row.setProperty(j, QScriptValue(engine(),r.value(j).toString()));
+ row.setProperty(r.fieldName(j), QScriptValue(engine(),r.value(j).toString())); // XXX only strings
}
return row;
}
@@ -134,11 +136,108 @@ public:
}
}
+ QScriptValue::PropertyFlags propertyFlags(const QScriptValue &/*object*/, const QScriptString &name, uint /*id*/)
+ {
+ if (name == str_length) {
+ return QScriptValue::Undeletable
+ | QScriptValue::SkipInEnumeration;
+ }
+ return QScriptValue::Undeletable;
+ }
+
+ QScriptClassPropertyIterator *newIterator(const QScriptValue &object);
+
private:
QScriptString str_length;
QScriptString str_forwardOnly;
};
+class QmlSqlQueryScriptClassPropertyIterator : public QScriptClassPropertyIterator
+{
+public:
+ QmlSqlQueryScriptClassPropertyIterator(const QScriptValue &object)
+ : QScriptClassPropertyIterator(object)
+ {
+ toFront();
+ }
+
+ ~QmlSqlQueryScriptClassPropertyIterator()
+ {
+ }
+
+ bool hasNext() const
+ {
+ QSqlQuery query = qscriptvalue_cast<QSqlQuery>(object().data());
+ return query.at() == m_index || query.seek(m_index); // Qt 4.6 doesn't optimize seek(at())
+ }
+
+ void next()
+ {
+ m_last = m_index;
+ ++m_index;
+ }
+
+ bool hasPrevious() const
+ {
+ return (m_index > 0);
+ }
+
+ void previous()
+ {
+ --m_index;
+ m_last = m_index;
+ }
+
+ void toFront()
+ {
+ m_index = 0;
+ m_last = -1;
+ }
+
+ void toBack()
+ {
+ QSqlQuery query = qscriptvalue_cast<QSqlQuery>(object().data());
+ m_index = query.size();
+ m_last = -1;
+ }
+
+ QScriptString name() const
+ {
+ return object().engine()->toStringHandle(QString::number(m_last));
+ }
+
+ uint id() const
+ {
+ return m_last;
+ }
+
+private:
+ int m_index;
+ int m_last;
+};
+
+QScriptClassPropertyIterator *QmlSqlQueryScriptClass::newIterator(const QScriptValue &object)
+{
+ return new QmlSqlQueryScriptClassPropertyIterator(object);
+}
+
+
+
+static QScriptValue qmlsqldatabase_item(QScriptContext *context, QScriptEngine *engine)
+{
+ QSqlQuery query = qscriptvalue_cast<QSqlQuery>(context->thisObject().data());
+ int i = context->argument(0).toNumber();
+ if (query.at() == i || query.seek(i)) { // Qt 4.6 doesn't optimize seek(at())
+ QSqlRecord r = query.record();
+ QScriptValue row = engine->newObject();
+ for (int j=0; j<r.count(); ++j) {
+ row.setProperty(r.fieldName(j), QScriptValue(engine,r.value(j).toString()));
+ }
+ return row;
+ }
+ return engine->undefinedValue();
+}
+
static QScriptValue qmlsqldatabase_executeSql(QScriptContext *context, QScriptEngine *engine)
{
QSqlDatabase db = qscriptvalue_cast<QSqlDatabase>(context->thisObject());
@@ -163,6 +262,7 @@ static QScriptValue qmlsqldatabase_executeSql(QScriptContext *context, QScriptEn
QmlEnginePrivate::get(engine)->sqlQueryClass= new QmlSqlQueryScriptClass(engine);
QScriptValue rows = engine->newObject(QmlEnginePrivate::get(engine)->sqlQueryClass);
rows.setData(engine->newVariant(qVariantFromValue(query)));
+ rows.setProperty(QLatin1String("item"), engine->newFunction(qmlsqldatabase_item,1), QScriptValue::SkipInEnumeration);
rs.setProperty(QLatin1String("rows"),rows);
rs.setProperty(QLatin1String("rowsAffected"),query.numRowsAffected());
rs.setProperty(QLatin1String("insertId"),query.lastInsertId().toString()); // XXX only string
@@ -234,7 +334,7 @@ static QScriptValue qmlsqldatabase_open(QScriptContext *context, QScriptEngine *
database = QSqlDatabase::addDatabase(QLatin1String("QSQLITE"), dbid);
}
if (!database.isOpen()) {
- QString basename = QmlEnginePrivate::get(engine)->offlineStoragePath + "/Databases/";
+ QString basename = QmlEnginePrivate::get(engine)->offlineStoragePath + QLatin1String("/Databases/");
QDir().mkpath(basename);
basename += dbid;
database.setDatabaseName(basename+QLatin1String(".sqllite"));
@@ -257,3 +357,9 @@ void qt_add_qmlsqldatabase(QScriptEngine *engine)
engine->globalObject().setProperty(QLatin1String("openDatabase"), openDatabase);
}
+/*
+HTML5 "spec" says "rs.rows[n]", but WebKit only impelments "rs.rows.item(n)". We do both (and property iterator).
+We add a "forwardOnly" property that stops Qt caching results (code promises to only go forward
+through the data.
+*/
+
diff --git a/src/declarative/qml/qmlvme.cpp b/src/declarative/qml/qmlvme.cpp
index 606a732..e266a91 100644
--- a/src/declarative/qml/qmlvme.cpp
+++ b/src/declarative/qml/qmlvme.cpp
@@ -100,14 +100,16 @@ struct ListInstance
QmlPrivate::ListInterface *qmlListInterface;
};
-QObject *QmlVME::run(QmlContext *ctxt, QmlCompiledData *comp, int start, int count)
+QObject *QmlVME::run(QmlContext *ctxt, QmlCompiledData *comp,
+ int start, int count,
+ const QBitField &bindingSkipList)
{
QStack<QObject *> stack;
if (start == -1) start = 0;
if (count == -1) count = comp->bytecode.count();
- return run(stack, ctxt, comp, start, count);
+ return run(stack, ctxt, comp, start, count, bindingSkipList);
}
void QmlVME::runDeferred(QObject *object)
@@ -124,10 +126,14 @@ void QmlVME::runDeferred(QObject *object)
QStack<QObject *> stack;
stack.push(object);
- run(stack, ctxt, comp, start, count);
+ run(stack, ctxt, comp, start, count, QBitField());
}
-QObject *QmlVME::run(QStack<QObject *> &stack, QmlContext *ctxt, QmlCompiledData *comp, int start, int count)
+QBitField bindingSkipList;
+QObject *QmlVME::run(QStack<QObject *> &stack, QmlContext *ctxt,
+ QmlCompiledData *comp,
+ int start, int count,
+ const QBitField &bindingSkipList)
{
Q_ASSERT(comp);
Q_ASSERT(ctxt);
@@ -166,7 +172,17 @@ QObject *QmlVME::run(QStack<QObject *> &stack, QmlContext *ctxt, QmlCompiledData
case QmlInstruction::CreateObject:
{
- QObject *o = types.at(instr.create.type).createInstance(ctxt);
+ QBitField bindings;
+ if (instr.create.bindingBits != -1) {
+ const QByteArray &bits = datas.at(instr.create.bindingBits);
+ bindings = QBitField((const quint32*)bits.constData(),
+ bits.size() * 8);
+ }
+ if (stack.isEmpty())
+ bindings = bindings.united(bindingSkipList);
+
+ QObject *o =
+ types.at(instr.create.type).createInstance(ctxt, bindings);
if (!o) {
if(types.at(instr.create.type).component)
vmeErrors << types.at(instr.create.type).component->errors();
@@ -562,6 +578,11 @@ QObject *QmlVME::run(QStack<QObject *> &stack, QmlContext *ctxt, QmlCompiledData
QmlMetaProperty mp;
mp.restore(instr.assignBinding.property, target, ctxt);
+ int coreIndex = mp.coreIndex();
+
+ if (stack.count() == 1 && bindingSkipList.testBit(coreIndex))
+ break;
+
QmlBinding *bind = new QmlBinding((void *)datas.at(instr.assignBinding.value).constData(), comp, context, ctxt, 0);
bindValues.append(bind);
bind->m_mePtr = &bindValues.values[bindValues.count - 1];
@@ -572,6 +593,10 @@ QObject *QmlVME::run(QStack<QObject *> &stack, QmlContext *ctxt, QmlCompiledData
case QmlInstruction::StoreIdOptBinding:
{
+ int coreIndex = instr.assignIdOptBinding.property;
+ if (stack.count() == 1 && bindingSkipList.testBit(coreIndex))
+ break;
+
QObject *target = stack.top();
QmlBinding_Id *bind =
@@ -585,6 +610,10 @@ QObject *QmlVME::run(QStack<QObject *> &stack, QmlContext *ctxt, QmlCompiledData
case QmlInstruction::StoreObjPropBinding:
{
+ int coreIndex = instr.assignObjPropBinding.property;
+ if (stack.count() == 1 && bindingSkipList.testBit(coreIndex))
+ break;
+
QObject *target = stack.top();
QObject *context =
stack.at(stack.count() - 1 - instr.assignObjPropBinding.context);
diff --git a/src/declarative/qml/qmlvme_p.h b/src/declarative/qml/qmlvme_p.h
index 30a6e4f..38ba06f 100644
--- a/src/declarative/qml/qmlvme_p.h
+++ b/src/declarative/qml/qmlvme_p.h
@@ -56,6 +56,7 @@
#include <QtCore/QString>
#include <QtCore/QStack>
#include <QtDeclarative/qmlerror.h>
+#include <private/qbitfield_p.h>
QT_BEGIN_NAMESPACE
@@ -70,14 +71,17 @@ class QmlVME
public:
QmlVME();
- QObject *run(QmlContext *, QmlCompiledData *, int start = -1, int count = -1);
+ QObject *run(QmlContext *, QmlCompiledData *,
+ int start = -1, int count = -1,
+ const QBitField & = QBitField());
void runDeferred(QObject *);
bool isError() const;
QList<QmlError> errors() const;
private:
- QObject *run(QStack<QObject *> &, QmlContext *, QmlCompiledData *, int start, int count);
+ QObject *run(QStack<QObject *> &, QmlContext *, QmlCompiledData *,
+ int start, int count, const QBitField &);
QList<QmlError> vmeErrors;
};
diff --git a/src/declarative/util/qmlpropertychanges.cpp b/src/declarative/util/qmlpropertychanges.cpp
index 1fe1731..a5a08bc 100644
--- a/src/declarative/util/qmlpropertychanges.cpp
+++ b/src/declarative/util/qmlpropertychanges.cpp
@@ -80,6 +80,44 @@ QT_BEGIN_NAMESPACE
This property holds the object that the properties to change belong to
*/
+class QmlReplaceSignalHandler : public ActionEvent
+{
+public:
+ QmlReplaceSignalHandler() : expression(0), reverseExpression(0), ownedExpression(0) {}
+ ~QmlReplaceSignalHandler() {
+ delete ownedExpression;
+ }
+
+ virtual QString typeName() const { return QLatin1String("ReplaceSignalHandler"); }
+
+ QmlMetaProperty property;
+ QmlExpression *expression;
+ QmlExpression *reverseExpression;
+ QmlExpression *ownedExpression;
+
+ virtual void execute() {
+ ownedExpression = property.setSignalExpression(expression);
+ }
+
+ virtual bool isReversable() { return true; }
+ virtual void reverse() {
+ ownedExpression = property.setSignalExpression(reverseExpression);
+ }
+
+ virtual void saveOriginals() { reverseExpression = property.signalExpression(); }
+
+ virtual bool override(ActionEvent*other) {
+ if (other == this)
+ return true;
+ if (other->typeName() != typeName())
+ return false;
+ if (static_cast<QmlReplaceSignalHandler*>(other)->property == property)
+ return true;
+ return false;
+ }
+};
+
+
class QmlPropertyChangesPrivate : public QObjectPrivate
{
Q_DECLARE_PUBLIC(QmlPropertyChanges)
@@ -97,6 +135,7 @@ public:
QList<QPair<QByteArray, QVariant> > properties;
QList<QPair<QByteArray, QmlExpression *> > expressions;
+ QList<QmlReplaceSignalHandler*> signalReplacements;
QmlMetaProperty property(const QByteArray &);
};
@@ -193,13 +232,15 @@ void QmlPropertyChangesPrivate::decode()
if (isScript) {
QmlMetaProperty prop = property(name); //### can we avoid or reuse?
- if (prop.type() != QmlMetaProperty::SignalProperty) { //binding
- QmlExpression *expression = new QmlExpression(qmlContext(q), data.toString(), object);
- expression->setTrackChange(false);
+ QmlExpression *expression = new QmlExpression(qmlContext(q), data.toString(), object);
+ expression->setTrackChange(false);
+ if (prop.type() == QmlMetaProperty::SignalProperty) {
+ QmlReplaceSignalHandler *handler = new QmlReplaceSignalHandler;
+ handler->property = prop;
+ handler->expression = expression;
+ signalReplacements << handler;
+ } else
expressions << qMakePair(name, expression);
- } else {
- properties << qMakePair(name, data); //same as non-script
- }
} else {
properties << qMakePair(name, data);
}
@@ -228,6 +269,9 @@ QmlPropertyChanges::~QmlPropertyChanges()
Q_D(QmlPropertyChanges);
for(int ii = 0; ii < d->expressions.count(); ++ii)
delete d->expressions.at(ii).second;
+ for(int ii = 0; ii < d->signalReplacements.count(); ++ii)
+ delete d->signalReplacements.at(ii);
+
}
QObject *QmlPropertyChanges::object() const
@@ -295,6 +339,17 @@ QmlPropertyChanges::ActionList QmlPropertyChanges::actions()
}
}
+ for (int ii = 0; ii < d->signalReplacements.count(); ++ii) {
+
+ QmlReplaceSignalHandler *handler = d->signalReplacements.at(ii);
+
+ if (handler->property.isValid()) {
+ Action a;
+ a.event = handler;
+ list << a;
+ }
+ }
+
for (int ii = 0; ii < d->expressions.count(); ++ii) {
QByteArray property = d->expressions.at(ii).first;
diff --git a/src/declarative/util/qmlstate.cpp b/src/declarative/util/qmlstate.cpp
index da7d429..3c85db7 100644
--- a/src/declarative/util/qmlstate.cpp
+++ b/src/declarative/util/qmlstate.cpp
@@ -360,8 +360,8 @@ void QmlState::apply(QmlStateGroup *group, QmlTransition *trans, QmlState *rever
}
}
if (!found)
- action.event->saveForwardBindings();
- //### do we ever need to do saveForwardBindings when found == true?
+ action.event->saveOriginals();
+ //### do we ever need to do saveOriginals when found == true?
} else {
action.fromBinding = action.property.binding();
diff --git a/src/declarative/util/qmlstate.h b/src/declarative/util/qmlstate.h
index 255051f..50128c0 100644
--- a/src/declarative/util/qmlstate.h
+++ b/src/declarative/util/qmlstate.h
@@ -90,12 +90,12 @@ public:
virtual void execute();
virtual bool isReversable();
virtual void reverse();
+ virtual void saveOriginals() {}
//virtual bool hasExtraActions();
virtual QList<Action> extraActions();
virtual bool changesBindings();
- virtual void saveForwardBindings() {}
virtual void clearForwardBindings();
virtual void clearReverseBindings();
virtual bool override(ActionEvent*other);
diff --git a/src/declarative/util/qmlstateoperations.cpp b/src/declarative/util/qmlstateoperations.cpp
index 50f80f6..8673bb2 100644
--- a/src/declarative/util/qmlstateoperations.cpp
+++ b/src/declarative/util/qmlstateoperations.cpp
@@ -557,7 +557,7 @@ bool QmlAnchorChanges::changesBindings()
return true;
}
-void QmlAnchorChanges::saveForwardBindings()
+void QmlAnchorChanges::saveOriginals()
{
Q_D(QmlAnchorChanges);
d->origLeft = d->target->anchors()->left();
diff --git a/src/declarative/util/qmlstateoperations.h b/src/declarative/util/qmlstateoperations.h
index a3943e7..34aec93 100644
--- a/src/declarative/util/qmlstateoperations.h
+++ b/src/declarative/util/qmlstateoperations.h
@@ -159,7 +159,7 @@ public:
virtual bool override(ActionEvent*other);
virtual QList<Action> extraActions();
virtual bool changesBindings();
- virtual void saveForwardBindings();
+ virtual void saveOriginals();
virtual void clearForwardBindings();
virtual void clearReverseBindings();
};
diff --git a/src/declarative/util/qmlview.cpp b/src/declarative/util/qmlview.cpp
index 7cce2da..805612e 100644
--- a/src/declarative/util/qmlview.cpp
+++ b/src/declarative/util/qmlview.cpp
@@ -340,6 +340,8 @@ void QmlView::continueExecute()
d->initialSize.setWidth(d->root->width());
if (d->initialSize.height() <= 0 && d->root->height() > 0)
d->initialSize.setHeight(d->root->height());
+ resize(d->initialSize);
+
if (d->resizable) {
d->root->setWidth(width());
d->root->setHeight(height());
diff --git a/src/src.pro b/src/src.pro
index 40f744b..f7ace8d 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -126,6 +126,7 @@ src_declarative.target = sub-declarative
contains(QT_CONFIG, webkit) {
src_webkit.depends = src_gui src_sql src_network src_xml
contains(QT_CONFIG, phonon):src_webkit.depends += src_phonon
+ contains(QT_CONFIG, declarative):src_declarative.depends += src_webkit
#exists($$QT_SOURCE_TREE/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro): src_webkit.depends += src_javascriptcore
}
contains(QT_CONFIG, qt3support): src_plugins.depends += src_qt3support
diff --git a/tests/auto/declarative/qmlecmascript/data/aliasPropertyAndBinding.qml b/tests/auto/declarative/qmlecmascript/data/aliasPropertyAndBinding.qml
new file mode 100644
index 0000000..6143164
--- /dev/null
+++ b/tests/auto/declarative/qmlecmascript/data/aliasPropertyAndBinding.qml
@@ -0,0 +1,14 @@
+import Qt 4.6
+import Qt.test 1.0
+
+MyQmlObject {
+ property alias c1: MyObject.c1
+ property int c2: 3
+ property int c3: c2
+ objectProperty: Object {
+ id: MyObject
+ property int c1
+ }
+}
+
+
diff --git a/tests/auto/declarative/qmlecmascript/tst_qmlecmascript.cpp b/tests/auto/declarative/qmlecmascript/tst_qmlecmascript.cpp
index 7e6d83b..d5d20b6 100644
--- a/tests/auto/declarative/qmlecmascript/tst_qmlecmascript.cpp
+++ b/tests/auto/declarative/qmlecmascript/tst_qmlecmascript.cpp
@@ -48,6 +48,7 @@ private slots:
void valueTypeFunctions();
void constantsOverrideBindings();
void outerBindingOverridesInnerBinding();
+ void aliasPropertyAndBinding();
void nonExistantAttachedObject();
private:
@@ -140,7 +141,8 @@ void tst_qmlecmascript::methods()
void tst_qmlecmascript::bindingLoop()
{
QmlComponent component(&engine, TEST_FILE("bindingLoop.qml"));
- QTest::ignoreMessage(QtWarningMsg, "QML MyQmlObject (unknown location): Binding loop detected for property \"stringProperty\" ");
+ QString warning = "QML MyQmlObject (" + component.url().toString() + ":9:9) Binding loop detected for property \"stringProperty\" ";
+ QTest::ignoreMessage(QtWarningMsg, warning.toLatin1().constData());
QObject *object = component.create();
QVERIFY(object != 0);
}
@@ -451,6 +453,7 @@ void tst_qmlecmascript::constantsOverrideBindings()
QCOMPARE(object->property("c2").toInt(), 10);
}
+#if 0
// From C++
{
QmlComponent component(&engine, TEST_FILE("constantsOverrideBindings.3.qml"));
@@ -467,6 +470,7 @@ void tst_qmlecmascript::constantsOverrideBindings()
QCOMPARE(object->property("c1").toInt(), 7);
QCOMPARE(object->property("c2").toInt(), 13);
}
+#endif
}
/*
@@ -475,7 +479,8 @@ the original binding to be disabled.
*/
void tst_qmlecmascript::outerBindingOverridesInnerBinding()
{
- QmlComponent component(&engine, TEST_FILE("outerBindingOverridesInnerBinding.qml"));
+ QmlComponent component(&engine,
+ TEST_FILE("outerBindingOverridesInnerBinding.qml"));
MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create());
QVERIFY(object != 0);
@@ -506,6 +511,26 @@ void tst_qmlecmascript::nonExistantAttachedObject()
QVERIFY(object != 0);
}
+/*
+Confirm bindings and alias properties can coexist.
+
+Tests for a regression where the binding would not reevaluate.
+*/
+void tst_qmlecmascript::aliasPropertyAndBinding()
+{
+ QmlComponent component(&engine, TEST_FILE("aliasPropertyAndBinding.qml"));
+ QObject *object = component.create();
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("c2").toInt(), 3);
+ QCOMPARE(object->property("c3").toInt(), 3);
+
+ object->setProperty("c2", QVariant(19));
+
+ QCOMPARE(object->property("c2").toInt(), 19);
+ QCOMPARE(object->property("c3").toInt(), 19);
+}
+
QTEST_MAIN(tst_qmlecmascript)
#include "tst_qmlecmascript.moc"
diff --git a/tests/auto/declarative/sql/data/1-creation.js b/tests/auto/declarative/sql/data/1-creation.js
new file mode 100644
index 0000000..95fa99e
--- /dev/null
+++ b/tests/auto/declarative/sql/data/1-creation.js
@@ -0,0 +1,20 @@
+var db = openDatabase("QmlTestDB", "", "Test database from Qt autotests", 1000000);
+var r="transaction_not_finished";
+
+// Asynchronous in WebKit, so must wait before calling test()
+db.transaction(
+ function(tx) {
+ tx.executeSql('CREATE TABLE IF NOT EXISTS Greeting(salutation TEXT, salutee TEXT)', [],
+ function(tx, rs) { }, function(tx, error) { r="CREATE FAILED: "+error.message });
+ tx.executeSql('INSERT INTO Greeting VALUES(?, ?)', [ 'hello', 'world' ],
+ function(tx, rs) { }, function(tx, error) { r="INSERT FAILED: "+error.message });
+ },
+ function(tx, error) { r="TRANSACTION FAILED: "+error.message },
+ function(tx, result) { if (r=="transaction_not_finished") r="passed" }
+);
+
+
+function test()
+{
+ return r;
+}
diff --git a/tests/auto/declarative/sql/data/2-selection.js b/tests/auto/declarative/sql/data/2-selection.js
new file mode 100644
index 0000000..3acf686
--- /dev/null
+++ b/tests/auto/declarative/sql/data/2-selection.js
@@ -0,0 +1,30 @@
+var db = openDatabase("QmlTestDB", "", "Test database from Qt autotests", 1000000);
+var r=0;
+
+db.transaction(
+ function(tx) {
+ tx.executeSql('INSERT INTO Greeting VALUES(?, ?)', [ 'hello', 'world' ],
+ function(tx, rs) { }, function(tx, error) { if (r==0) r="INSERT 1 FAILED: "+error.message });
+ tx.executeSql('INSERT INTO Greeting VALUES(?, ?)', [ 'hello', 'world' ],
+ function(tx, rs) { }, function(tx, error) { if (r==0) r="INSERT 2 FAILED: "+error.message });
+ tx.executeSql('INSERT INTO Greeting VALUES(?, ?)', [ 'hello', 'world' ],
+ function(tx, rs) { }, function(tx, error) { if (r==0) r="INSERT 3 FAILED: "+error.message });
+ tx.executeSql('SELECT * FROM Greeting', [],
+ function(tx, rs) {
+ if ( rs.rows.length != 4 ) { // 1 from test1, 3 from this test.
+ if (r==0) r = "SELECT RETURNED WRONG VALUE "+rs.rows.length+rs.rows[0]+rs.rows[1]
+ }
+ },
+ function(tx, error) { if (r==0) r="SELECT FAILED: "+error.message }
+ );
+ },
+ function(tx, error) { if (r==0) r="TRANSACTION FAILED: "+error.message },
+ function(tx, result) { if (r==0) r="passed" }
+);
+
+
+function test()
+{
+ if (r == 0) r = "transaction_not_finished";
+ return r;
+}
diff --git a/tests/auto/declarative/sql/data/3-iteration-item-function.js b/tests/auto/declarative/sql/data/3-iteration-item-function.js
new file mode 100644
index 0000000..bad9b82
--- /dev/null
+++ b/tests/auto/declarative/sql/data/3-iteration-item-function.js
@@ -0,0 +1,27 @@
+var db = openDatabase("QmlTestDB", "", "Test database from Qt autotests", 1000000);
+var r=0;
+
+db.transaction(
+ function(tx) {
+ tx.executeSql('SELECT * FROM Greeting', [],
+ function(tx, rs) {
+ var r1=""
+ for(var i = 0; i < rs.rows.length; i++) {
+ r1 += rs.rows.item(i).salutation + ", " + rs.rows.item(i).salutee + ";"
+ }
+ if (r1 != "hello, world;hello, world;hello, world;hello, world;")
+ r = "SELECTED DATA WRONG: "+r1;
+ },
+ function(tx, error) { if (r==0) r="SELECT FAILED: "+error.message }
+ );
+ },
+ function(tx, error) { if (r==0) r="TRANSACTION FAILED: "+error.message },
+ function(tx, result) { if (r==0) r="passed" }
+);
+
+
+function test()
+{
+ if (r == 0) r = "transaction_not_finished";
+ return r;
+}
diff --git a/tests/auto/declarative/sql/data/5-iteration-iterator.js b/tests/auto/declarative/sql/data/5-iteration-iterator.js
new file mode 100644
index 0000000..51f0504
--- /dev/null
+++ b/tests/auto/declarative/sql/data/5-iteration-iterator.js
@@ -0,0 +1,27 @@
+var db = openDatabase("QmlTestDB", "", "Test database from Qt autotests", 1000000);
+var r=0;
+
+db.transaction(
+ function(tx) {
+ tx.executeSql('SELECT * FROM Greeting', [],
+ function(tx, rs) {
+ var r1=""
+ for(var i in rs.rows) {
+ r1 += rs.rows[i].salutation + ", " + rs.rows[i].salutee + ";"
+ }
+ if (r1 != "hello, world;hello, world;hello, world;hello, world;")
+ r = "SELECTED DATA WRONG: "+r1;
+ },
+ function(tx, error) { if (r==0) r="SELECT FAILED: "+error.message }
+ );
+ },
+ function(tx, error) { if (r==0) r="TRANSACTION FAILED: "+error.message },
+ function(tx, result) { if (r==0) r="passed" }
+);
+
+
+function test()
+{
+ if (r == 0) r = "transaction_not_finished";
+ return r;
+}
diff --git a/tests/auto/declarative/sql/data/6-iteration-efficient.js b/tests/auto/declarative/sql/data/6-iteration-efficient.js
new file mode 100644
index 0000000..2222b8a
--- /dev/null
+++ b/tests/auto/declarative/sql/data/6-iteration-efficient.js
@@ -0,0 +1,28 @@
+var db = openDatabase("QmlTestDB", "", "Test database from Qt autotests", 1000000);
+var r=0;
+
+db.transaction(
+ function(tx) {
+ tx.executeSql('SELECT * FROM Greeting', [],
+ function(tx, rs) {
+ var r1=""
+ rs.rows.forwardOnly = true;
+ for(var i=0; rs.rows[i]; ++i) {
+ r1 += rs.rows[i].salutation + ", " + rs.rows[i].salutee + ";"
+ }
+ if (r1 != "hello, world;hello, world;hello, world;hello, world;")
+ r = "SELECTED DATA WRONG: "+r1;
+ },
+ function(tx, error) { if (r==0) r="SELECT FAILED: "+error.message }
+ );
+ },
+ function(tx, error) { if (r==0) r="TRANSACTION FAILED: "+error.message },
+ function(tx, result) { if (r==0) r="passed" }
+);
+
+
+function test()
+{
+ if (r == 0) r = "transaction_not_finished";
+ return r;
+}
diff --git a/tests/auto/declarative/sql/data/README b/tests/auto/declarative/sql/data/README
new file mode 100644
index 0000000..7efca3a
--- /dev/null
+++ b/tests/auto/declarative/sql/data/README
@@ -0,0 +1,3 @@
+These tests are executed in sequence - the database persist until the end of the
+testing. This is done to better exercise the persistence of the database, since
+that is how it is used.
diff --git a/tests/auto/declarative/sql/data/test1.js b/tests/auto/declarative/sql/data/test1.js
deleted file mode 100644
index 2ae9988..0000000
--- a/tests/auto/declarative/sql/data/test1.js
+++ /dev/null
@@ -1,18 +0,0 @@
-var db;
-db = openDatabase("QmlTestDB", "", "Test database from Qt autotests", 1000000);
-var r="testerror";
-
-// Asynchronous in WebKit, so must wait before calling test()
-db.transaction(function(tx) {
- r = "passed";
- tx.executeSql('CREATE TABLE IF NOT EXISTS Greeting(salutation TEXT, salutee TEXT)', [],
- function(tx, rs) { }, function(tx, error) { r="FAILED: "+error.message });
- tx.executeSql('INSERT INTO Greeting VALUES(?, ?)', [ 'hello', 'world' ],
- function(tx, rs) { }, function(tx, error) { r="FAILED: "+error.message });
-}, function(tx, error) { r="TXFAILED: "+error.message }, function(tx, result) { if (r=="testerror") r="passed" });
-
-
-function test()
-{
- return r;
-}
diff --git a/tests/auto/declarative/sql/tst_sql.cpp b/tests/auto/declarative/sql/tst_sql.cpp
index 3179c99..10ce6d8 100644
--- a/tests/auto/declarative/sql/tst_sql.cpp
+++ b/tests/auto/declarative/sql/tst_sql.cpp
@@ -17,10 +17,20 @@ public:
tst_sql() {}
private slots:
- void verifyAgainstWebKit_data();
- void verifyAgainstWebKit();
+ void initTestCase();
+
+ void checkDatabasePath();
+
+ void validateAgainstWebkit_data();
+ void validateAgainstWebkit();
+
+ void testQml_data();
+ void testQml();
+
+ void cleanupTestCase();
private:
+ QString dbDir() const;
QmlEngine engine;
};
@@ -28,7 +38,7 @@ class QWebPageWithJavaScriptConsoleMessages : public QWebPage {
public:
void javaScriptConsoleMessage(const QString& message, int lineNumber, const QString& sourceID)
{
-qDebug() << sourceID << ":" << lineNumber << ":" << message;
+ qWarning() << sourceID << ":" << lineNumber << ":" << message;
}
};
@@ -44,20 +54,52 @@ void removeRecursive(const QString& dirname)
QDir().rmdir(dirname);
}
+void tst_sql::initTestCase()
+{
+ removeRecursive(dbDir());
+ QDir().mkpath(dbDir());
+}
+
+void tst_sql::cleanupTestCase()
+{
+ removeRecursive(dbDir());
+}
+
+QString tst_sql::dbDir() const
+{
+ return QString(SRCDIR)+"/output";
+}
+
+void tst_sql::checkDatabasePath()
+{
+ // Check default storage path (we can't use it since we don't want to mess with user's data)
+ QVERIFY(engine.offlineStoragePath().contains("Nokia"));
+ QVERIFY(engine.offlineStoragePath().contains("OfflineStorage"));
+}
-void tst_sql::verifyAgainstWebKit_data()
+void tst_sql::testQml_data()
{
QTest::addColumn<QString>("jsfile"); // The input file
QTest::addColumn<QString>("result"); // The required output from the js test() function
QTest::addColumn<int>("databases"); // The number of databases that should have been created
+ QTest::addColumn<bool>("qmlextension"); // Things WebKit can't do
+
+ QTest::newRow("creation") << "data/1-creation.js" << "passed" << 1 << false;
+ QTest::newRow("selection") << "data/2-selection.js" << "passed" << 1 << false;
+ QTest::newRow("iteration-item-function") << "data/3-iteration-item-function.js" << "passed" << 1 << false;
+ QTest::newRow("iteration-index") << "data/4-iteration-index.js" << "passed" << 1 << true;
+ QTest::newRow("iteration-iterator") << "data/5-iteration-iterator.js" << "passed" << 1 << true;
+ QTest::newRow("iteration-efficient") << "data/6-iteration-efficient.js" << "passed" << 1 << true;
+}
- QTest::newRow("basic creation") << "data/test1.js" << "passed" << 1;
+void tst_sql::validateAgainstWebkit_data()
+{
+ testQml_data();
}
-void tst_sql::verifyAgainstWebKit()
+void tst_sql::validateAgainstWebkit()
{
- // Tests QML SQL Database support, and tests the same thing against
- // WebKit (HTML5) support to validate the test.
+ // Validates tests against WebKit (HTML5) support.
//
// WebKit SQL is asynchronous, so tests are divided into code plus a test()
// function which is executed "later" (via QTRY_).
@@ -65,32 +107,19 @@ void tst_sql::verifyAgainstWebKit()
QFETCH(QString, jsfile);
QFETCH(QString, result);
QFETCH(int, databases);
+ QFETCH(bool, qmlextension);
- QString tmpdir = QString(SRCDIR)+"/output";
-
- // QML...
- QString qml=
- "import Qt 4.6\n"
- "Text { Script { source: \""+jsfile+"\" } text: test() }";
+ if (qmlextension) // WebKit can't do it (yet?)
+ return;
- // Check default storage path (we can't use it since we don't want to mess with user's data)
- QVERIFY(engine.offlineStoragePath().contains("Nokia"));
- QVERIFY(engine.offlineStoragePath().contains("OfflineStorage"));
- engine.setOfflineStoragePath(tmpdir);
- QmlComponent component(&engine, qml.toUtf8(), QUrl::fromLocalFile(SRCDIR "/empty.qml")); // just a file for relative local imports
- QFxText *text = qobject_cast<QFxText*>(component.create());
- QVERIFY(text != 0);
- QCOMPARE(text->text(),result);
- QCOMPARE(QDir(tmpdir+"/Databases").entryInfoList(QDir::Files|QDir::NoDotAndDotDot).count(), databases*2); // *2 = .ini file + .sqlite file
-
- // WebKit...
QFile f(jsfile);
QVERIFY(f.open(QIODevice::ReadOnly));
QString js=f.readAll();
QWebPageWithJavaScriptConsoleMessages webpage;
- QDir().mkpath(tmpdir);
- webpage.settings()->setOfflineStoragePath(tmpdir);
+ webpage.settings()->setOfflineStoragePath(dbDir());
+ webpage.settings()->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, true);
+
webpage.mainFrame()->evaluateJavaScript(js);
QTest::qWait(200); // WebKit db access is asynchronous
QTRY_COMPARE(webpage.mainFrame()->evaluateJavaScript("test()").toString(),result);
@@ -98,9 +127,27 @@ void tst_sql::verifyAgainstWebKit()
QWebSecurityOrigin origin = webpage.mainFrame()->securityOrigin();
QList<QWebDatabase> dbs = origin.databases();
QCOMPARE(dbs.count(), databases);
+}
+void tst_sql::testQml()
+{
+ // Tests QML SQL Database support with tests
+ // that have been validated against Webkit.
+ //
+ QFETCH(QString, jsfile);
+ QFETCH(QString, result);
+ QFETCH(int, databases);
- removeRecursive(tmpdir);
+ QString qml=
+ "import Qt 4.6\n"
+ "Text { Script { source: \""+jsfile+"\" } text: test() }";
+
+ engine.setOfflineStoragePath(dbDir());
+ QmlComponent component(&engine, qml.toUtf8(), QUrl::fromLocalFile(SRCDIR "/empty.qml")); // just a file for relative local imports
+ QFxText *text = qobject_cast<QFxText*>(component.create());
+ QVERIFY(text != 0);
+ QCOMPARE(text->text(),result);
+ QCOMPARE(QDir(dbDir()+"/Databases").entryInfoList(QDir::Files|QDir::NoDotAndDotDot).count(), databases*2); // *2 = .ini file + .sqlite file
}
QTEST_MAIN(tst_sql)
diff --git a/tests/auto/declarative/visual/ListView/basic1/basic1.qml b/tests/auto/declarative/visual/ListView/basic1.qml
index b1309ca..85934dc 100644
--- a/tests/auto/declarative/visual/ListView/basic1/basic1.qml
+++ b/tests/auto/declarative/visual/ListView/basic1.qml
@@ -1,13 +1,13 @@
import Qt 4.6
-Rect {
+Rectangle {
color: "blue"
width: 200
height: 300
id: Page
ListView {
anchors.fill: parent
- delegate: Rect {
+ delegate: Rectangle {
color: "red"
width: 100
height: 100
diff --git a/tests/auto/declarative/visual/ListView/basic1/data/raster/image0.png b/tests/auto/declarative/visual/ListView/basic1/data/raster/image0.png
deleted file mode 100644
index f8a4830..0000000
--- a/tests/auto/declarative/visual/ListView/basic1/data/raster/image0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/ListView/basic1/data/raster/manifest.qml b/tests/auto/declarative/visual/ListView/basic1/data/raster/manifest.qml
deleted file mode 100644
index 7c21d0f..0000000
--- a/tests/auto/declarative/visual/ListView/basic1/data/raster/manifest.qml
+++ /dev/null
@@ -1,8 +0,0 @@
-import Qt 4.6
-
-TestLog {
- TestFullFrame {
- time: 0
- frameId: 0
- }
-}
diff --git a/tests/auto/declarative/visual/ListView/basic1/test b/tests/auto/declarative/visual/ListView/basic1/test
deleted file mode 100644
index 49fcf5a..0000000
--- a/tests/auto/declarative/visual/ListView/basic1/test
+++ /dev/null
@@ -1 +0,0 @@
-basic1.qml
diff --git a/tests/auto/declarative/visual/ListView/basic2/basic2.qml b/tests/auto/declarative/visual/ListView/basic2.qml
index fa20332..4fe63ac 100644
--- a/tests/auto/declarative/visual/ListView/basic2/basic2.qml
+++ b/tests/auto/declarative/visual/ListView/basic2.qml
@@ -1,13 +1,13 @@
import Qt 4.6
-Rect {
+Rectangle {
color: "blue"
width: 200
height: 300
id: Page
Component {
id: Delegate
- Rect {
+ Rectangle {
color: "red"
width: 100
height: 100
diff --git a/tests/auto/declarative/visual/ListView/basic2/data/raster/image0.png b/tests/auto/declarative/visual/ListView/basic2/data/raster/image0.png
deleted file mode 100644
index f8a4830..0000000
--- a/tests/auto/declarative/visual/ListView/basic2/data/raster/image0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/ListView/basic2/data/raster/manifest.qml b/tests/auto/declarative/visual/ListView/basic2/data/raster/manifest.qml
deleted file mode 100644
index 7c21d0f..0000000
--- a/tests/auto/declarative/visual/ListView/basic2/data/raster/manifest.qml
+++ /dev/null
@@ -1,8 +0,0 @@
-import Qt 4.6
-
-TestLog {
- TestFullFrame {
- time: 0
- frameId: 0
- }
-}
diff --git a/tests/auto/declarative/visual/ListView/basic2/test b/tests/auto/declarative/visual/ListView/basic2/test
deleted file mode 100644
index eb79495..0000000
--- a/tests/auto/declarative/visual/ListView/basic2/test
+++ /dev/null
@@ -1 +0,0 @@
-basic2.qml
diff --git a/tests/auto/declarative/visual/ListView/basic3/basic3.qml b/tests/auto/declarative/visual/ListView/basic3.qml
index aee252f..c0705e9 100644
--- a/tests/auto/declarative/visual/ListView/basic3/basic3.qml
+++ b/tests/auto/declarative/visual/ListView/basic3.qml
@@ -1,6 +1,6 @@
import Qt 4.6
-Rect {
+Rectangle {
color: "blue"
width: 200
height: 300
@@ -17,7 +17,7 @@ Rect {
ListView {
anchors.fill: parent
model: Model
- delegate: Rect {
+ delegate: Rectangle {
color: "red"
width: 100
height: 100
diff --git a/tests/auto/declarative/visual/ListView/basic3/data/raster/image0.png b/tests/auto/declarative/visual/ListView/basic3/data/raster/image0.png
deleted file mode 100644
index f8a4830..0000000
--- a/tests/auto/declarative/visual/ListView/basic3/data/raster/image0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/ListView/basic3/data/raster/manifest.qml b/tests/auto/declarative/visual/ListView/basic3/data/raster/manifest.qml
deleted file mode 100644
index 7c21d0f..0000000
--- a/tests/auto/declarative/visual/ListView/basic3/data/raster/manifest.qml
+++ /dev/null
@@ -1,8 +0,0 @@
-import Qt 4.6
-
-TestLog {
- TestFullFrame {
- time: 0
- frameId: 0
- }
-}
diff --git a/tests/auto/declarative/visual/ListView/basic3/test b/tests/auto/declarative/visual/ListView/basic3/test
deleted file mode 100644
index 9ec306b..0000000
--- a/tests/auto/declarative/visual/ListView/basic3/test
+++ /dev/null
@@ -1 +0,0 @@
-basic3.qml
diff --git a/tests/auto/declarative/visual/ListView/basic4/basic4.qml b/tests/auto/declarative/visual/ListView/basic4.qml
index 76c5723..c8e1bcc 100644
--- a/tests/auto/declarative/visual/ListView/basic4/basic4.qml
+++ b/tests/auto/declarative/visual/ListView/basic4.qml
@@ -1,6 +1,6 @@
import Qt 4.6
-Rect {
+Rectangle {
color: "blue"
width: 200
height: 300
@@ -16,7 +16,7 @@ Rect {
}
Component {
id: Delegate
- Rect {
+ Rectangle {
color: "red"
width: 100
height: 100
diff --git a/tests/auto/declarative/visual/ListView/basic4/data/raster/image0.png b/tests/auto/declarative/visual/ListView/basic4/data/raster/image0.png
deleted file mode 100644
index f8a4830..0000000
--- a/tests/auto/declarative/visual/ListView/basic4/data/raster/image0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/ListView/basic4/data/raster/manifest.qml b/tests/auto/declarative/visual/ListView/basic4/data/raster/manifest.qml
deleted file mode 100644
index 7c21d0f..0000000
--- a/tests/auto/declarative/visual/ListView/basic4/data/raster/manifest.qml
+++ /dev/null
@@ -1,8 +0,0 @@
-import Qt 4.6
-
-TestLog {
- TestFullFrame {
- time: 0
- frameId: 0
- }
-}
diff --git a/tests/auto/declarative/visual/ListView/basic4/test b/tests/auto/declarative/visual/ListView/basic4/test
deleted file mode 100644
index 2a7f227..0000000
--- a/tests/auto/declarative/visual/ListView/basic4/test
+++ /dev/null
@@ -1 +0,0 @@
-basic4.qml
diff --git a/tests/auto/declarative/visual/ListView/data/basic1.qml b/tests/auto/declarative/visual/ListView/data/basic1.qml
new file mode 100644
index 0000000..4cd44fc
--- /dev/null
+++ b/tests/auto/declarative/visual/ListView/data/basic1.qml
@@ -0,0 +1,159 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 32
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 48
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 64
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 80
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 96
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 112
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 128
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 144
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 160
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 176
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 192
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 208
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 224
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 240
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 256
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 272
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 288
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 304
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 320
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 336
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 352
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 368
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 384
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 400
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 416
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 432
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 448
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 464
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 480
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 496
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 512
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 528
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 544
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 560
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 576
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+}
diff --git a/tests/auto/declarative/visual/ListView/data/basic2.qml b/tests/auto/declarative/visual/ListView/data/basic2.qml
new file mode 100644
index 0000000..34ad5ed
--- /dev/null
+++ b/tests/auto/declarative/visual/ListView/data/basic2.qml
@@ -0,0 +1,187 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 32
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 48
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 64
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 80
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 96
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 112
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 128
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 144
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 160
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 176
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 192
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 208
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 224
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 240
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 256
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 272
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 288
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 304
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 320
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 336
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 352
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 368
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 384
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 400
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 416
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 432
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 448
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 464
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 480
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 496
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 512
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 528
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 544
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 560
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 576
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 592
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 608
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 624
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 640
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 656
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 672
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 688
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+}
diff --git a/tests/auto/declarative/visual/ListView/data/basic3.qml b/tests/auto/declarative/visual/ListView/data/basic3.qml
new file mode 100644
index 0000000..1c5ddb0
--- /dev/null
+++ b/tests/auto/declarative/visual/ListView/data/basic3.qml
@@ -0,0 +1,147 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 32
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 48
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 64
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 80
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 96
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 112
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 128
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 144
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 160
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 176
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 192
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 208
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 224
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 240
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 256
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 272
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 288
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 304
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 320
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 336
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 352
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 368
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 384
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 400
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 416
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 432
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 448
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 464
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 480
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 496
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 512
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 528
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+}
diff --git a/tests/auto/declarative/visual/ListView/data/basic4.qml b/tests/auto/declarative/visual/ListView/data/basic4.qml
new file mode 100644
index 0000000..d121d91
--- /dev/null
+++ b/tests/auto/declarative/visual/ListView/data/basic4.qml
@@ -0,0 +1,171 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 32
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 48
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 64
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 80
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 96
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 112
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 128
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 144
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 160
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 176
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 192
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 208
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 224
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 240
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 256
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 272
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 288
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 304
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 320
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 336
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 352
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 368
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 384
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 400
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 416
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 432
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 448
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 464
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 480
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 496
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 512
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 528
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 544
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 560
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 576
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 592
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 608
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+ Frame {
+ msec: 624
+ hash: "c0ec1bac5550efaa1f8ce7b46c2fed94"
+ }
+}
diff --git a/tests/auto/declarative/visual/bindinganimation/bindinganimation.qml b/tests/auto/declarative/visual/bindinganimation/bindinganimation.qml
index 2086648..90ef1e5 100644
--- a/tests/auto/declarative/visual/bindinganimation/bindinganimation.qml
+++ b/tests/auto/declarative/visual/bindinganimation/bindinganimation.qml
@@ -1,12 +1,12 @@
import Qt 4.6
-Rect {
+Rectangle {
color: "blue"
width: 320
height: 240
id: Page
- Rect {
- id: MyRect
+ Rectangle {
+ id: MyRectangle
width: 100
height: 100
color: "red"
@@ -15,11 +15,11 @@ Rect {
states: [
State {
name: "hello"
- SetProperties {
- target: MyRect
+ PropertyChanges {
+ target: MyRectangle
x: 100
}
- SetProperties {
+ PropertyChanges {
target: MyMouseRegion
onClicked: "Page.currentState = ''"
}
diff --git a/tests/auto/declarative/visual/bindinganimation/data/raster/image0.png b/tests/auto/declarative/visual/bindinganimation/data/bindinganimation.0.png
index 92f8cdd..1b08c81 100644
--- a/tests/auto/declarative/visual/bindinganimation/data/raster/image0.png
+++ b/tests/auto/declarative/visual/bindinganimation/data/bindinganimation.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/bindinganimation/data/bindinganimation.1.png b/tests/auto/declarative/visual/bindinganimation/data/bindinganimation.1.png
new file mode 100644
index 0000000..f3074fc
--- /dev/null
+++ b/tests/auto/declarative/visual/bindinganimation/data/bindinganimation.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/bindinganimation/data/bindinganimation.qml b/tests/auto/declarative/visual/bindinganimation/data/bindinganimation.qml
new file mode 100644
index 0000000..1d2f6da
--- /dev/null
+++ b/tests/auto/declarative/visual/bindinganimation/data/bindinganimation.qml
@@ -0,0 +1,659 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 32
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 48
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 64
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 80
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 96
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 112
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 128
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 144
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 160
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 176
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 192
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 208
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 224
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 240
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 256
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 272
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 288
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 304
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 320
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 336
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 352
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 368
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 384
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 400
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 416
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 432
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 448
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 464
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 480
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 496
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 512
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 528
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 544
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 560
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 576
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 592
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 608
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 624
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 640
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 656
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 672
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 688
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 704
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 720
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 736
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 752
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 768
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 784
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 800
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 816
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 832
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 848
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 864
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 880
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 896
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 912
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 928
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 944
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 960
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/bindinganimation/data/bindinganimation.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 992
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1008
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1024
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1040
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1056
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1072
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1088
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1104
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1120
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1136
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1152
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1168
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1184
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1200
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1216
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1232
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1248
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1264
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1280
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1296
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1312
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1328
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1344
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1360
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1376
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1392
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1408
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1424
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1440
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1456
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1472
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1488
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 150; y: 158
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1504
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1520
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1536
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1552
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1568
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 150; y: 158
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1584
+ hash: "7cb5fc371040e587de9f06ce14a4b29a"
+ }
+ Frame {
+ msec: 1600
+ hash: "a78c9394bf3b81f192f42710cd7218b1"
+ }
+ Frame {
+ msec: 1616
+ hash: "7f08e8170feb1d02373c9ab42b6e882d"
+ }
+ Frame {
+ msec: 1632
+ hash: "967fbad8ac664400a3efbe66617d62aa"
+ }
+ Frame {
+ msec: 1648
+ hash: "abc2ec0bc7a93e75b5823310e6284db1"
+ }
+ Frame {
+ msec: 1664
+ hash: "afbd5b24e2f86646f5ec2aa22f3a4b5b"
+ }
+ Frame {
+ msec: 1680
+ hash: "9413dffb7ee853ba0125ac22ab22abbd"
+ }
+ Frame {
+ msec: 1696
+ hash: "fcae0317f81a3ddd713f4db1349a9da0"
+ }
+ Frame {
+ msec: 1712
+ hash: "37739777a5979f3ebf85e47e63341660"
+ }
+ Frame {
+ msec: 1728
+ hash: "72731478d80f024076ea639b55152360"
+ }
+ Frame {
+ msec: 1744
+ hash: "69058485ced6bc992a1a7c5ee34add4c"
+ }
+ Frame {
+ msec: 1760
+ hash: "391ad7ff2362e059f6170dfe306f94a7"
+ }
+ Frame {
+ msec: 1776
+ hash: "f9f74a2e38b52c9266f33e428b6acd9d"
+ }
+ Frame {
+ msec: 1792
+ hash: "25152412c4ea2aec6caf89486c073484"
+ }
+ Frame {
+ msec: 1808
+ hash: "ba403842ba3128b1cdf6a9cb28c90751"
+ }
+ Frame {
+ msec: 1824
+ hash: "e90cd68490cf3ce6ef9fe4e8f92feaa9"
+ }
+ Frame {
+ msec: 1840
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1856
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1872
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1888
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1904
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1920
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/bindinganimation/data/bindinganimation.1.png"
+ }
+ Frame {
+ msec: 1936
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1952
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1968
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 1984
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2000
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2016
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2032
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2048
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2064
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2080
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2096
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2112
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2128
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2144
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2160
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2176
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2192
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2208
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2224
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2240
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2256
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2272
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2288
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2304
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2320
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2336
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2352
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2368
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2384
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2400
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2416
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2432
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2448
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2464
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2480
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2496
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+ Frame {
+ msec: 2512
+ hash: "383ba6b9efcc58fca512982a207631f6"
+ }
+}
diff --git a/tests/auto/declarative/visual/bindinganimation/data/raster/manifest.qml b/tests/auto/declarative/visual/bindinganimation/data/raster/manifest.qml
deleted file mode 100644
index cd096d7..0000000
--- a/tests/auto/declarative/visual/bindinganimation/data/raster/manifest.qml
+++ /dev/null
@@ -1,88 +0,0 @@
-import Qt 4.6
-
-TestLog {
- TestFullFrame {
- time: 0
- frameId: 0
- }
- TestMouse {
- time: 1296
- type: 2
- button: 1
- buttons: 1
- globalPos: '87,985'
- pos: '83,29'
- }
- TestMouse {
- time: 1360
- type: 3
- button: 1
- buttons: 0
- globalPos: '87,985'
- pos: '83,29'
- }
- TestFrame {
- time: 1376
- hash: '7CB5FC371040E587DE9F06CE14A4B29A'
- }
- TestFrame {
- time: 1392
- hash: 'A5E5DBD179C7E48D34B8107F8CC6B5BE'
- }
- TestFrame {
- time: 1408
- hash: 'A5E5DBD179C7E48D34B8107F8CC6B5BE'
- }
- TestFrame {
- time: 1424
- hash: '69FB651AA84E07E4A6DEAA31CB10641B'
- }
- TestFrame {
- time: 1440
- hash: '3FFC4C4BD282010A359DCEAF2D8496AC'
- }
- TestFrame {
- time: 1456
- hash: '3FFC4C4BD282010A359DCEAF2D8496AC'
- }
- TestFrame {
- time: 1472
- hash: 'ADA58B13247A654BBCECF3F254AB797F'
- }
- TestFrame {
- time: 1488
- hash: 'B314799BC732B6BD8C42A622B720E3D5'
- }
- TestFrame {
- time: 1504
- hash: 'B314799BC732B6BD8C42A622B720E3D5'
- }
- TestFrame {
- time: 1520
- hash: '7377569C13CF5DE368B22209AB8AE395'
- }
- TestFrame {
- time: 1536
- hash: '7C1E4A1F80C68EE57D052A9D7851F937'
- }
- TestFrame {
- time: 1552
- hash: '7C1E4A1F80C68EE57D052A9D7851F937'
- }
- TestFrame {
- time: 1568
- hash: '24D6DB9544205075836A86A54B55A820'
- }
- TestFrame {
- time: 1584
- hash: '24D6DB9544205075836A86A54B55A820'
- }
- TestFrame {
- time: 1600
- hash: '8A84E4C3E8AD4C6A9A7BD3E1620718C1'
- }
- TestFrame {
- time: 1616
- hash: 'B8EA544A4EF3B7E0A9E0A7777B55EDC7'
- }
-}
diff --git a/tests/auto/declarative/visual/bindinganimation/test b/tests/auto/declarative/visual/bindinganimation/test
deleted file mode 100644
index bb59333..0000000
--- a/tests/auto/declarative/visual/bindinganimation/test
+++ /dev/null
@@ -1 +0,0 @@
-bindinganimation.qml
diff --git a/tests/auto/declarative/visual/colorAnimation/colorAnimation.qml b/tests/auto/declarative/visual/colorAnimation/colorAnimation.qml
index d0c988c..0e98d7e 100644
--- a/tests/auto/declarative/visual/colorAnimation/colorAnimation.qml
+++ b/tests/auto/declarative/visual/colorAnimation/colorAnimation.qml
@@ -1,20 +1,20 @@
import Qt 4.6
-Rect {
+Rectangle {
id: mainrect
width: 200; height: 200
state: "first"
states: [
State {
name: "first"
- SetProperties {
+ PropertyChanges {
target: mainrect
color: "red"
}
},
State {
name: "second"
- SetProperties {
+ PropertyChanges {
target: mainrect
color: "blue"
}
@@ -22,8 +22,8 @@ Rect {
]
transitions: [
Transition {
- fromState: "first"
- toState: "second"
+ from: "first"
+ to: "second"
reversible: true
SequentialAnimation {
ColorAnimation {
diff --git a/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.0.png b/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.0.png
new file mode 100644
index 0000000..6419082
--- /dev/null
+++ b/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.1.png b/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.1.png
new file mode 100644
index 0000000..adf62e7
--- /dev/null
+++ b/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.2.png b/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.2.png
new file mode 100644
index 0000000..f4a6cfd
--- /dev/null
+++ b/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.qml b/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.qml
new file mode 100644
index 0000000..8f7f068
--- /dev/null
+++ b/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.qml
@@ -0,0 +1,951 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 32
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 48
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 64
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 80
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 96
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 112
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 128
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 144
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 160
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 176
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 192
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 208
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 224
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 240
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 256
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 272
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 288
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 304
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 320
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 336
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 352
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 368
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 384
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 400
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 416
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 432
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 448
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 464
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 480
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 496
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 512
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 93; y: 136
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 528
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 544
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 560
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 576
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 592
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 93; y: 136
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 608
+ hash: "acc736435c9f84aa82941ba561bc5dbc"
+ }
+ Frame {
+ msec: 624
+ hash: "e5bda0daf98288ce18db6ce06eda3ba0"
+ }
+ Frame {
+ msec: 640
+ hash: "d35008f75b8c992f80fb16ba7203649d"
+ }
+ Frame {
+ msec: 656
+ hash: "14f43e0784ddf42ea8550db88c501bf1"
+ }
+ Frame {
+ msec: 672
+ hash: "02276e158b5391480b1bdeaadf1fb903"
+ }
+ Frame {
+ msec: 688
+ hash: "35d9513eb97a2c482b7cd197de910934"
+ }
+ Frame {
+ msec: 704
+ hash: "faf0fd681e60bb2489099f5df772b6cd"
+ }
+ Frame {
+ msec: 720
+ hash: "a863d3e346f94785a3a392fdc91526eb"
+ }
+ Frame {
+ msec: 736
+ hash: "fdf328d3f6eb8410da59a91345e41a44"
+ }
+ Frame {
+ msec: 752
+ hash: "83514a3b10d5be8f6c3b128d0f3e0b1c"
+ }
+ Frame {
+ msec: 768
+ hash: "ead0eae76cd00189075964671effbaea"
+ }
+ Frame {
+ msec: 784
+ hash: "24d2457fcd51490fda23071bf9929d12"
+ }
+ Frame {
+ msec: 800
+ hash: "1478683446cf543dacbe31d0b76a98a6"
+ }
+ Frame {
+ msec: 816
+ hash: "99f7da1f31fe920f6c02add4042ae925"
+ }
+ Frame {
+ msec: 832
+ hash: "22def892006cf66667770b0f17baf6c0"
+ }
+ Frame {
+ msec: 848
+ hash: "6a36d5a77099bfd58baf285478ff04e4"
+ }
+ Frame {
+ msec: 864
+ hash: "6258150666b59b20ab476724c07fc20c"
+ }
+ Frame {
+ msec: 880
+ hash: "f1636315bc950a6dd400d9c7ed263b88"
+ }
+ Frame {
+ msec: 896
+ hash: "18447ea8dc2e8da956788e5b3cf3790a"
+ }
+ Frame {
+ msec: 912
+ hash: "1d2a6e65997a73e9e670356c8e8b63b2"
+ }
+ Frame {
+ msec: 928
+ hash: "bed0242c0f9ef229d1392835286d5782"
+ }
+ Frame {
+ msec: 944
+ hash: "88923c190e9e5beadef8a409c06df9d6"
+ }
+ Frame {
+ msec: 960
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "85b1821cc50f2a9f3ed6944f792b7a2f"
+ }
+ Frame {
+ msec: 992
+ hash: "395195716d76bc0be7b2033ed37a7a1c"
+ }
+ Frame {
+ msec: 1008
+ hash: "243dbffcf416926242bbcb7348974c4c"
+ }
+ Frame {
+ msec: 1024
+ hash: "a755068679616d8ac65c2aa7431f2a19"
+ }
+ Frame {
+ msec: 1040
+ hash: "e8249b35a47eb492cbdf2d91cc8426f0"
+ }
+ Frame {
+ msec: 1056
+ hash: "15f3da1c0e6f0779b96859d51171dd27"
+ }
+ Frame {
+ msec: 1072
+ hash: "258c0c756aac3de743b43051f2aace6b"
+ }
+ Frame {
+ msec: 1088
+ hash: "a58b9fdf301d72b2cc5c93934cc8927b"
+ }
+ Frame {
+ msec: 1104
+ hash: "a9181d30870d472521f8904818ce520f"
+ }
+ Frame {
+ msec: 1120
+ hash: "7f9e94069ccf3897c26a71bd7becd903"
+ }
+ Frame {
+ msec: 1136
+ hash: "bdf305c2f46cdb86dbf57b1e0cc5a65b"
+ }
+ Frame {
+ msec: 1152
+ hash: "fe5b6865d7e4fc7d1d42c1e74f8666f7"
+ }
+ Frame {
+ msec: 1168
+ hash: "734f0de45a6e34c9eab7ef606196f96a"
+ }
+ Frame {
+ msec: 1184
+ hash: "02a361c4534fdf7f286dc3e6dc23275c"
+ }
+ Frame {
+ msec: 1200
+ hash: "e649155ad69999c14b92f6561e4d1185"
+ }
+ Frame {
+ msec: 1216
+ hash: "01af177084fab755d622973f64b92018"
+ }
+ Frame {
+ msec: 1232
+ hash: "097cc4a082dfab995d213a3a73883c97"
+ }
+ Frame {
+ msec: 1248
+ hash: "d7b4239a3280b1eb8e885e3f422df8e9"
+ }
+ Frame {
+ msec: 1264
+ hash: "59893977994e34e83f91e7ce3ad65d6d"
+ }
+ Frame {
+ msec: 1280
+ hash: "b68e3fbb5cdcd6bd96df7dec558db42b"
+ }
+ Frame {
+ msec: 1296
+ hash: "94ad0580648f36a1e18a9ea7e249b04d"
+ }
+ Frame {
+ msec: 1312
+ hash: "750a4c01d2f5806a89a1c6cc6a9b9a68"
+ }
+ Frame {
+ msec: 1328
+ hash: "4f109f50f388f1bfa4bc6b03b3e6e514"
+ }
+ Frame {
+ msec: 1344
+ hash: "c6168d5cf27a533e8ee636637667be47"
+ }
+ Frame {
+ msec: 1360
+ hash: "f8120547bed987aa34c00da5a01a4d1e"
+ }
+ Frame {
+ msec: 1376
+ hash: "cbff526136fa2c128c8b898fbbef9e5c"
+ }
+ Frame {
+ msec: 1392
+ hash: "f29e52398fab1a239a63df4c32f2fc69"
+ }
+ Frame {
+ msec: 1408
+ hash: "7178bfe86fd2fd513218b33760460f8d"
+ }
+ Frame {
+ msec: 1424
+ hash: "ca83285bc8ac633403896fe976896eb0"
+ }
+ Frame {
+ msec: 1440
+ hash: "96ba486c09cc69d5aa38c46c00df1181"
+ }
+ Frame {
+ msec: 1456
+ hash: "b88eab335842787869f4a14824c19dd8"
+ }
+ Frame {
+ msec: 1472
+ hash: "065aa59012729e1e1a246a2083142690"
+ }
+ Frame {
+ msec: 1488
+ hash: "dd0e98c8398861002c5f178c5f9f612d"
+ }
+ Frame {
+ msec: 1504
+ hash: "04192c2b545948048eccf4d81bbde198"
+ }
+ Frame {
+ msec: 1520
+ hash: "bb7502c7208281ef9fd41714ab88a1a8"
+ }
+ Frame {
+ msec: 1536
+ hash: "5397195471890d08b703dca101e5bc7c"
+ }
+ Frame {
+ msec: 1552
+ hash: "4c678cdbebb2ffd2cbf012ca77800cde"
+ }
+ Frame {
+ msec: 1568
+ hash: "0d7a34ecd0c7f52b2c015037bf1902c6"
+ }
+ Frame {
+ msec: 1584
+ hash: "fd9d5048be749ac4369fda2d018b43ae"
+ }
+ Frame {
+ msec: 1600
+ hash: "93ee03795cd57ae6f7fe3a020b039ad4"
+ }
+ Frame {
+ msec: 1616
+ hash: "5e1118963f219c39761ca7fbf564a9ca"
+ }
+ Frame {
+ msec: 1632
+ hash: "8f40038741903150136170503649d941"
+ }
+ Frame {
+ msec: 1648
+ hash: "b087b7d0aa6224821f8e18718ff5e77d"
+ }
+ Frame {
+ msec: 1664
+ hash: "aa46b04a3c67dc772265ed2901955565"
+ }
+ Frame {
+ msec: 1680
+ hash: "ac024bf2aeb4becdf31a09fe0a6db8f3"
+ }
+ Frame {
+ msec: 1696
+ hash: "13745a174e4d06e2108a5bf125ba50cc"
+ }
+ Frame {
+ msec: 1712
+ hash: "bd972f0d8e230eca0b3fea1b8c960c08"
+ }
+ Frame {
+ msec: 1728
+ hash: "cbdbec802a58e7ced0cf45b3ab0bc0ba"
+ }
+ Frame {
+ msec: 1744
+ hash: "5128584c50305c7d218b81b8367fa3d5"
+ }
+ Frame {
+ msec: 1760
+ hash: "a71461d3593f3685620668916de870bd"
+ }
+ Frame {
+ msec: 1776
+ hash: "74ebac8f32cf044b58d9883dbcd9a722"
+ }
+ Frame {
+ msec: 1792
+ hash: "fedc5b638f339b90fe59b478721e65b7"
+ }
+ Frame {
+ msec: 1808
+ hash: "bcb8c7159f54c353551dd3bff3203966"
+ }
+ Frame {
+ msec: 1824
+ hash: "4e9b083075bc5e9287a8abc982778b56"
+ }
+ Frame {
+ msec: 1840
+ hash: "1d6f02aa99afa47d77fc49ab894b365a"
+ }
+ Frame {
+ msec: 1856
+ hash: "a204feec783b3b05de4c209c21745826"
+ }
+ Frame {
+ msec: 1872
+ hash: "665a2a8ff00b9663157802767f504754"
+ }
+ Frame {
+ msec: 1888
+ hash: "624fb09ebe60cb87d767faf8d2420b1e"
+ }
+ Frame {
+ msec: 1904
+ hash: "e5af0cdc33f3275a25abb09e9165f310"
+ }
+ Frame {
+ msec: 1920
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.1.png"
+ }
+ Frame {
+ msec: 1936
+ hash: "e7aa6374c73832e57ceb2427a1e258aa"
+ }
+ Frame {
+ msec: 1952
+ hash: "b5abd0dff1ab076faac7cc226e83f5d0"
+ }
+ Frame {
+ msec: 1968
+ hash: "b759acc35bccff8efc2e6fe276ddc0f7"
+ }
+ Frame {
+ msec: 1984
+ hash: "ce52e18c1f7732768779863b45314ff5"
+ }
+ Frame {
+ msec: 2000
+ hash: "99d30652559dd6931e0c95543eeaa149"
+ }
+ Frame {
+ msec: 2016
+ hash: "ffbd9a00e05e085b89296d19d5caec57"
+ }
+ Frame {
+ msec: 2032
+ hash: "9c9d658b9c25602816b8066bf19105db"
+ }
+ Frame {
+ msec: 2048
+ hash: "2b7fd058e6601e22a30bb7106b1c683b"
+ }
+ Frame {
+ msec: 2064
+ hash: "f4c7e26b19ee0a3e7c9688685eb7bd05"
+ }
+ Frame {
+ msec: 2080
+ hash: "0dc6d593bceff56b7f81f2a49d37fefb"
+ }
+ Frame {
+ msec: 2096
+ hash: "9bfd7ad5091ccbdde43c593e133a7b10"
+ }
+ Frame {
+ msec: 2112
+ hash: "2703b617937914a90ea42ebf249d79ee"
+ }
+ Frame {
+ msec: 2128
+ hash: "b77e2983138254016c4cca53100f46fa"
+ }
+ Frame {
+ msec: 2144
+ hash: "60c4dd24187d1281081479e586f02b37"
+ }
+ Frame {
+ msec: 2160
+ hash: "62f2511abd99ef1231c9fa4b91d4abfe"
+ }
+ Frame {
+ msec: 2176
+ hash: "e309b3353fd174e883d309571caddc98"
+ }
+ Frame {
+ msec: 2192
+ hash: "1e2d6a134c7b12dde551b148ef4f088c"
+ }
+ Frame {
+ msec: 2208
+ hash: "e5dc5450604a491cc24a0dcf5c278b58"
+ }
+ Frame {
+ msec: 2224
+ hash: "c8dae97c10e1962c1e6a51ab3ab8579e"
+ }
+ Frame {
+ msec: 2240
+ hash: "4e1b7e06f55fb084080689b474f1fe1d"
+ }
+ Frame {
+ msec: 2256
+ hash: "b4639c907fa937bf15fac62421170cd8"
+ }
+ Frame {
+ msec: 2272
+ hash: "c250208a0caeb5f6cb4d3aac3d7d350b"
+ }
+ Frame {
+ msec: 2288
+ hash: "a73351eabecf0d71149efe31f197413e"
+ }
+ Frame {
+ msec: 2304
+ hash: "479425f1b7aff79e4dfb7fca534af018"
+ }
+ Frame {
+ msec: 2320
+ hash: "046d0f0040a52d1f26ba9f7c5de06ef4"
+ }
+ Frame {
+ msec: 2336
+ hash: "655778bf13c6080903150b0eb43a7edc"
+ }
+ Frame {
+ msec: 2352
+ hash: "72da0bbe81514870655fdd3354adac60"
+ }
+ Frame {
+ msec: 2368
+ hash: "defe0bdf675c65fff55aaaced1e4dae7"
+ }
+ Frame {
+ msec: 2384
+ hash: "c988628b6c3d3780e9a865c7694926cd"
+ }
+ Frame {
+ msec: 2400
+ hash: "5ab17563655231089edd986ff13d6012"
+ }
+ Frame {
+ msec: 2416
+ hash: "c1adff1d2e5800ed466d1691d3b17382"
+ }
+ Frame {
+ msec: 2432
+ hash: "70129ba01fbb19592b9dc0d0a3b3e7df"
+ }
+ Frame {
+ msec: 2448
+ hash: "0000829ef7ed908bf430d42904d59cc2"
+ }
+ Frame {
+ msec: 2464
+ hash: "843d2927f50ab87b4a86b7a6aaeed91f"
+ }
+ Frame {
+ msec: 2480
+ hash: "da86d21756025e7de8050586d5e2a1f8"
+ }
+ Frame {
+ msec: 2496
+ hash: "48dd1bd6580133b0793fee327ea4f1e6"
+ }
+ Frame {
+ msec: 2512
+ hash: "f0618193dcd0ba2837249515a1898b1c"
+ }
+ Frame {
+ msec: 2528
+ hash: "a530184e57251065286c0cbba7301e9c"
+ }
+ Frame {
+ msec: 2544
+ hash: "64a1d7203973d65dd342793007a61c58"
+ }
+ Frame {
+ msec: 2560
+ hash: "5b830dfc6ba442772de87d75d5a578de"
+ }
+ Frame {
+ msec: 2576
+ hash: "5563b056b0409b65f60dd16dd0dd890e"
+ }
+ Frame {
+ msec: 2592
+ hash: "b8bcf9ad2ca8720c11563a23d8280804"
+ }
+ Frame {
+ msec: 2608
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2624
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2640
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2656
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2672
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2688
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2704
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2720
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2736
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2752
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2768
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2784
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2800
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2816
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2832
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2848
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2864
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2880
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/colorAnimation/data/colorAnimation.2.png"
+ }
+ Frame {
+ msec: 2896
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2912
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2928
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2944
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2960
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2976
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 2992
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3008
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3024
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3040
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3056
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3072
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3088
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3104
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3120
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3136
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3152
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3168
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3184
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3200
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3216
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3232
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3248
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3264
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3280
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3296
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3312
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3328
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3344
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3360
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3376
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3392
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3408
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3424
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3440
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3456
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3472
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3488
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3504
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3520
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3536
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3552
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3568
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3584
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3600
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3616
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3632
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 3648
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3664
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+ Frame {
+ msec: 3680
+ hash: "8c0fcda4f8956394c53fc4ba18caa850"
+ }
+}
diff --git a/tests/auto/declarative/visual/colorAnimation/data/raster/image0.png b/tests/auto/declarative/visual/colorAnimation/data/raster/image0.png
deleted file mode 100644
index f00a2e2..0000000
--- a/tests/auto/declarative/visual/colorAnimation/data/raster/image0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/colorAnimation/data/raster/manifest.qml b/tests/auto/declarative/visual/colorAnimation/data/raster/manifest.qml
deleted file mode 100644
index 0926b2c..0000000
--- a/tests/auto/declarative/visual/colorAnimation/data/raster/manifest.qml
+++ /dev/null
@@ -1,524 +0,0 @@
-import Qt 4.6
-
-TestLog {
- TestFullFrame {
- time: 0
- frameId: 0
- }
- TestMouse {
- time: 944
- type: 2
- button: 1
- buttons: 1
- globalPos: '1789,188'
- pos: '73,76'
- }
- TestMouse {
- time: 992
- type: 3
- button: 1
- buttons: 0
- globalPos: '1789,188'
- pos: '73,76'
- }
- TestFrame {
- time: 1008
- hash: 'E5BDA0DAF98288CE18DB6CE06EDA3BA0'
- }
- TestFrame {
- time: 1024
- hash: 'D35008F75B8C992F80FB16BA7203649D'
- }
- TestFrame {
- time: 1040
- hash: '14F43E0784DDF42EA8550DB88C501BF1'
- }
- TestFrame {
- time: 1056
- hash: '02276E158B5391480B1BDEAADF1FB903'
- }
- TestFrame {
- time: 1072
- hash: '35D9513EB97A2C482B7CD197DE910934'
- }
- TestFrame {
- time: 1088
- hash: 'FAF0FD681E60BB2489099F5DF772B6CD'
- }
- TestFrame {
- time: 1104
- hash: 'A863D3E346F94785A3A392FDC91526EB'
- }
- TestFrame {
- time: 1120
- hash: 'FDF328D3F6EB8410DA59A91345E41A44'
- }
- TestFrame {
- time: 1136
- hash: '83514A3B10D5BE8F6C3B128D0F3E0B1C'
- }
- TestFrame {
- time: 1152
- hash: 'EAD0EAE76CD00189075964671EFFBAEA'
- }
- TestFrame {
- time: 1168
- hash: '24D2457FCD51490FDA23071BF9929D12'
- }
- TestFrame {
- time: 1184
- hash: '1478683446CF543DACBE31D0B76A98A6'
- }
- TestFrame {
- time: 1200
- hash: '99F7DA1F31FE920F6C02ADD4042AE925'
- }
- TestFrame {
- time: 1216
- hash: '22DEF892006CF66667770B0F17BAF6C0'
- }
- TestFrame {
- time: 1232
- hash: '6A36D5A77099BFD58BAF285478FF04E4'
- }
- TestFrame {
- time: 1248
- hash: '6258150666B59B20AB476724C07FC20C'
- }
- TestFrame {
- time: 1264
- hash: 'F1636315BC950A6DD400D9C7ED263B88'
- }
- TestFrame {
- time: 1280
- hash: '18447EA8DC2E8DA956788E5B3CF3790A'
- }
- TestFrame {
- time: 1296
- hash: '1D2A6E65997A73E9E670356C8E8B63B2'
- }
- TestFrame {
- time: 1312
- hash: 'BED0242C0F9EF229D1392835286D5782'
- }
- TestFrame {
- time: 1328
- hash: '88923C190E9E5BEADEF8A409C06DF9D6'
- }
- TestFrame {
- time: 1344
- hash: '2D133E7EE60C97386F57838B3F0976C7'
- }
- TestFrame {
- time: 1360
- hash: '85B1821CC50F2A9F3ED6944F792B7A2F'
- }
- TestFrame {
- time: 1376
- hash: '395195716D76BC0BE7B2033ED37A7A1C'
- }
- TestFrame {
- time: 1392
- hash: '243DBFFCF416926242BBCB7348974C4C'
- }
- TestFrame {
- time: 1408
- hash: 'A755068679616D8AC65C2AA7431F2A19'
- }
- TestFrame {
- time: 1424
- hash: 'E8249B35A47EB492CBDF2D91CC8426F0'
- }
- TestFrame {
- time: 1440
- hash: '15F3DA1C0E6F0779B96859D51171DD27'
- }
- TestFrame {
- time: 1456
- hash: '258C0C756AAC3DE743B43051F2AACE6B'
- }
- TestFrame {
- time: 1472
- hash: 'A58B9FDF301D72B2CC5C93934CC8927B'
- }
- TestFrame {
- time: 1488
- hash: 'A9181D30870D472521F8904818CE520F'
- }
- TestFrame {
- time: 1504
- hash: '7F9E94069CCF3897C26A71BD7BECD903'
- }
- TestFrame {
- time: 1520
- hash: 'BDF305C2F46CDB86DBF57B1E0CC5A65B'
- }
- TestFrame {
- time: 1536
- hash: 'FE5B6865D7E4FC7D1D42C1E74F8666F7'
- }
- TestFrame {
- time: 1552
- hash: '734F0DE45A6E34C9EAB7EF606196F96A'
- }
- TestFrame {
- time: 1568
- hash: '02A361C4534FDF7F286DC3E6DC23275C'
- }
- TestFrame {
- time: 1584
- hash: 'E649155AD69999C14B92F6561E4D1185'
- }
- TestFrame {
- time: 1600
- hash: '01AF177084FAB755D622973F64B92018'
- }
- TestFrame {
- time: 1616
- hash: '097CC4A082DFAB995D213A3A73883C97'
- }
- TestFrame {
- time: 1632
- hash: 'D7B4239A3280B1EB8E885E3F422DF8E9'
- }
- TestFrame {
- time: 1648
- hash: '59893977994E34E83F91E7CE3AD65D6D'
- }
- TestFrame {
- time: 1664
- hash: 'B68E3FBB5CDCD6BD96DF7DEC558DB42B'
- }
- TestFrame {
- time: 1680
- hash: '94AD0580648F36A1E18A9EA7E249B04D'
- }
- TestFrame {
- time: 1696
- hash: '750A4C01D2F5806A89A1C6CC6A9B9A68'
- }
- TestFrame {
- time: 1712
- hash: '4F109F50F388F1BFA4BC6B03B3E6E514'
- }
- TestFrame {
- time: 1728
- hash: 'C6168D5CF27A533E8EE636637667BE47'
- }
- TestFrame {
- time: 1744
- hash: 'F8120547BED987AA34C00DA5A01A4D1E'
- }
- TestFrame {
- time: 1760
- hash: 'CBFF526136FA2C128C8B898FBBEF9E5C'
- }
- TestFrame {
- time: 1776
- hash: 'F29E52398FAB1A239A63DF4C32F2FC69'
- }
- TestFrame {
- time: 1792
- hash: '7178BFE86FD2FD513218B33760460F8D'
- }
- TestFrame {
- time: 1808
- hash: 'CA83285BC8AC633403896FE976896EB0'
- }
- TestFrame {
- time: 1824
- hash: '96BA486C09CC69D5AA38C46C00DF1181'
- }
- TestFrame {
- time: 1840
- hash: 'B88EAB335842787869F4A14824C19DD8'
- }
- TestFrame {
- time: 1856
- hash: '065AA59012729E1E1A246A2083142690'
- }
- TestFrame {
- time: 1872
- hash: 'DD0E98C8398861002C5F178C5F9F612D'
- }
- TestFrame {
- time: 1888
- hash: '04192C2B545948048ECCF4D81BBDE198'
- }
- TestFrame {
- time: 1904
- hash: 'BB7502C7208281EF9FD41714AB88A1A8'
- }
- TestFrame {
- time: 1920
- hash: '5397195471890D08B703DCA101E5BC7C'
- }
- TestFrame {
- time: 1936
- hash: '4C678CDBEBB2FFD2CBF012CA77800CDE'
- }
- TestFrame {
- time: 1952
- hash: '0D7A34ECD0C7F52B2C015037BF1902C6'
- }
- TestFrame {
- time: 1968
- hash: 'FD9D5048BE749AC4369FDA2D018B43AE'
- }
- TestFrame {
- time: 1984
- hash: '93EE03795CD57AE6F7FE3A020B039AD4'
- }
- TestFrame {
- time: 2000
- hash: '5E1118963F219C39761CA7FBF564A9CA'
- }
- TestFrame {
- time: 2016
- hash: '8F40038741903150136170503649D941'
- }
- TestFrame {
- time: 2032
- hash: 'B087B7D0AA6224821F8E18718FF5E77D'
- }
- TestFrame {
- time: 2048
- hash: 'AA46B04A3C67DC772265ED2901955565'
- }
- TestFrame {
- time: 2064
- hash: 'AC024BF2AEB4BECDF31A09FE0A6DB8F3'
- }
- TestFrame {
- time: 2080
- hash: '13745A174E4D06E2108A5BF125BA50CC'
- }
- TestFrame {
- time: 2096
- hash: 'BD972F0D8E230ECA0B3FEA1B8C960C08'
- }
- TestFrame {
- time: 2112
- hash: 'CBDBEC802A58E7CED0CF45B3AB0BC0BA'
- }
- TestFrame {
- time: 2128
- hash: '5128584C50305C7D218B81B8367FA3D5'
- }
- TestFrame {
- time: 2144
- hash: 'A71461D3593F3685620668916DE870BD'
- }
- TestFrame {
- time: 2160
- hash: '74EBAC8F32CF044B58D9883DBCD9A722'
- }
- TestFrame {
- time: 2176
- hash: 'FEDC5B638F339B90FE59B478721E65B7'
- }
- TestFrame {
- time: 2192
- hash: 'BCB8C7159F54C353551DD3BFF3203966'
- }
- TestFrame {
- time: 2208
- hash: '4E9B083075BC5E9287A8ABC982778B56'
- }
- TestFrame {
- time: 2224
- hash: '1D6F02AA99AFA47D77FC49AB894B365A'
- }
- TestFrame {
- time: 2240
- hash: 'A204FEEC783B3B05DE4C209C21745826'
- }
- TestFrame {
- time: 2256
- hash: '665A2A8FF00B9663157802767F504754'
- }
- TestFrame {
- time: 2272
- hash: '624FB09EBE60CB87D767FAF8D2420B1E'
- }
- TestFrame {
- time: 2288
- hash: 'E5AF0CDC33F3275A25ABB09E9165F310'
- }
- TestFrame {
- time: 2304
- hash: '02BAFB5A81CA66F7670AC93DE5123860'
- }
- TestFrame {
- time: 2320
- hash: 'E7AA6374C73832E57CEB2427A1E258AA'
- }
- TestFrame {
- time: 2336
- hash: 'B5ABD0DFF1AB076FAAC7CC226E83F5D0'
- }
- TestFrame {
- time: 2352
- hash: 'B759ACC35BCCFF8EFC2E6FE276DDC0F7'
- }
- TestFrame {
- time: 2368
- hash: 'CE52E18C1F7732768779863B45314FF5'
- }
- TestFrame {
- time: 2384
- hash: '99D30652559DD6931E0C95543EEAA149'
- }
- TestFrame {
- time: 2400
- hash: 'FFBD9A00E05E085B89296D19D5CAEC57'
- }
- TestFrame {
- time: 2416
- hash: '9C9D658B9C25602816B8066BF19105DB'
- }
- TestFrame {
- time: 2432
- hash: '2B7FD058E6601E22A30BB7106B1C683B'
- }
- TestFrame {
- time: 2448
- hash: 'F4C7E26B19EE0A3E7C9688685EB7BD05'
- }
- TestFrame {
- time: 2464
- hash: '0DC6D593BCEFF56B7F81F2A49D37FEFB'
- }
- TestFrame {
- time: 2480
- hash: '9BFD7AD5091CCBDDE43C593E133A7B10'
- }
- TestFrame {
- time: 2496
- hash: '2703B617937914A90EA42EBF249D79EE'
- }
- TestFrame {
- time: 2512
- hash: 'B77E2983138254016C4CCA53100F46FA'
- }
- TestFrame {
- time: 2528
- hash: '60C4DD24187D1281081479E586F02B37'
- }
- TestFrame {
- time: 2544
- hash: '62F2511ABD99EF1231C9FA4B91D4ABFE'
- }
- TestFrame {
- time: 2560
- hash: 'E309B3353FD174E883D309571CADDC98'
- }
- TestFrame {
- time: 2576
- hash: '1E2D6A134C7B12DDE551B148EF4F088C'
- }
- TestFrame {
- time: 2592
- hash: 'E5DC5450604A491CC24A0DCF5C278B58'
- }
- TestFrame {
- time: 2608
- hash: 'C8DAE97C10E1962C1E6A51AB3AB8579E'
- }
- TestFrame {
- time: 2624
- hash: '4E1B7E06F55FB084080689B474F1FE1D'
- }
- TestFrame {
- time: 2640
- hash: 'B4639C907FA937BF15FAC62421170CD8'
- }
- TestFrame {
- time: 2656
- hash: 'C250208A0CAEB5F6CB4D3AAC3D7D350B'
- }
- TestFrame {
- time: 2672
- hash: 'A73351EABECF0D71149EFE31F197413E'
- }
- TestFrame {
- time: 2688
- hash: '479425F1B7AFF79E4DFB7FCA534AF018'
- }
- TestFrame {
- time: 2704
- hash: '046D0F0040A52D1F26BA9F7C5DE06EF4'
- }
- TestFrame {
- time: 2720
- hash: '655778BF13C6080903150B0EB43A7EDC'
- }
- TestFrame {
- time: 2736
- hash: '72DA0BBE81514870655FDD3354ADAC60'
- }
- TestFrame {
- time: 2752
- hash: 'DEFE0BDF675C65FFF55AAACED1E4DAE7'
- }
- TestFrame {
- time: 2768
- hash: 'C988628B6C3D3780E9A865C7694926CD'
- }
- TestFrame {
- time: 2784
- hash: '5AB17563655231089EDD986FF13D6012'
- }
- TestFrame {
- time: 2800
- hash: 'C1ADFF1D2E5800ED466D1691D3B17382'
- }
- TestFrame {
- time: 2816
- hash: '70129BA01FBB19592B9DC0D0A3B3E7DF'
- }
- TestFrame {
- time: 2832
- hash: '0000829EF7ED908BF430D42904D59CC2'
- }
- TestFrame {
- time: 2848
- hash: '843D2927F50AB87B4A86B7A6AAEED91F'
- }
- TestFrame {
- time: 2864
- hash: 'DA86D21756025E7DE8050586D5E2A1F8'
- }
- TestFrame {
- time: 2880
- hash: '48DD1BD6580133B0793FEE327EA4F1E6'
- }
- TestFrame {
- time: 2896
- hash: 'F0618193DCD0BA2837249515A1898B1C'
- }
- TestFrame {
- time: 2912
- hash: 'A530184E57251065286C0CBBA7301E9C'
- }
- TestFrame {
- time: 2928
- hash: '64A1D7203973D65DD342793007A61C58'
- }
- TestFrame {
- time: 2944
- hash: '5B830DFC6BA442772DE87D75D5A578DE'
- }
- TestFrame {
- time: 2960
- hash: '5563B056B0409B65F60DD16DD0DD890E'
- }
- TestFrame {
- time: 2976
- hash: 'B8BCF9AD2CA8720C11563A23D8280804'
- }
- TestFrame {
- time: 2992
- hash: '8C0FCDA4F8956394C53FC4BA18CAA850'
- }
-}
diff --git a/tests/auto/declarative/visual/colorAnimation/data/raster/manifest.xml b/tests/auto/declarative/visual/colorAnimation/data/raster/manifest.xml
deleted file mode 100644
index 1fe2f15..0000000
--- a/tests/auto/declarative/visual/colorAnimation/data/raster/manifest.xml
+++ /dev/null
@@ -1,522 +0,0 @@
-TestLog {
- TestFullFrame {
- time: 0
- frameId: 0
- }
- TestFrame {
- time: 16
- hash: 'E5BDA0DAF98288CE18DB6CE06EDA3BA0'
- }
- TestFrame {
- time: 32
- hash: 'D35008F75B8C992F80FB16BA7203649D'
- }
- TestFrame {
- time: 48
- hash: '14F43E0784DDF42EA8550DB88C501BF1'
- }
- TestFrame {
- time: 64
- hash: '02276E158B5391480B1BDEAADF1FB903'
- }
- TestFrame {
- time: 80
- hash: '35D9513EB97A2C482B7CD197DE910934'
- }
- TestFrame {
- time: 96
- hash: 'FAF0FD681E60BB2489099F5DF772B6CD'
- }
- TestFrame {
- time: 112
- hash: 'A863D3E346F94785A3A392FDC91526EB'
- }
- TestFrame {
- time: 128
- hash: 'FDF328D3F6EB8410DA59A91345E41A44'
- }
- TestFrame {
- time: 144
- hash: '83514A3B10D5BE8F6C3B128D0F3E0B1C'
- }
- TestFrame {
- time: 160
- hash: 'EAD0EAE76CD00189075964671EFFBAEA'
- }
- TestFrame {
- time: 176
- hash: '24D2457FCD51490FDA23071BF9929D12'
- }
- TestFrame {
- time: 192
- hash: '1478683446CF543DACBE31D0B76A98A6'
- }
- TestFrame {
- time: 208
- hash: '99F7DA1F31FE920F6C02ADD4042AE925'
- }
- TestFrame {
- time: 224
- hash: '22DEF892006CF66667770B0F17BAF6C0'
- }
- TestFrame {
- time: 240
- hash: '6A36D5A77099BFD58BAF285478FF04E4'
- }
- TestFrame {
- time: 256
- hash: '6258150666B59B20AB476724C07FC20C'
- }
- TestFrame {
- time: 272
- hash: 'F1636315BC950A6DD400D9C7ED263B88'
- }
- TestFrame {
- time: 288
- hash: '18447EA8DC2E8DA956788E5B3CF3790A'
- }
- TestFrame {
- time: 304
- hash: '1D2A6E65997A73E9E670356C8E8B63B2'
- }
- TestFrame {
- time: 320
- hash: 'BED0242C0F9EF229D1392835286D5782'
- }
- TestFrame {
- time: 336
- hash: '88923C190E9E5BEADEF8A409C06DF9D6'
- }
- TestFrame {
- time: 352
- hash: '2D133E7EE60C97386F57838B3F0976C7'
- }
- TestFrame {
- time: 368
- hash: '85B1821CC50F2A9F3ED6944F792B7A2F'
- }
- TestFrame {
- time: 384
- hash: '395195716D76BC0BE7B2033ED37A7A1C'
- }
- TestFrame {
- time: 400
- hash: '243DBFFCF416926242BBCB7348974C4C'
- }
- TestFrame {
- time: 416
- hash: 'A755068679616D8AC65C2AA7431F2A19'
- }
- TestFrame {
- time: 432
- hash: 'E8249B35A47EB492CBDF2D91CC8426F0'
- }
- TestFrame {
- time: 448
- hash: '15F3DA1C0E6F0779B96859D51171DD27'
- }
- TestFrame {
- time: 464
- hash: '258C0C756AAC3DE743B43051F2AACE6B'
- }
- TestFrame {
- time: 480
- hash: 'A58B9FDF301D72B2CC5C93934CC8927B'
- }
- TestFrame {
- time: 496
- hash: 'A9181D30870D472521F8904818CE520F'
- }
- TestFrame {
- time: 512
- hash: '7F9E94069CCF3897C26A71BD7BECD903'
- }
- TestFrame {
- time: 528
- hash: 'BDF305C2F46CDB86DBF57B1E0CC5A65B'
- }
- TestFrame {
- time: 544
- hash: 'FE5B6865D7E4FC7D1D42C1E74F8666F7'
- }
- TestFrame {
- time: 560
- hash: '734F0DE45A6E34C9EAB7EF606196F96A'
- }
- TestFrame {
- time: 576
- hash: '02A361C4534FDF7F286DC3E6DC23275C'
- }
- TestFrame {
- time: 592
- hash: 'E649155AD69999C14B92F6561E4D1185'
- }
- TestFrame {
- time: 608
- hash: '01AF177084FAB755D622973F64B92018'
- }
- TestFrame {
- time: 624
- hash: '097CC4A082DFAB995D213A3A73883C97'
- }
- TestFrame {
- time: 640
- hash: 'D7B4239A3280B1EB8E885E3F422DF8E9'
- }
- TestFrame {
- time: 656
- hash: '59893977994E34E83F91E7CE3AD65D6D'
- }
- TestFrame {
- time: 672
- hash: 'B68E3FBB5CDCD6BD96DF7DEC558DB42B'
- }
- TestFrame {
- time: 688
- hash: '94AD0580648F36A1E18A9EA7E249B04D'
- }
- TestFrame {
- time: 704
- hash: '750A4C01D2F5806A89A1C6CC6A9B9A68'
- }
- TestFrame {
- time: 720
- hash: '4F109F50F388F1BFA4BC6B03B3E6E514'
- }
- TestFrame {
- time: 736
- hash: 'C6168D5CF27A533E8EE636637667BE47'
- }
- TestFrame {
- time: 752
- hash: 'F8120547BED987AA34C00DA5A01A4D1E'
- }
- TestFrame {
- time: 768
- hash: 'CBFF526136FA2C128C8B898FBBEF9E5C'
- }
- TestFrame {
- time: 784
- hash: 'F29E52398FAB1A239A63DF4C32F2FC69'
- }
- TestFrame {
- time: 800
- hash: '7178BFE86FD2FD513218B33760460F8D'
- }
- TestFrame {
- time: 816
- hash: 'CA83285BC8AC633403896FE976896EB0'
- }
- TestFrame {
- time: 832
- hash: '96BA486C09CC69D5AA38C46C00DF1181'
- }
- TestFrame {
- time: 848
- hash: 'B88EAB335842787869F4A14824C19DD8'
- }
- TestFrame {
- time: 864
- hash: '065AA59012729E1E1A246A2083142690'
- }
- TestFrame {
- time: 880
- hash: 'DD0E98C8398861002C5F178C5F9F612D'
- }
- TestFrame {
- time: 896
- hash: '04192C2B545948048ECCF4D81BBDE198'
- }
- TestMouse {
- time: 912
- type: 2
- button: 1
- buttons: 1
- globalPos: '1739,207'
- pos: '75,95'
- }
- TestFrame {
- time: 912
- hash: 'BB7502C7208281EF9FD41714AB88A1A8'
- }
- TestFrame {
- time: 928
- hash: '5397195471890D08B703DCA101E5BC7C'
- }
- TestFrame {
- time: 944
- hash: '4C678CDBEBB2FFD2CBF012CA77800CDE'
- }
- TestFrame {
- time: 960
- hash: '0D7A34ECD0C7F52B2C015037BF1902C6'
- }
- TestMouse {
- time: 976
- type: 3
- button: 1
- buttons: 0
- globalPos: '1739,207'
- pos: '75,95'
- }
- TestFrame {
- time: 976
- hash: 'FD9D5048BE749AC4369FDA2D018B43AE'
- }
- TestFrame {
- time: 992
- hash: '93EE03795CD57AE6F7FE3A020B039AD4'
- }
- TestFrame {
- time: 1008
- hash: '5E1118963F219C39761CA7FBF564A9CA'
- }
- TestFrame {
- time: 1024
- hash: '8F40038741903150136170503649D941'
- }
- TestFrame {
- time: 1040
- hash: 'B087B7D0AA6224821F8E18718FF5E77D'
- }
- TestFrame {
- time: 1056
- hash: 'AA46B04A3C67DC772265ED2901955565'
- }
- TestFrame {
- time: 1072
- hash: 'AC024BF2AEB4BECDF31A09FE0A6DB8F3'
- }
- TestFrame {
- time: 1088
- hash: '13745A174E4D06E2108A5BF125BA50CC'
- }
- TestFrame {
- time: 1104
- hash: 'BD972F0D8E230ECA0B3FEA1B8C960C08'
- }
- TestFrame {
- time: 1120
- hash: 'CBDBEC802A58E7CED0CF45B3AB0BC0BA'
- }
- TestFrame {
- time: 1136
- hash: '5128584C50305C7D218B81B8367FA3D5'
- }
- TestFrame {
- time: 1152
- hash: 'A71461D3593F3685620668916DE870BD'
- }
- TestFrame {
- time: 1168
- hash: '74EBAC8F32CF044B58D9883DBCD9A722'
- }
- TestFrame {
- time: 1184
- hash: 'FEDC5B638F339B90FE59B478721E65B7'
- }
- TestFrame {
- time: 1200
- hash: 'BCB8C7159F54C353551DD3BFF3203966'
- }
- TestFrame {
- time: 1216
- hash: '4E9B083075BC5E9287A8ABC982778B56'
- }
- TestFrame {
- time: 1232
- hash: '1D6F02AA99AFA47D77FC49AB894B365A'
- }
- TestFrame {
- time: 1248
- hash: 'A204FEEC783B3B05DE4C209C21745826'
- }
- TestFrame {
- time: 1264
- hash: '665A2A8FF00B9663157802767F504754'
- }
- TestFrame {
- time: 1280
- hash: '624FB09EBE60CB87D767FAF8D2420B1E'
- }
- TestFrame {
- time: 1296
- hash: 'E5AF0CDC33F3275A25ABB09E9165F310'
- }
- TestFrame {
- time: 1312
- hash: '02BAFB5A81CA66F7670AC93DE5123860'
- }
- TestFrame {
- time: 1328
- hash: 'E7AA6374C73832E57CEB2427A1E258AA'
- }
- TestFrame {
- time: 1344
- hash: 'B5ABD0DFF1AB076FAAC7CC226E83F5D0'
- }
- TestFrame {
- time: 1360
- hash: 'B759ACC35BCCFF8EFC2E6FE276DDC0F7'
- }
- TestFrame {
- time: 1376
- hash: 'CE52E18C1F7732768779863B45314FF5'
- }
- TestFrame {
- time: 1392
- hash: '99D30652559DD6931E0C95543EEAA149'
- }
- TestFrame {
- time: 1408
- hash: 'FFBD9A00E05E085B89296D19D5CAEC57'
- }
- TestFrame {
- time: 1424
- hash: '9C9D658B9C25602816B8066BF19105DB'
- }
- TestFrame {
- time: 1440
- hash: '2B7FD058E6601E22A30BB7106B1C683B'
- }
- TestFrame {
- time: 1456
- hash: 'F4C7E26B19EE0A3E7C9688685EB7BD05'
- }
- TestFrame {
- time: 1472
- hash: '0DC6D593BCEFF56B7F81F2A49D37FEFB'
- }
- TestFrame {
- time: 1488
- hash: '9BFD7AD5091CCBDDE43C593E133A7B10'
- }
- TestFrame {
- time: 1504
- hash: '2703B617937914A90EA42EBF249D79EE'
- }
- TestFrame {
- time: 1520
- hash: 'B77E2983138254016C4CCA53100F46FA'
- }
- TestFrame {
- time: 1536
- hash: '60C4DD24187D1281081479E586F02B37'
- }
- TestFrame {
- time: 1552
- hash: '62F2511ABD99EF1231C9FA4B91D4ABFE'
- }
- TestFrame {
- time: 1568
- hash: 'E309B3353FD174E883D309571CADDC98'
- }
- TestFrame {
- time: 1584
- hash: '1E2D6A134C7B12DDE551B148EF4F088C'
- }
- TestFrame {
- time: 1600
- hash: 'E5DC5450604A491CC24A0DCF5C278B58'
- }
- TestFrame {
- time: 1616
- hash: 'C8DAE97C10E1962C1E6A51AB3AB8579E'
- }
- TestFrame {
- time: 1632
- hash: '4E1B7E06F55FB084080689B474F1FE1D'
- }
- TestFrame {
- time: 1648
- hash: 'B4639C907FA937BF15FAC62421170CD8'
- }
- TestFrame {
- time: 1664
- hash: 'C250208A0CAEB5F6CB4D3AAC3D7D350B'
- }
- TestFrame {
- time: 1680
- hash: 'A73351EABECF0D71149EFE31F197413E'
- }
- TestFrame {
- time: 1696
- hash: '479425F1B7AFF79E4DFB7FCA534AF018'
- }
- TestFrame {
- time: 1712
- hash: '046D0F0040A52D1F26BA9F7C5DE06EF4'
- }
- TestFrame {
- time: 1728
- hash: '655778BF13C6080903150B0EB43A7EDC'
- }
- TestFrame {
- time: 1744
- hash: '72DA0BBE81514870655FDD3354ADAC60'
- }
- TestFrame {
- time: 1760
- hash: 'DEFE0BDF675C65FFF55AAACED1E4DAE7'
- }
- TestFrame {
- time: 1776
- hash: 'C988628B6C3D3780E9A865C7694926CD'
- }
- TestFrame {
- time: 1792
- hash: '5AB17563655231089EDD986FF13D6012'
- }
- TestFrame {
- time: 1808
- hash: 'C1ADFF1D2E5800ED466D1691D3B17382'
- }
- TestFrame {
- time: 1824
- hash: '70129BA01FBB19592B9DC0D0A3B3E7DF'
- }
- TestFrame {
- time: 1840
- hash: '0000829EF7ED908BF430D42904D59CC2'
- }
- TestFrame {
- time: 1856
- hash: '843D2927F50AB87B4A86B7A6AAEED91F'
- }
- TestFrame {
- time: 1872
- hash: 'DA86D21756025E7DE8050586D5E2A1F8'
- }
- TestFrame {
- time: 1888
- hash: '48DD1BD6580133B0793FEE327EA4F1E6'
- }
- TestFrame {
- time: 1904
- hash: 'F0618193DCD0BA2837249515A1898B1C'
- }
- TestFrame {
- time: 1920
- hash: 'A530184E57251065286C0CBBA7301E9C'
- }
- TestFrame {
- time: 1936
- hash: '64A1D7203973D65DD342793007A61C58'
- }
- TestFrame {
- time: 1952
- hash: '5B830DFC6BA442772DE87D75D5A578DE'
- }
- TestFrame {
- time: 1968
- hash: '5563B056B0409B65F60DD16DD0DD890E'
- }
- TestFrame {
- time: 1984
- hash: 'B8BCF9AD2CA8720C11563A23D8280804'
- }
- TestFrame {
- time: 2000
- hash: '8C0FCDA4F8956394C53FC4BA18CAA850'
- }
-}
diff --git a/tests/auto/declarative/visual/colorAnimation/manifest-play.xml b/tests/auto/declarative/visual/colorAnimation/manifest-play.xml
deleted file mode 100644
index 8e3de2e..0000000
--- a/tests/auto/declarative/visual/colorAnimation/manifest-play.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<TestLog>
- <TestFullFrame time="30" frameId="0"/>
- <TestMouse time="480" type="2" button="1" buttons="1" globalPos="93,129" pos="89,102"/>
- <TestMouse time="570" type="3" button="1" buttons="0" globalPos="93,129" pos="89,102"/>
- <TestFrame time="630" hash="D42762ECD293C6922C5F9593126DE636"/>
- <TestFrame time="660" hash="8962505FCCB2E7559A99A8EDD325A82B"/>
- <TestFrame time="690" hash="6812EFDA80607D4FA05CD3A5077F8EF7"/>
- <TestFrame time="720" hash="A116DF73809679C1C5F9261F49B989F0"/>
- <TestFrame time="750" hash="DC1B9D40AEE306171AD6625DDCA4EB45"/>
- <TestFrame time="780" hash="B2DAF0E4C32080229664A8B0A155DE3B"/>
- <TestFrame time="810" hash="496677B0D8707B91566D1244C46D50DB"/>
- <TestFrame time="840" hash="A6558D8B0D1FB1D11BEBE36C078386CE"/>
- <TestFrame time="870" hash="601436BB436D391B0BD5FCC289666208"/>
- <TestFrame time="900" hash="8CF3CF9EAD875497870CC7C1035802DC"/>
- <TestFrame time="930" hash="FF6BA6BAC30DADD3DBBFD96F127EB1FE"/>
- <TestFrame time="960" hash="1D97A2A6890078DCF4CE9E508E5F9F08"/>
- <TestFrame time="990" hash="58C9116FDDD03DD036820EFCD0DCD392"/>
- <TestFrame time="1020" hash="E51287B911C140B41D350FCB2091AB80"/>
- <TestFrame time="1050" hash="7B107411B436FABE469A069E6E5B0C3C"/>
- <TestFrame time="1080" hash="9D1CB0E58F2BD00DDA0FB463F6BFF526"/>
- <TestFrame time="1110" hash="35AB7788489B79E5A5C6F2BE11AFC9E1"/>
- <TestFrame time="1140" hash="C82177AC4A7A497469292C5F0F8C4913"/>
- <TestFrame time="1170" hash="18763D1B911FDC524DB9E7B2569FE984"/>
- <TestFrame time="1200" hash="27F63572AAEF6D835272D5D65FCF608B"/>
- <TestFrame time="1230" hash="585727CAEC1F83ADB9E422BAF058A622"/>
- <TestFrame time="1260" hash="2C3BBFEFBE6E5FDA1905E9F50985E1B4"/>
- <TestFrame time="1290" hash="81675C4ABB2696D960BC5F204F05F16B"/>
- <TestFrame time="1320" hash="6D0F3CCC06EF1E3A895ECC9A8DE90039"/>
- <TestFrame time="1350" hash="0BF36093CCAEA8BDAE96D4939A8DDE20"/>
- <TestFrame time="1380" hash="5A1CBC68AB59977B65492B0F8A664418"/>
- <TestFrame time="1410" hash="C35831A8C59D56193CED2C4AADB4DFCE"/>
- <TestFrame time="1440" hash="ED15973425A8B8528896B344A61393AA"/>
- <TestFrame time="1470" hash="EA8FC02A8606680C089F0C0CE454ABE3"/>
- <TestFrame time="1500" hash="CFB5CFBA0A0BC62C0D03908FB9599A8E"/>
- <TestFrame time="1530" hash="09FAA04AFB50B48BD6A83F9E25F9DDDB"/>
- <TestFrame time="1560" hash="0FDD0B8CDCCEB78C7C67AB0F5EA74D6A"/>
- <TestFrame time="1590" hash="058D26146879900B5E5CCE05AE38BA0E"/>
- <TestFrame time="1620" hash="80F9074C50F967C99D4C3A3FF9EC3E71"/>
- <TestFrame time="1650" hash="AD9BDCEEC1C058D6B658C5BA0D0BC1F0"/>
- <TestFrame time="1680" hash="AC14DF5458F91001181154F8C68BCE2B"/>
- <TestFrame time="1710" hash="AE9225263E4C8E75E4D0F1D7192B4260"/>
- <TestFrame time="1740" hash="D3D50F1B7F476E79E5B99E0E6D4CF827"/>
- <TestFrame time="1770" hash="A1367445C5232ACCBF4904A415416EA4"/>
- <TestFrame time="1800" hash="A21C0F1DA9B64A5B000558BA1F2E495D"/>
- <TestFrame time="1830" hash="61AF477B6FB22E38E698375EA5793D22"/>
- <TestFrame time="1860" hash="B3AD3501D527939CEAA4F124AB10B2DF"/>
- <TestFrame time="1890" hash="0C2BF65A43AE87AFB0068F9FA4A74707"/>
- <TestFrame time="1920" hash="5B7F96C797BEE4FD1B04538DE5549C1B"/>
- <TestFrame time="1950" hash="4C861E936A3F1AFE323395E30174F8CC"/>
- <TestFrame time="1980" hash="87F1966E5B0E924EB7CEED5520D120BF"/>
- <TestFrame time="2010" hash="1980755E0D80469D4DC0B9B0309F2DEB"/>
- <TestFrame time="2040" hash="38A7ACC2E5607FC0965B7B376A0D3524"/>
- <TestFrame time="2070" hash="4434746833EFF5A3A76491024763990A"/>
- <TestFrame time="2100" hash="A8BAD928F92E851B45723068B7FEF739"/>
- <TestFrame time="2130" hash="A96F5C522C0ECA5C78E982E4235218CB"/>
- <TestFrame time="2160" hash="135F0EFEDE2832B76F49966EBD629879"/>
- <TestFrame time="2190" hash="A51C6E443413F184CAAE8A7F98A369C8"/>
- <TestFrame time="2220" hash="62A7521EE62E6A2543B3141C1EFCE72A"/>
- <TestFrame time="2250" hash="D416A41125659167B3E6AD68F66F6E64"/>
- <TestFrame time="2280" hash="0F653B5E965665A43F50437724DC704C"/>
- <TestFrame time="2310" hash="13A6E2485179501FF3AA8BA91A5050B4"/>
- <TestFrame time="2340" hash="9423475D3832FBABEC56B80FA9161020"/>
- <TestFrame time="2370" hash="497B21108A6CB127DB066B32D06D992A"/>
- <TestFrame time="2400" hash="22F01CB9B4F8FF01410566A61E281373"/>
- <TestFrame time="2430" hash="A099640BC088E14E20585CB87FC5C6F1"/>
- <TestFrame time="2460" hash="AC2954553C333EA1D524CE51CD35958A"/>
- <TestFrame time="2490" hash="771E882CC788BECAA82E71E6FBAB150D"/>
- <TestFrame time="2520" hash="42CEDA45D88A8D2B3DA5B749F4C3C1BF"/>
- <TestFrame time="2550" hash="C6E1F91B917E47246E012D1B203E0DC2"/>
- <TestFrame time="2580" hash="EFB3E57CF265B6E36AA4DF72771D119C"/>
- <TestFrame time="2610" hash="657FC7FD496E5A2FC84F63930E0D1DE3"/>
-</TestLog>
diff --git a/tests/auto/declarative/visual/easing/data/easing.0.png b/tests/auto/declarative/visual/easing/data/easing.0.png
new file mode 100644
index 0000000..fa078ae
--- /dev/null
+++ b/tests/auto/declarative/visual/easing/data/easing.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/easing/data/easing.1.png b/tests/auto/declarative/visual/easing/data/easing.1.png
new file mode 100644
index 0000000..fa078ae
--- /dev/null
+++ b/tests/auto/declarative/visual/easing/data/easing.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/easing/data/easing.2.png b/tests/auto/declarative/visual/easing/data/easing.2.png
new file mode 100644
index 0000000..fa078ae
--- /dev/null
+++ b/tests/auto/declarative/visual/easing/data/easing.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/easing/data/easing.qml b/tests/auto/declarative/visual/easing/data/easing.qml
new file mode 100644
index 0000000..d991596
--- /dev/null
+++ b/tests/auto/declarative/visual/easing/data/easing.qml
@@ -0,0 +1,867 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 32
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 48
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 64
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 80
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 96
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 112
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 128
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 144
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 160
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 176
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 192
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 208
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 224
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 240
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 256
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 272
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 288
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 304
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 320
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 336
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 352
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 368
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 384
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 400
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 416
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 432
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 448
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 464
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 480
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 496
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 293; y: 405
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 512
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 528
+ hash: "b7f8cf8b426db83a5a4cc1f673650842"
+ }
+ Frame {
+ msec: 544
+ hash: "f9a41aaf57b18271d467b73e609c8a28"
+ }
+ Frame {
+ msec: 560
+ hash: "2607ceafe74863a4810fc11754be7745"
+ }
+ Frame {
+ msec: 576
+ hash: "c80df114e67af7c9c4d61917938bba60"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 293; y: 405
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 592
+ hash: "c80df114e67af7c9c4d61917938bba60"
+ }
+ Frame {
+ msec: 608
+ hash: "c80df114e67af7c9c4d61917938bba60"
+ }
+ Frame {
+ msec: 624
+ hash: "21fb97b78a419db73303a01ae99820ea"
+ }
+ Frame {
+ msec: 640
+ hash: "2b3878b2698798e94a9fcf429be908d0"
+ }
+ Frame {
+ msec: 656
+ hash: "78ce8b817edec30801720203b01eefa8"
+ }
+ Frame {
+ msec: 672
+ hash: "2560e4300b06cf33dcd58880ddb298f3"
+ }
+ Frame {
+ msec: 688
+ hash: "2a25abaa2b0ce9b5b39b2fa04ef4c77d"
+ }
+ Frame {
+ msec: 704
+ hash: "52bd37c4dc3ba8ebf8152b0f1e35e4b0"
+ }
+ Frame {
+ msec: 720
+ hash: "6921eb51b6d967980adc28d964d5a88f"
+ }
+ Frame {
+ msec: 736
+ hash: "b6d8f7879a170a0311a3f4689388dd40"
+ }
+ Frame {
+ msec: 752
+ hash: "7ebefa6c5ce5dd18d3df566fd9f396fe"
+ }
+ Frame {
+ msec: 768
+ hash: "8c097cf34a1af48e336581c01f166978"
+ }
+ Frame {
+ msec: 784
+ hash: "2a28843361f763ba83b02a0c8ef5094b"
+ }
+ Frame {
+ msec: 800
+ hash: "07d699dc6dc9e3013a83dff04ae0956e"
+ }
+ Frame {
+ msec: 816
+ hash: "09935d52bf4602cbdc06c6e5e755bc64"
+ }
+ Frame {
+ msec: 832
+ hash: "fcad934f3cf4f542ab8cd70ef3915e44"
+ }
+ Frame {
+ msec: 848
+ hash: "602bfdd9831ef1facb42e031c545749f"
+ }
+ Frame {
+ msec: 864
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 880
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 896
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 912
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 928
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 944
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 960
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/easing/data/easing.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 992
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1008
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1024
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1040
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1056
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1072
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1088
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1104
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1120
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1136
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1152
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1168
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1184
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1200
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1216
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1232
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1248
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1264
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1280
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1296
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1312
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1328
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1344
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1360
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1376
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1392
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 293; y: 405
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1408
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1424
+ hash: "b7f8cf8b426db83a5a4cc1f673650842"
+ }
+ Frame {
+ msec: 1440
+ hash: "f9a41aaf57b18271d467b73e609c8a28"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 293; y: 405
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1456
+ hash: "f9a41aaf57b18271d467b73e609c8a28"
+ }
+ Frame {
+ msec: 1472
+ hash: "f9a41aaf57b18271d467b73e609c8a28"
+ }
+ Frame {
+ msec: 1488
+ hash: "6837618bfafa541897d1f749de527ef0"
+ }
+ Frame {
+ msec: 1504
+ hash: "c50ce6e3c3a212d2ffdb72a1d3588f42"
+ }
+ Frame {
+ msec: 1520
+ hash: "33c6a60e9e82a01055202dd937db2770"
+ }
+ Frame {
+ msec: 1536
+ hash: "c8d2e502901da8f44eaf9684e1a4adea"
+ }
+ Frame {
+ msec: 1552
+ hash: "d51c5f7c9bac986a9c2ce7323a69f864"
+ }
+ Frame {
+ msec: 1568
+ hash: "687214f92a4cc60c5208a59a7824e30e"
+ }
+ Frame {
+ msec: 1584
+ hash: "7fe974f28880037ec592c0525468248a"
+ }
+ Frame {
+ msec: 1600
+ hash: "c7aa4f0ffbc0b5e231cce0c75dec7a97"
+ }
+ Frame {
+ msec: 1616
+ hash: "7000e685420a3fbf1d3d7d22b745c58f"
+ }
+ Frame {
+ msec: 1632
+ hash: "3f85aa08cf725234319ab01ff16b4bff"
+ }
+ Frame {
+ msec: 1648
+ hash: "326347eb8a01236464140bbcc84745a7"
+ }
+ Frame {
+ msec: 1664
+ hash: "e0fed8a1bc453b09df05ff9a5326b38a"
+ }
+ Frame {
+ msec: 1680
+ hash: "a81d7fb7673449a38579baf879313b63"
+ }
+ Frame {
+ msec: 1696
+ hash: "69235e99941bf5d6c50fbe6dbbda5945"
+ }
+ Frame {
+ msec: 1712
+ hash: "346e107de2853c5b1ba74411ceafaf8d"
+ }
+ Frame {
+ msec: 1728
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1744
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1760
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1776
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1792
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1808
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1824
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1840
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1856
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1872
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1888
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1904
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1920
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/easing/data/easing.1.png"
+ }
+ Frame {
+ msec: 1936
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1952
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1968
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 1984
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2000
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2016
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2032
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2048
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2064
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2080
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2096
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2112
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 294; y: 405
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2128
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2144
+ hash: "b7f8cf8b426db83a5a4cc1f673650842"
+ }
+ Frame {
+ msec: 2160
+ hash: "f9a41aaf57b18271d467b73e609c8a28"
+ }
+ Frame {
+ msec: 2176
+ hash: "2607ceafe74863a4810fc11754be7745"
+ }
+ Frame {
+ msec: 2192
+ hash: "c80df114e67af7c9c4d61917938bba60"
+ }
+ Frame {
+ msec: 2208
+ hash: "b33f77efd04ccde252fefbf2d8a0cd60"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 294; y: 405
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2224
+ hash: "b33f77efd04ccde252fefbf2d8a0cd60"
+ }
+ Frame {
+ msec: 2240
+ hash: "b33f77efd04ccde252fefbf2d8a0cd60"
+ }
+ Frame {
+ msec: 2256
+ hash: "fd993a41d312ccfdbd6206a4f33aaa5f"
+ }
+ Frame {
+ msec: 2272
+ hash: "27a704ddc65928d6c7732c14d357b796"
+ }
+ Frame {
+ msec: 2288
+ hash: "7f466d3d85a94178b2e9e06cee9cb35d"
+ }
+ Frame {
+ msec: 2304
+ hash: "2fc08efcc8e8daaf0b0f85bbca3b1b9e"
+ }
+ Frame {
+ msec: 2320
+ hash: "8b4d5586c8ebf5654156251c46479c61"
+ }
+ Frame {
+ msec: 2336
+ hash: "50cbc5513143056667645d5ea25aceab"
+ }
+ Frame {
+ msec: 2352
+ hash: "2e59236e75e7cc97c25b6eb816c9a116"
+ }
+ Frame {
+ msec: 2368
+ hash: "f865be9e69de683a150d3a43ae740c1b"
+ }
+ Frame {
+ msec: 2384
+ hash: "816d3ed67a449dcaf71f5c82b07c0d7c"
+ }
+ Frame {
+ msec: 2400
+ hash: "5271565364560bed69fddf75b1945a94"
+ }
+ Frame {
+ msec: 2416
+ hash: "e89015974ae8e05ae524dc51f1724494"
+ }
+ Frame {
+ msec: 2432
+ hash: "fd0b8d6d4540eeebc22c25f592fdcf77"
+ }
+ Frame {
+ msec: 2448
+ hash: "35348763f8d2fb13e1421e9f796f46a8"
+ }
+ Frame {
+ msec: 2464
+ hash: "6c73c47b5b3a9db6cd73c0167125774b"
+ }
+ Frame {
+ msec: 2480
+ hash: "f3e947a709bb949eb9e31223aa83e696"
+ }
+ Frame {
+ msec: 2496
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2512
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2528
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2544
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2560
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2576
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2592
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2608
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2624
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2640
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2656
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2672
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2688
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2704
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2720
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2736
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2752
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2768
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2784
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2800
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2816
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2832
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2848
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2864
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2880
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/easing/data/easing.2.png"
+ }
+ Frame {
+ msec: 2896
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2912
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2928
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2944
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2960
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2976
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 2992
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 3008
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 3024
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 3040
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 3056
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 3072
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 3088
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 3104
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 3120
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 3136
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 3152
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 3168
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 3184
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 3200
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+ Frame {
+ msec: 3216
+ hash: "fb57b2d47ca82a5f1301aac14c8ff67e"
+ }
+}
diff --git a/tests/auto/declarative/visual/easing/easing.qml b/tests/auto/declarative/visual/easing/easing.qml
index 7bd6c8f..1448064 100644
--- a/tests/auto/declarative/visual/easing/easing.qml
+++ b/tests/auto/declarative/visual/easing/easing.qml
@@ -1,6 +1,6 @@
import Qt 4.6
-Rect {
+Rectangle {
id: item
width: 600
height: layout.height
@@ -9,7 +9,7 @@ Rect {
ListModel {
id: easingtypes
ListElement {
- type: "easeNone"
+ type: "easeLinear"
}
ListElement {
type: "easeInQuad"
@@ -133,12 +133,12 @@ Rect {
}
}
]
- VerticalLayout {
+ Column {
id: layout
anchors.left: item.left
anchors.right: item.right
Repeater {
- dataSource: easingtypes
+ model: easingtypes
Component {
Text {
id: text
@@ -150,7 +150,7 @@ Rect {
State {
name: "from"
when: !mouse.pressed
- SetProperties {
+ PropertyChanges {
target: text
x: 0
}
@@ -158,7 +158,7 @@ Rect {
State {
name: "to"
when: mouse.pressed
- SetProperties {
+ PropertyChanges {
target: text
x: item.width-100
}
@@ -166,8 +166,8 @@ Rect {
]
transitions: [
Transition {
- fromState: "*"
- toState: "to"
+ from: "*"
+ to: "to"
reversible: true
NumberAnimation {
properties: "x"
diff --git a/tests/auto/declarative/visual/easing/image0.png b/tests/auto/declarative/visual/easing/image0.png
deleted file mode 100644
index dbe03aa..0000000
--- a/tests/auto/declarative/visual/easing/image0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/easing/manifest-play.xml b/tests/auto/declarative/visual/easing/manifest-play.xml
deleted file mode 100644
index 3c84452..0000000
--- a/tests/auto/declarative/visual/easing/manifest-play.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<TestLog>
- <TestFullFrame time="30" frameId="0"/>
- <TestMouse time="480" type="2" button="1" buttons="1" globalPos="487,444" pos="483,417"/>
- <TestFrame time="510" hash="83FB660D6CABAAFCB27C6EC001B14110"/>
- <TestFrame time="540" hash="27FCD68F610024000CA6D3A8D9F0CF09"/>
- <TestFrame time="570" hash="14728A6160AF51FCA8562D6A020BBA79"/>
- <TestFrame time="600" hash="BDDB81682B30A6918927ACB59608D14E"/>
- <TestFrame time="630" hash="03F16A41DCD31E41935E54763757C6D5"/>
- <TestFrame time="660" hash="2D04EA1EBEDC77CF5D42A1B491A57EA6"/>
- <TestFrame time="690" hash="762C36B33B75F24427CA45F4AD06B64E"/>
- <TestFrame time="720" hash="AA02624CC889C95A99BBE58365F4FAAD"/>
- <TestFrame time="750" hash="0529200188188708A18CE0F931780DBD"/>
- <TestFrame time="780" hash="56036B63822AF34F26B149069CD189C6"/>
- <TestFrame time="810" hash="CFFC6583E2BA1E47E1439BED6FE69665"/>
- <TestFrame time="840" hash="25A1AFDC945D5264FF0337A421143A3C"/>
- <TestFrame time="870" hash="601FA34B5E15E7B87E6490580C2E1858"/>
- <TestFrame time="900" hash="1CA085F6CB8509957A51F6182F7F5443"/>
- <TestFrame time="930" hash="09B5849DF18F6817F7450230DFEC0E95"/>
- <TestFrame time="960" hash="15D212C1291DF97E3DEA5AA8793AD5CB"/>
- <TestFrame time="990" hash="D6E42E8F4D06BDDBAE998079AC2C79AD"/>
- <TestFrame time="1020" hash="7016B5C435006D859AB087A73299B6D5"/>
-</TestLog>
diff --git a/tests/auto/declarative/visual/easing/manifest.xml b/tests/auto/declarative/visual/easing/manifest.xml
deleted file mode 100644
index 3c84452..0000000
--- a/tests/auto/declarative/visual/easing/manifest.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<TestLog>
- <TestFullFrame time="30" frameId="0"/>
- <TestMouse time="480" type="2" button="1" buttons="1" globalPos="487,444" pos="483,417"/>
- <TestFrame time="510" hash="83FB660D6CABAAFCB27C6EC001B14110"/>
- <TestFrame time="540" hash="27FCD68F610024000CA6D3A8D9F0CF09"/>
- <TestFrame time="570" hash="14728A6160AF51FCA8562D6A020BBA79"/>
- <TestFrame time="600" hash="BDDB81682B30A6918927ACB59608D14E"/>
- <TestFrame time="630" hash="03F16A41DCD31E41935E54763757C6D5"/>
- <TestFrame time="660" hash="2D04EA1EBEDC77CF5D42A1B491A57EA6"/>
- <TestFrame time="690" hash="762C36B33B75F24427CA45F4AD06B64E"/>
- <TestFrame time="720" hash="AA02624CC889C95A99BBE58365F4FAAD"/>
- <TestFrame time="750" hash="0529200188188708A18CE0F931780DBD"/>
- <TestFrame time="780" hash="56036B63822AF34F26B149069CD189C6"/>
- <TestFrame time="810" hash="CFFC6583E2BA1E47E1439BED6FE69665"/>
- <TestFrame time="840" hash="25A1AFDC945D5264FF0337A421143A3C"/>
- <TestFrame time="870" hash="601FA34B5E15E7B87E6490580C2E1858"/>
- <TestFrame time="900" hash="1CA085F6CB8509957A51F6182F7F5443"/>
- <TestFrame time="930" hash="09B5849DF18F6817F7450230DFEC0E95"/>
- <TestFrame time="960" hash="15D212C1291DF97E3DEA5AA8793AD5CB"/>
- <TestFrame time="990" hash="D6E42E8F4D06BDDBAE998079AC2C79AD"/>
- <TestFrame time="1020" hash="7016B5C435006D859AB087A73299B6D5"/>
-</TestLog>
diff --git a/tests/auto/declarative/visual/flickable/Day.qml b/tests/auto/declarative/visual/flickable/Day.qml
index 549a9a0..8416724 100644
--- a/tests/auto/declarative/visual/flickable/Day.qml
+++ b/tests/auto/declarative/visual/flickable/Day.qml
@@ -1,24 +1,23 @@
import Qt 4.6
-Rect {
+Rectangle {
property string day
width: 200
height: 300
radius: 7
- pen.color: "black"
+ border.color: "black"
id: Page
Image {
x: 10
y: 10
source: "cork.jpg"
- opaque: true
}
Text {
x: 20
y: 20
height: 40
- font.size: 14
+ font.pixelSize: 14
font.bold: true
text: day
style: "Outline"
diff --git a/tests/auto/declarative/visual/flickable/data/flickable.0.png b/tests/auto/declarative/visual/flickable/data/flickable.0.png
new file mode 100644
index 0000000..b7ddf5a
--- /dev/null
+++ b/tests/auto/declarative/visual/flickable/data/flickable.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/flickable/data/flickable.1.png b/tests/auto/declarative/visual/flickable/data/flickable.1.png
new file mode 100644
index 0000000..ef48b85
--- /dev/null
+++ b/tests/auto/declarative/visual/flickable/data/flickable.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/flickable/data/flickable.2.png b/tests/auto/declarative/visual/flickable/data/flickable.2.png
new file mode 100644
index 0000000..60c357b
--- /dev/null
+++ b/tests/auto/declarative/visual/flickable/data/flickable.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/flickable/data/flickable.qml b/tests/auto/declarative/visual/flickable/data/flickable.qml
new file mode 100644
index 0000000..45bb989
--- /dev/null
+++ b/tests/auto/declarative/visual/flickable/data/flickable.qml
@@ -0,0 +1,791 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 32
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 48
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 64
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 80
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 96
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 112
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 128
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 144
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 160
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 176
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 192
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 208
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 224
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 240
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 256
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 272
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 288
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 304
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 320
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 336
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 352
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 368
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 384
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 400
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 416
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 432
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 448
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 464
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 480
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 496
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 512
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 528
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 544
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 560
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 576
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 592
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 608
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 624
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 640
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 656
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 672
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 688
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 704
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Frame {
+ msec: 720
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 517; y: 154
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 736
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Mouse {
+ type: 5
+ button: 1
+ buttons: 1
+ x: 514; y: 154
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 752
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Mouse {
+ type: 5
+ button: 1
+ buttons: 1
+ x: 509; y: 155
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 768
+ hash: "eceae327c367ccc69c5133d027df77c2"
+ }
+ Mouse {
+ type: 5
+ button: 1
+ buttons: 1
+ x: 497; y: 155
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 784
+ hash: "6a0f0d49abe4b5c2f3347bb0912c46bd"
+ }
+ Mouse {
+ type: 5
+ button: 1
+ buttons: 1
+ x: 480; y: 155
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 800
+ hash: "c7c13b23ac20eaee2a0fca45a03495d3"
+ }
+ Mouse {
+ type: 5
+ button: 1
+ buttons: 1
+ x: 443; y: 155
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 816
+ hash: "50559226ce0e0d94d330f34b0dfdaf48"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 443; y: 155
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 832
+ hash: "50559226ce0e0d94d330f34b0dfdaf48"
+ }
+ Frame {
+ msec: 848
+ hash: "dda302c698e909c7bf4cffdedf68fffb"
+ }
+ Frame {
+ msec: 864
+ hash: "d2ef86c4e840e22f27b9d5806d2685c1"
+ }
+ Frame {
+ msec: 880
+ hash: "6a38ab0c8e4e6687b1922d1ab30c5193"
+ }
+ Frame {
+ msec: 896
+ hash: "ddec5e9353017ae5d12f3efb9a15327c"
+ }
+ Frame {
+ msec: 912
+ hash: "e383591b6ce172ef86e2f1a90c5988db"
+ }
+ Frame {
+ msec: 928
+ hash: "3cd848d258775f50cbb668490b7cebf6"
+ }
+ Frame {
+ msec: 944
+ hash: "348f9bb0282edbe99947e72f234c0c72"
+ }
+ Frame {
+ msec: 960
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/flickable/data/flickable.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "f7744a4f78b6791ce5f5184834f1798e"
+ }
+ Frame {
+ msec: 992
+ hash: "c4014a38bf59218e0673519c5bab0f74"
+ }
+ Frame {
+ msec: 1008
+ hash: "2a6b3d050b0f854b8f71d77b58dd9d8f"
+ }
+ Frame {
+ msec: 1024
+ hash: "30f25f6dcbad9e495d869943a8d83eee"
+ }
+ Frame {
+ msec: 1040
+ hash: "b5d6d395c94a19e9776ff1162c64993f"
+ }
+ Frame {
+ msec: 1056
+ hash: "2ce75b60f41f4b6b0c421788effd4be8"
+ }
+ Frame {
+ msec: 1072
+ hash: "cda31ad2f65d7d6cc1c9974748243904"
+ }
+ Frame {
+ msec: 1088
+ hash: "ffa1e5a479e60304570d89465e8898b1"
+ }
+ Frame {
+ msec: 1104
+ hash: "d8c984c1e00056cdfd1814f96fc04125"
+ }
+ Frame {
+ msec: 1120
+ hash: "0e855b0616b1c837c22ea34bbff76f10"
+ }
+ Frame {
+ msec: 1136
+ hash: "d2189d6dc8f635f9df5889e6825d11fc"
+ }
+ Frame {
+ msec: 1152
+ hash: "4086f2213831f0c616e7e02f58b17c46"
+ }
+ Frame {
+ msec: 1168
+ hash: "40b216eb2b7a0025123fa2374215644a"
+ }
+ Frame {
+ msec: 1184
+ hash: "236edf2f7da209cb5bf3efe334977e7f"
+ }
+ Frame {
+ msec: 1200
+ hash: "c2a9242b261988b58e58dc764aac7fca"
+ }
+ Frame {
+ msec: 1216
+ hash: "a6b707c16d0b72552403a518a27e40c8"
+ }
+ Frame {
+ msec: 1232
+ hash: "e0800659c30618417c56e5a8b6de0eeb"
+ }
+ Frame {
+ msec: 1248
+ hash: "3006d6af221e50eef60f67cc32d45e30"
+ }
+ Frame {
+ msec: 1264
+ hash: "7deab264af55709f25d22a10a83f2595"
+ }
+ Frame {
+ msec: 1280
+ hash: "11e2c733f48c02e8b1c66c0e9cc7f4b0"
+ }
+ Frame {
+ msec: 1296
+ hash: "a1242c3ea085838371fa1f31e11b4cc4"
+ }
+ Frame {
+ msec: 1312
+ hash: "3cba18358c3db55a585095733a914b31"
+ }
+ Frame {
+ msec: 1328
+ hash: "45dde70b0436f365f1711005321fbc1a"
+ }
+ Frame {
+ msec: 1344
+ hash: "29a9c57bb78c41e89d5db19b54a4f760"
+ }
+ Frame {
+ msec: 1360
+ hash: "3ec8e579f2ee49da0bf384f4b688e70e"
+ }
+ Frame {
+ msec: 1376
+ hash: "e6b7d3147b213ed2cddc81ee784b275b"
+ }
+ Frame {
+ msec: 1392
+ hash: "77a82e5d657b32b6f7f1681139c83b83"
+ }
+ Frame {
+ msec: 1408
+ hash: "623bcf513f95f6ca3052dc6f1fb13fb5"
+ }
+ Frame {
+ msec: 1424
+ hash: "d10b5fac984040899790273cd9246f71"
+ }
+ Frame {
+ msec: 1440
+ hash: "7b48417ae3627fed645b804ea24b376a"
+ }
+ Frame {
+ msec: 1456
+ hash: "5e5eb1fdc7fdf34f3df46b187544b9d5"
+ }
+ Frame {
+ msec: 1472
+ hash: "e4f08871f3dcb355c267fc27654c5704"
+ }
+ Frame {
+ msec: 1488
+ hash: "e8d82fee9fb5b2bb2fd6149a12947ea6"
+ }
+ Frame {
+ msec: 1504
+ hash: "a54e845480bed6b16c120a59a2bb07c3"
+ }
+ Frame {
+ msec: 1520
+ hash: "a96ae1a5ca2d04d7b330c4e1d5e2594a"
+ }
+ Frame {
+ msec: 1536
+ hash: "d1a4c4b1864581bad005392dd3c54d8a"
+ }
+ Frame {
+ msec: 1552
+ hash: "5bd3ae538de83151f90a40c800c081a5"
+ }
+ Frame {
+ msec: 1568
+ hash: "be5adfb11a6ad52d432fb96c0526d2ee"
+ }
+ Frame {
+ msec: 1584
+ hash: "2ea08dda212fa9839e0183d2b742c64f"
+ }
+ Frame {
+ msec: 1600
+ hash: "ba0d9014b7e30a49c51196807809368b"
+ }
+ Frame {
+ msec: 1616
+ hash: "e6cfdc4688cc7e49842a58bc39a6a1b3"
+ }
+ Frame {
+ msec: 1632
+ hash: "3aca4ba1d6bd38cdc278ff5d19e37693"
+ }
+ Frame {
+ msec: 1648
+ hash: "41acb4e8cddfa8371446bef580d420b4"
+ }
+ Frame {
+ msec: 1664
+ hash: "4860e0bf80bfd01b9e7e1d3b11152ac4"
+ }
+ Frame {
+ msec: 1680
+ hash: "85806f7e41725a35cb20b3ca07a2b3be"
+ }
+ Frame {
+ msec: 1696
+ hash: "07a0af6f784b91838d1ed23c326c29ce"
+ }
+ Frame {
+ msec: 1712
+ hash: "d4d0c0e65861dbce8992d714f5b18f0b"
+ }
+ Frame {
+ msec: 1728
+ hash: "ebcc280d376fed1bb45588992ad777e3"
+ }
+ Frame {
+ msec: 1744
+ hash: "2d8c183189c0a9234d6ff1e663503853"
+ }
+ Frame {
+ msec: 1760
+ hash: "5e3bec7de667175a7bd89aa5eb704003"
+ }
+ Frame {
+ msec: 1776
+ hash: "709b890b1939261377537f7bddb45a60"
+ }
+ Frame {
+ msec: 1792
+ hash: "c95dfd0259048e27a98b4676957e5183"
+ }
+ Frame {
+ msec: 1808
+ hash: "bfff5f9e90e280a3684f46967e8cb73f"
+ }
+ Frame {
+ msec: 1824
+ hash: "bfff5f9e90e280a3684f46967e8cb73f"
+ }
+ Frame {
+ msec: 1840
+ hash: "bfff5f9e90e280a3684f46967e8cb73f"
+ }
+ Frame {
+ msec: 1856
+ hash: "709b890b1939261377537f7bddb45a60"
+ }
+ Frame {
+ msec: 1872
+ hash: "a7ca5f1053393486cf48d5a83d89d1a7"
+ }
+ Frame {
+ msec: 1888
+ hash: "d9c34a6fe59ed8f9ff7b792301f80f52"
+ }
+ Frame {
+ msec: 1904
+ hash: "d4d0c0e65861dbce8992d714f5b18f0b"
+ }
+ Frame {
+ msec: 1920
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/flickable/data/flickable.1.png"
+ }
+ Frame {
+ msec: 1936
+ hash: "cc7228edac6583cab5b186cd9bbb2233"
+ }
+ Frame {
+ msec: 1952
+ hash: "6a6af6de32f68f85c902140bc40071d3"
+ }
+ Frame {
+ msec: 1968
+ hash: "43b6b548eb145f79fa655c270abaac32"
+ }
+ Frame {
+ msec: 1984
+ hash: "3aca4ba1d6bd38cdc278ff5d19e37693"
+ }
+ Frame {
+ msec: 2000
+ hash: "184e42b2bcc0e5cf354dc92acdc23cef"
+ }
+ Frame {
+ msec: 2016
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2032
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2048
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2064
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2080
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2096
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2112
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2128
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2144
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2160
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2176
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2192
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2208
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2224
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2240
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2256
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2272
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2288
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2304
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2320
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2336
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2352
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2368
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2384
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2400
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2416
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2432
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2448
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2464
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2480
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2496
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2512
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2528
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2544
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2560
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2576
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2592
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2608
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2624
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2640
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2656
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2672
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2688
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2704
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2720
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2736
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2752
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2768
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2784
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2800
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2816
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2832
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2848
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2864
+ hash: "ca3d2b3643a5c682253a5f6d9a4d7bc6"
+ }
+ Frame {
+ msec: 2880
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/flickable/data/flickable.2.png"
+ }
+}
diff --git a/tests/auto/declarative/visual/flickable/flickable.qml b/tests/auto/declarative/visual/flickable/flickable.qml
index 24931de..42bd5b3 100644
--- a/tests/auto/declarative/visual/flickable/flickable.qml
+++ b/tests/auto/declarative/visual/flickable/flickable.qml
@@ -1,6 +1,6 @@
import Qt 4.6
-Rect {
+Rectangle {
color: "lightSteelBlue"
width: 600
height: 300
@@ -39,10 +39,10 @@ Rect {
id: Flick
anchors.fill: parent
viewportWidth: Lay.width
- HorizontalLayout {
+ Row {
id: Lay
Repeater {
- dataSource: List
+ model: List
Component {
Day {
day: name
diff --git a/tests/auto/declarative/visual/flipable/flipable.xml b/tests/auto/declarative/visual/flipable/flipable.xml
deleted file mode 100644
index 9288acc..0000000
--- a/tests/auto/declarative/visual/flipable/flipable.xml
+++ /dev/null
@@ -1,138 +0,0 @@
-<Rect color="lightsteelblue" height="400" width="500">
- <VisualModel id="MyVisualModel">
- <model>
- <ListModel id="ListModel">
- <Person>
- <name>Jessica</name>
- <picture>face.png</picture>
- </Person>
- <Person>
- <name>John</name>
- <picture>photo0.png</picture>
- </Person>
- <Person>
- <name>Susan</name>
- <picture>photo10.png</picture>
- </Person>
- <Person>
- <name>Samantha</name>
- <picture>photo1.png</picture>
- </Person>
- <Person>
- <name>Mark</name>
- <picture>photo2.png</picture>
- </Person>
- <Person>
- <name>Sarah</name>
- <picture>photo3.png</picture>
- </Person>
- <Person>
- <name>Pam</name>
- <picture>photo4.png</picture>
- </Person>
- <Person>
- <name>April</name>
- <picture>photo5.png</picture>
- </Person>
- <Person>
- <name>Tarryn</name>
- <picture>photo6.png</picture>
- </Person>
- <Person>
- <name>Geoff</name>
- <picture>photo7.png</picture>
- </Person>
- <Person>
- <name>Bill</name>
- <picture>photo8.png</picture>
- </Person>
- <Person>
- <name>Stuart</name>
- <picture>photo9.png</picture>
- </Person>
- </ListModel>
- </model>
- <delegate>
- <Package>
- <Flipable id="MeRect" width="100" height="100">
- <properties>
- <Property name="r" type="Real" />
- </properties>
- <transform>
- <Perspective angle="90" x="50" y="50" aspect="1" scale="256"/>
- <Axis xStart="50" xEnd="50" yStart="0" yEnd="1" rotation="{MeRect.r}" />
- </transform>
-
- <front>
- <Rect radius="5" color="red" width="100" height="100">
- <Text text="{name}" />
- </Rect>
- </front>
-
- <back>
- <Rect radius="5" color="red" width="100" height="100">
- <Image anchors.horizontalCenter="{parent.horizontalCenter}" anchors.verticalCenter="{parent.verticalCenter}" file="{picture}" />
- </Rect>
- </back>
- </Flipable>
-
- <Item Package.name="leftBox" id="LeftBox"
- width="100" height="100">
- <Rect opacity="0.1" width="80" height="80" radius="4"
- color="grey" x="10" y="10">
- <Text text="{name}" />
- <MouseRegion anchors.fill="{parent}" onClick="if(MyItem.currentState=='left') MyItem.currentState='right'; else MyItem.currentState='left';" />
- </Rect>
- </Item>
- <Item Package.name="rightBox" id="RightBox"
- width="100" height="100">
- <Rect opacity="0.1" width="80" height="80" radius="4"
- color="grey" x="10" y="10">
- <Text text="{name}" />
- <MouseRegion anchors.fill="{parent}" onClick="if(MyItem.currentState=='left') MyItem.currentState='right'; else MyItem.currentState='left';" />
- </Rect>
- </Item>
- <Item id="MyItem">
- <states>
- <State name="left">
- <SetProperty target="{MeRect}" property="moveToParent" value="{LeftBox}" />
- </State>
- <State name="right">
- <SetProperty target="{MeRect}" property="moveToParent" value="{RightBox}" />
- <SetProperty target="{MeRect}" property="r" value="180" />
- </State>
- </states>
- <transitions>
- <Transition fromState="*" toState="*">
- <NumberAnimation property="r" duration="500" />
- <SerialAnimation>
- <SetPropertyAction target="{MeRect}" property="moveToParent" value="{Bounce}" />
- <ParallelAnimation>
- <NumberAnimation target="{MeRect}" properties="x" to="0" duration="250" />
- <NumberAnimation target="{MeRect}" properties="y" to="0" easing="easeInQuad" duration="250"/>
- </ParallelAnimation>
- <SetPropertyAction target="{MeRect}" property="moveToParent" />
- <ParallelAnimation>
- <NumberAnimation target="{MeRect}" properties="x" to="0" duration="250"/>
- <NumberAnimation target="{MeRect}" properties="y" to="0" easing="easeOutQuad" duration="250"/>
- </ParallelAnimation>
- </SerialAnimation>
- </Transition>
- </transitions>
- <currentState>left</currentState>
- </Item>
-
- </Package>
- </delegate>
- </VisualModel>
-
- <Item width="800" height="400" clip="true">
- <Item z="100" id="Bounce" x="200" y="300" />
- <ListView id="MyListView" width="400" height="400" x="400"
- model="{MyVisualModel.parts.rightBox}" />
-
- <ListView id="MyListView2" width="400" height="400"
- model="{MyVisualModel.parts.leftBox}" />
- </Item>
-
-</Rect>
diff --git a/tests/auto/declarative/visual/flipable/image0.png b/tests/auto/declarative/visual/flipable/image0.png
deleted file mode 100644
index affb8a5..0000000
--- a/tests/auto/declarative/visual/flipable/image0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/flipable/manifest-play.xml b/tests/auto/declarative/visual/flipable/manifest-play.xml
deleted file mode 100644
index 81c08e4..0000000
--- a/tests/auto/declarative/visual/flipable/manifest-play.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<TestLog>
- <TestFullFrame time="30" frameId="0"/>
- <TestMouse time="2040" type="2" button="1" buttons="1" globalPos="812,72" pos="65,45"/>
- <TestMouse time="2100" type="3" button="1" buttons="0" globalPos="812,72" pos="65,45"/>
- <TestFrame time="2130" hash="210454ECF70EEA9CA43DD391BC23178B"/>
- <TestFrame time="2160" hash="F6612DAD879208F4AF100337271C445C"/>
- <TestFrame time="2190" hash="C77FC41100D0B066F8F0BF4ABCF2F0BF"/>
- <TestFrame time="2220" hash="1AB3A42E6FC271E049E6071A88AB8EE4"/>
- <TestFrame time="2250" hash="DB3D5BC6882699DCC0208E4F5294B609"/>
- <TestFrame time="2280" hash="DC5A8B44283DA4A81D3994B873FC5695"/>
- <TestFrame time="2310" hash="5149027ECF7813BA64D3AB8FFE0265F5"/>
- <TestFrame time="2340" hash="B7E801DF476C012AC3E9E48A9D4AA321"/>
- <TestFrame time="2370" hash="F31A647A6A3EC86D7F16EB3147E5FC29"/>
- <TestFrame time="2400" hash="FBB068C39D5188A175075667B584F1BE"/>
- <TestFrame time="2430" hash="EC487AB66384A4A3A718D03555EBFD41"/>
- <TestFrame time="2460" hash="C7AD11EB051B11ACBA38027013215A05"/>
- <TestFrame time="2490" hash="AA38FD8E97EC394488274127630E7946"/>
- <TestFrame time="2520" hash="1CA2B617AC966B54FFA1A61914F68A9D"/>
- <TestFrame time="2550" hash="1726C0BAA930CAF282154F14AC2FD120"/>
- <TestFrame time="2580" hash="58F8196148C8B64191AF7B897A811CFB"/>
- <TestFrame time="2610" hash="D56D3FA137AA63A0215611450B40F3E0"/>
- <TestFrame time="2640" hash="5E1BCDF996B2903D1EAEAC65E17783C2"/>
-</TestLog>
diff --git a/tests/auto/declarative/visual/flipable/manifest.xml b/tests/auto/declarative/visual/flipable/manifest.xml
deleted file mode 100644
index 81c08e4..0000000
--- a/tests/auto/declarative/visual/flipable/manifest.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<TestLog>
- <TestFullFrame time="30" frameId="0"/>
- <TestMouse time="2040" type="2" button="1" buttons="1" globalPos="812,72" pos="65,45"/>
- <TestMouse time="2100" type="3" button="1" buttons="0" globalPos="812,72" pos="65,45"/>
- <TestFrame time="2130" hash="210454ECF70EEA9CA43DD391BC23178B"/>
- <TestFrame time="2160" hash="F6612DAD879208F4AF100337271C445C"/>
- <TestFrame time="2190" hash="C77FC41100D0B066F8F0BF4ABCF2F0BF"/>
- <TestFrame time="2220" hash="1AB3A42E6FC271E049E6071A88AB8EE4"/>
- <TestFrame time="2250" hash="DB3D5BC6882699DCC0208E4F5294B609"/>
- <TestFrame time="2280" hash="DC5A8B44283DA4A81D3994B873FC5695"/>
- <TestFrame time="2310" hash="5149027ECF7813BA64D3AB8FFE0265F5"/>
- <TestFrame time="2340" hash="B7E801DF476C012AC3E9E48A9D4AA321"/>
- <TestFrame time="2370" hash="F31A647A6A3EC86D7F16EB3147E5FC29"/>
- <TestFrame time="2400" hash="FBB068C39D5188A175075667B584F1BE"/>
- <TestFrame time="2430" hash="EC487AB66384A4A3A718D03555EBFD41"/>
- <TestFrame time="2460" hash="C7AD11EB051B11ACBA38027013215A05"/>
- <TestFrame time="2490" hash="AA38FD8E97EC394488274127630E7946"/>
- <TestFrame time="2520" hash="1CA2B617AC966B54FFA1A61914F68A9D"/>
- <TestFrame time="2550" hash="1726C0BAA930CAF282154F14AC2FD120"/>
- <TestFrame time="2580" hash="58F8196148C8B64191AF7B897A811CFB"/>
- <TestFrame time="2610" hash="D56D3FA137AA63A0215611450B40F3E0"/>
- <TestFrame time="2640" hash="5E1BCDF996B2903D1EAEAC65E17783C2"/>
-</TestLog>
diff --git a/tests/auto/declarative/visual/flipable/pics/arrow.png b/tests/auto/declarative/visual/flipable/pics/arrow.png
deleted file mode 100644
index 997190d..0000000
--- a/tests/auto/declarative/visual/flipable/pics/arrow.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/flipable/pics/face.png b/tests/auto/declarative/visual/flipable/pics/face.png
deleted file mode 100644
index e9529ac..0000000
--- a/tests/auto/declarative/visual/flipable/pics/face.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/flipable/pics/photo0.png b/tests/auto/declarative/visual/flipable/pics/photo0.png
deleted file mode 100644
index 26bbf5b..0000000
--- a/tests/auto/declarative/visual/flipable/pics/photo0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/flipable/pics/photo1.png b/tests/auto/declarative/visual/flipable/pics/photo1.png
deleted file mode 100644
index 2230f71..0000000
--- a/tests/auto/declarative/visual/flipable/pics/photo1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/flipable/pics/photo10.png b/tests/auto/declarative/visual/flipable/pics/photo10.png
deleted file mode 100644
index 119f142..0000000
--- a/tests/auto/declarative/visual/flipable/pics/photo10.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/flipable/pics/photo2.png b/tests/auto/declarative/visual/flipable/pics/photo2.png
deleted file mode 100644
index e3d58c1..0000000
--- a/tests/auto/declarative/visual/flipable/pics/photo2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/flipable/pics/photo3.png b/tests/auto/declarative/visual/flipable/pics/photo3.png
deleted file mode 100644
index 4b58df4..0000000
--- a/tests/auto/declarative/visual/flipable/pics/photo3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/flipable/pics/photo4.png b/tests/auto/declarative/visual/flipable/pics/photo4.png
deleted file mode 100644
index 4ed4bd2..0000000
--- a/tests/auto/declarative/visual/flipable/pics/photo4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/flipable/pics/photo5.png b/tests/auto/declarative/visual/flipable/pics/photo5.png
deleted file mode 100644
index eb26704..0000000
--- a/tests/auto/declarative/visual/flipable/pics/photo5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/flipable/pics/photo6.png b/tests/auto/declarative/visual/flipable/pics/photo6.png
deleted file mode 100644
index 69875ce..0000000
--- a/tests/auto/declarative/visual/flipable/pics/photo6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/flipable/pics/photo7.png b/tests/auto/declarative/visual/flipable/pics/photo7.png
deleted file mode 100644
index 0b117c9..0000000
--- a/tests/auto/declarative/visual/flipable/pics/photo7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/flipable/pics/photo8.png b/tests/auto/declarative/visual/flipable/pics/photo8.png
deleted file mode 100644
index b77b997..0000000
--- a/tests/auto/declarative/visual/flipable/pics/photo8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/flipable/pics/photo9.png b/tests/auto/declarative/visual/flipable/pics/photo9.png
deleted file mode 100644
index 8a974d6..0000000
--- a/tests/auto/declarative/visual/flipable/pics/photo9.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test.0.png b/tests/auto/declarative/visual/focusscope/data/test.0.png
new file mode 100644
index 0000000..67b99e0
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test.1.png b/tests/auto/declarative/visual/focusscope/data/test.1.png
new file mode 100644
index 0000000..67b99e0
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test.2.png b/tests/auto/declarative/visual/focusscope/data/test.2.png
new file mode 100644
index 0000000..69f0366
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test.3.png b/tests/auto/declarative/visual/focusscope/data/test.3.png
new file mode 100644
index 0000000..afe0bd9
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test.3.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test.4.png b/tests/auto/declarative/visual/focusscope/data/test.4.png
new file mode 100644
index 0000000..afe0bd9
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test.4.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test.5.png b/tests/auto/declarative/visual/focusscope/data/test.5.png
new file mode 100644
index 0000000..afe0bd9
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test.5.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test.qml b/tests/auto/declarative/visual/focusscope/data/test.qml
new file mode 100644
index 0000000..95e23fc
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test.qml
@@ -0,0 +1,1599 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 32
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 48
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 64
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 80
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 96
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 112
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 128
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 144
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 160
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 176
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 192
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 208
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 224
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 240
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 256
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 272
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 288
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 304
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 320
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 336
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 352
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 368
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 384
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 400
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 416
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 432
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 448
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 464
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 480
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 496
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 512
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 528
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 544
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 560
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 576
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 592
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 608
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 624
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 640
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 656
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 672
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 688
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 704
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 720
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 736
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 752
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 768
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 784
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 800
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 816
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 832
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 848
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 864
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 880
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 896
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 912
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 928
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 944
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 960
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/focusscope/data/test.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 992
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1008
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1024
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1040
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1056
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1072
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1088
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1104
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1120
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1136
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1152
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1168
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1184
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1200
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1216
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1232
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1248
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1264
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1280
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1296
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1312
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1328
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1344
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1360
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1376
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1392
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1408
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1424
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1440
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1456
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1472
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1488
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1504
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1520
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1536
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1552
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1568
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1584
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1600
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1616
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1632
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1648
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1664
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1680
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1696
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1712
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1728
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1744
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1760
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1776
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1792
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 1808
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Key {
+ type: 6
+ key: 16777234
+ modifiers: 536870912
+ text: "1c"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1824
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1840
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1856
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1872
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1888
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1904
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1920
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/focusscope/data/test.1.png"
+ }
+ Frame {
+ msec: 1936
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1952
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Key {
+ type: 7
+ key: 16777234
+ modifiers: 536870912
+ text: "1c"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1968
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 1984
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2000
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2016
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2032
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2048
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2064
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2080
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2096
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2112
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2128
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2144
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2160
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2176
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2192
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2208
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2224
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2240
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2256
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2272
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2288
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2304
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2320
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2336
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 2352
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Key {
+ type: 6
+ key: 16777237
+ modifiers: 536870912
+ text: "1f"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2368
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2384
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2400
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2416
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2432
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2448
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2464
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Key {
+ type: 7
+ key: 16777237
+ modifiers: 536870912
+ text: "1f"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2480
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2496
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2512
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2528
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2544
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2560
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2576
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2592
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2608
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2624
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2640
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2656
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2672
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2688
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2704
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2720
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2736
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2752
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2768
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2784
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2800
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2816
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2832
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2848
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2864
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2880
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/focusscope/data/test.2.png"
+ }
+ Frame {
+ msec: 2896
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2912
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2928
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2944
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2960
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 2976
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Key {
+ type: 6
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2992
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3008
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3024
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3040
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3056
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3072
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3088
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Key {
+ type: 7
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 3104
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3120
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3136
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3152
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3168
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3184
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3200
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3216
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3232
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3248
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3264
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3280
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3296
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3312
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3328
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3344
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3360
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3376
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3392
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3408
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3424
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3440
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3456
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3472
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3488
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3504
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3520
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Frame {
+ msec: 3536
+ hash: "e7722f02692fbae81b9ec78547e1e4e9"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 3552
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3568
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3584
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3600
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3616
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3632
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3648
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 3664
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3680
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3696
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3712
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3728
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3744
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3760
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3776
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3792
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3808
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3824
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3840
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/focusscope/data/test.3.png"
+ }
+ Frame {
+ msec: 3856
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3872
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3888
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3904
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3920
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3936
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3952
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3968
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 3984
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4000
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4016
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4032
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4048
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4064
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4080
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4096
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4112
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4128
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4144
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4160
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4176
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Key {
+ type: 6
+ key: 16777237
+ modifiers: 536870912
+ text: "1f"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 4192
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4208
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4224
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4240
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4256
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4272
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Key {
+ type: 7
+ key: 16777237
+ modifiers: 536870912
+ text: "1f"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 4288
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4304
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4320
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4336
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4352
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4368
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4384
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4400
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4416
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4432
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4448
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4464
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4480
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4496
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4512
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4528
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4544
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4560
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4576
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4592
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4608
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4624
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4640
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4656
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4672
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4688
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4704
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4720
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4736
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4752
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4768
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Frame {
+ msec: 4784
+ hash: "7e4814e27214ecbeb55992e319a88102"
+ }
+ Key {
+ type: 6
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 4800
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/focusscope/data/test.4.png"
+ }
+ Frame {
+ msec: 4816
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4832
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4848
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4864
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4880
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4896
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Key {
+ type: 7
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 4912
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4928
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4944
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4960
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4976
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 4992
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5008
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5024
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5040
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5056
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5072
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5088
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5104
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5120
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5136
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5152
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5168
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5184
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5200
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5216
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5232
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5248
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5264
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5280
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5296
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5312
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5328
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5344
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5360
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5376
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5392
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5408
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5424
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5440
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5456
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5472
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5488
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5504
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5520
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5536
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5552
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5568
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5584
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5600
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5616
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5632
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5648
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5664
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5680
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5696
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5712
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5728
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5744
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5760
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/focusscope/data/test.5.png"
+ }
+ Frame {
+ msec: 5776
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5792
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 5808
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5824
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5840
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5856
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5872
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+ Frame {
+ msec: 5888
+ hash: "6f85c2226e6e408f4699762f687b83e1"
+ }
+}
diff --git a/tests/auto/declarative/visual/focusscope/data/test2.0.png b/tests/auto/declarative/visual/focusscope/data/test2.0.png
new file mode 100644
index 0000000..555a968
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test2.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test2.1.png b/tests/auto/declarative/visual/focusscope/data/test2.1.png
new file mode 100644
index 0000000..555a968
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test2.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test2.qml b/tests/auto/declarative/visual/focusscope/data/test2.qml
new file mode 100644
index 0000000..4ad4b89
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test2.qml
@@ -0,0 +1,607 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 32
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 48
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 64
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 80
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 96
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 112
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 128
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 144
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 160
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 176
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 192
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 208
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 224
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 240
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 256
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 272
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 288
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 304
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 320
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 336
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 352
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 368
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 384
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 400
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 416
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 432
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 448
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 464
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 480
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 496
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 512
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 528
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 544
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 560
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 576
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 592
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 608
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 624
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 640
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 656
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 672
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 688
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 704
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 720
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 736
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 752
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 768
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 784
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 800
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 816
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 832
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 848
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 864
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 880
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 896
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 912
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 928
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 944
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 960
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/focusscope/data/test2.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 992
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1008
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1024
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1040
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1056
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1072
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1088
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1104
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1120
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1136
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1152
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1168
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1184
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1200
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1216
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1232
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1248
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1264
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1280
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1296
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1312
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1328
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1344
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1360
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1376
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1392
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1408
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1424
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1440
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1456
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1472
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1488
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1504
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1520
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1536
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1552
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1568
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1584
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1600
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1616
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1632
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1648
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1664
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1680
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1696
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1712
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1728
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1744
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1760
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1776
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1792
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1808
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1824
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1840
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1856
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1872
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1888
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1904
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1920
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/focusscope/data/test2.1.png"
+ }
+ Frame {
+ msec: 1936
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1952
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1968
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 1984
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2000
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2016
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2032
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2048
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2064
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2080
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2096
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2112
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2128
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2144
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2160
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2176
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2192
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2208
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2224
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2240
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2256
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2272
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2288
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2304
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2320
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2336
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2352
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+ Frame {
+ msec: 2368
+ hash: "bb4131579c66dc948f2e27e236deb4ab"
+ }
+}
diff --git a/tests/auto/declarative/visual/focusscope/data/test3.0.png b/tests/auto/declarative/visual/focusscope/data/test3.0.png
new file mode 100644
index 0000000..374acf5
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test3.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test3.0.png.reject.png b/tests/auto/declarative/visual/focusscope/data/test3.0.png.reject.png
new file mode 100644
index 0000000..374acf5
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test3.0.png.reject.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test3.1.png b/tests/auto/declarative/visual/focusscope/data/test3.1.png
new file mode 100644
index 0000000..b75cb10
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test3.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test3.1.png.reject.png b/tests/auto/declarative/visual/focusscope/data/test3.1.png.reject.png
new file mode 100644
index 0000000..795071b
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test3.1.png.reject.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test3.2.png b/tests/auto/declarative/visual/focusscope/data/test3.2.png
new file mode 100644
index 0000000..9b2f919
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test3.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test3.3.png b/tests/auto/declarative/visual/focusscope/data/test3.3.png
new file mode 100644
index 0000000..bf63032
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test3.3.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test3.4.png b/tests/auto/declarative/visual/focusscope/data/test3.4.png
new file mode 100644
index 0000000..6981a06
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test3.4.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test3.5.png b/tests/auto/declarative/visual/focusscope/data/test3.5.png
new file mode 100644
index 0000000..5856325
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test3.5.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test3.6.png b/tests/auto/declarative/visual/focusscope/data/test3.6.png
new file mode 100644
index 0000000..9b2f919
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test3.6.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test3.7.png b/tests/auto/declarative/visual/focusscope/data/test3.7.png
new file mode 100644
index 0000000..b75cb10
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test3.7.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test3.8.png b/tests/auto/declarative/visual/focusscope/data/test3.8.png
new file mode 100644
index 0000000..374acf5
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test3.8.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test3.9.png b/tests/auto/declarative/visual/focusscope/data/test3.9.png
new file mode 100644
index 0000000..11a08bd
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test3.9.png
Binary files differ
diff --git a/tests/auto/declarative/visual/focusscope/data/test3.qml b/tests/auto/declarative/visual/focusscope/data/test3.qml
new file mode 100644
index 0000000..86025a6
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/data/test3.qml
@@ -0,0 +1,2879 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 32
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 48
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 64
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 80
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 96
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 112
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 128
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 144
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 160
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 176
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 192
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 208
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 224
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 240
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 256
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 272
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 288
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 304
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 320
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 336
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 352
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 368
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 384
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 400
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 416
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 432
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 448
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 464
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 480
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 496
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 512
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 528
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 544
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 560
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 576
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 592
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 608
+ hash: "c114718c158f107e8a7d06bf49d30855"
+ }
+ Frame {
+ msec: 624
+ hash: "c71bf3c6ef7addc3c1f55e3f92c001ac"
+ }
+ Frame {
+ msec: 640
+ hash: "b075c33ed606041dfb57a03f92cf5574"
+ }
+ Frame {
+ msec: 656
+ hash: "1933a060fc0b889082df94054a2d3c7e"
+ }
+ Frame {
+ msec: 672
+ hash: "cc4133e796a242493538131c789c392c"
+ }
+ Frame {
+ msec: 688
+ hash: "cbc16ad8bcb8dcf73ae101ca4899adac"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 704
+ hash: "1a5e008ef5640ad85a19b307244a36f7"
+ }
+ Frame {
+ msec: 720
+ hash: "6a0c9d0f3ac068d65d590c844dae4ebb"
+ }
+ Frame {
+ msec: 736
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 752
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 768
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 784
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 800
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 816
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 832
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 848
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 864
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 880
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 896
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 912
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 928
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 944
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 960
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/focusscope/data/test3.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 992
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 1008
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 1024
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 1040
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 1056
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 1072
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 1088
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1104
+ hash: "ac2f6e2f5f379ad8717aa3754f2aab80"
+ }
+ Frame {
+ msec: 1120
+ hash: "e896c5b5a4fd121e5c25aba0a17c11f3"
+ }
+ Frame {
+ msec: 1136
+ hash: "1d1228cf0b205e46a969a0016245bb9e"
+ }
+ Frame {
+ msec: 1152
+ hash: "d07b1d53655e549c503223fddfa62038"
+ }
+ Frame {
+ msec: 1168
+ hash: "d774614f13d1a19eff3c451c4abce7e5"
+ }
+ Frame {
+ msec: 1184
+ hash: "0e8445283c961a41c22ede2f26ab0d0c"
+ }
+ Frame {
+ msec: 1200
+ hash: "f85ced79a9d521b70b093d43d1335914"
+ }
+ Frame {
+ msec: 1216
+ hash: "3f70531768847686f202336827ed5c51"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1232
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 1248
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 1264
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 1280
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 1296
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 1312
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 1328
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 1344
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 1360
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 1376
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 1392
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 1408
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 1424
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 1440
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 1456
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 1472
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 1488
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 1504
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 1520
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1536
+ hash: "c59557a62fb22756ecae00bf36589f19"
+ }
+ Frame {
+ msec: 1552
+ hash: "c2938aac121e121eb138b2cdc485a23c"
+ }
+ Frame {
+ msec: 1568
+ hash: "aa582bd07789a0ce000bb014b4924969"
+ }
+ Frame {
+ msec: 1584
+ hash: "59d7a7fed20a11ecb12de08c77f0f303"
+ }
+ Frame {
+ msec: 1600
+ hash: "9a1d7649e44e2c2436855b92abbae030"
+ }
+ Frame {
+ msec: 1616
+ hash: "e46c47a221da37bbdffcdf671e84774b"
+ }
+ Frame {
+ msec: 1632
+ hash: "85ff7ef61ef08dc97065b0536f9f8766"
+ }
+ Frame {
+ msec: 1648
+ hash: "1159f274e5c2947875484d04a3ac6694"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1664
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 1680
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 1696
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 1712
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 1728
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 1744
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 1760
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 1776
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 1792
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 1808
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 1824
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 1840
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 1856
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 1872
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 1888
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 1904
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 1920
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/focusscope/data/test3.1.png"
+ }
+ Frame {
+ msec: 1936
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 1952
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 1968
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 1984
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 2000
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2016
+ hash: "26e5e7612374c7a4f7ac26a284c735b4"
+ }
+ Frame {
+ msec: 2032
+ hash: "03c63a8bab380ebcd02f2bf2f588df85"
+ }
+ Frame {
+ msec: 2048
+ hash: "1a7c4738de4f1123c7e639c935095476"
+ }
+ Frame {
+ msec: 2064
+ hash: "8362cb8a253dcb2e9ef7fb070579d639"
+ }
+ Frame {
+ msec: 2080
+ hash: "8fae548ad1f2e16738c14636b905efef"
+ }
+ Frame {
+ msec: 2096
+ hash: "05fca78fea63817204b2303495baaec7"
+ }
+ Frame {
+ msec: 2112
+ hash: "5bf7b04177db667f23f1bc4f0066bc44"
+ }
+ Frame {
+ msec: 2128
+ hash: "aa10d0614604f0563d4fc458b7bb9260"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2144
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2160
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2176
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2192
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2208
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2224
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2240
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2256
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2272
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2288
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2304
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2320
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2336
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2352
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2368
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2384
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2400
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2416
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2432
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2448
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2464
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2480
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2496
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 2512
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2528
+ hash: "1823a5c00778550c6b46416e6a2b730f"
+ }
+ Frame {
+ msec: 2544
+ hash: "7ca64f71eee9d3a926335de026be5fe2"
+ }
+ Frame {
+ msec: 2560
+ hash: "5f9e44b8374a490793b479440ce3b701"
+ }
+ Frame {
+ msec: 2576
+ hash: "b0969884a9654d87da9941fb9eb4c99a"
+ }
+ Frame {
+ msec: 2592
+ hash: "aeadf244a67b3c9e5c119b52aa0f15a0"
+ }
+ Frame {
+ msec: 2608
+ hash: "2d990e5ae8d3660079bdea7f2b5245a7"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2624
+ hash: "5998faffa17f9ffbf1cb39cdc09cdd54"
+ }
+ Frame {
+ msec: 2640
+ hash: "bf8089df5d863f627cd44294f322d796"
+ }
+ Frame {
+ msec: 2656
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 2672
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 2688
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 2704
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 2720
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 2736
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 2752
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 2768
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 2784
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 2800
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 2816
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 2832
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 2848
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 2864
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 2880
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/focusscope/data/test3.2.png"
+ }
+ Frame {
+ msec: 2896
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 2912
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 2928
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 2944
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 2960
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 2976
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2992
+ hash: "d707cb6e2587eecba275d1e7ceb9d020"
+ }
+ Frame {
+ msec: 3008
+ hash: "fddd144d4d2e475330ff87f4e6febe35"
+ }
+ Frame {
+ msec: 3024
+ hash: "06115e65296d1a77ab956cd3984303ee"
+ }
+ Frame {
+ msec: 3040
+ hash: "6881ec448625fdc23f1241bd60362460"
+ }
+ Frame {
+ msec: 3056
+ hash: "d94fdfd178377328e3b840c32f774958"
+ }
+ Frame {
+ msec: 3072
+ hash: "d2cba0b3aac8002aa2de51f7b1442985"
+ }
+ Frame {
+ msec: 3088
+ hash: "c0ea81cddf6b1f5b4b4157dade6b8ca0"
+ }
+ Frame {
+ msec: 3104
+ hash: "964a80740cc7ba474d5d10b76cca1b14"
+ }
+ Frame {
+ msec: 3120
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 3136
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3152
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3168
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3184
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3200
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3216
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3232
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3248
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3264
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3280
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3296
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3312
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3328
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3344
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3360
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3376
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3392
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3408
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3424
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3440
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3456
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3472
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 3488
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 3504
+ hash: "56634199c96e5c4588c2954f0595fcaa"
+ }
+ Frame {
+ msec: 3520
+ hash: "a51221b77045e51cba2b0913546961cb"
+ }
+ Frame {
+ msec: 3536
+ hash: "9910569a15164882056802e5ecfaef42"
+ }
+ Frame {
+ msec: 3552
+ hash: "17080817e0b23212828d2cee23eff98f"
+ }
+ Frame {
+ msec: 3568
+ hash: "791fee9758645fe21fe52918e5435f7d"
+ }
+ Frame {
+ msec: 3584
+ hash: "e0fcea2889a4825075322524025a4bdf"
+ }
+ Frame {
+ msec: 3600
+ hash: "825f58093f328182fa32b3cbc573101f"
+ }
+ Frame {
+ msec: 3616
+ hash: "550972282584bd52108728290bd4aa5e"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 3632
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3648
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3664
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3680
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3696
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3712
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3728
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3744
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3760
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3776
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3792
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3808
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3824
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3840
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/focusscope/data/test3.3.png"
+ }
+ Frame {
+ msec: 3856
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3872
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3888
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3904
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3920
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3936
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3952
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3968
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 3984
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 4000
+ hash: "a2386a0135e8ffd9f2ac12345ede3553"
+ }
+ Frame {
+ msec: 4016
+ hash: "9550cdc0032bc3ea0a611f2584f43cca"
+ }
+ Frame {
+ msec: 4032
+ hash: "3f39909102a04f0e41a97b10dde4425a"
+ }
+ Frame {
+ msec: 4048
+ hash: "535d56a4d450cf0222f94573a88bbf80"
+ }
+ Frame {
+ msec: 4064
+ hash: "c4b782cfb9399689b0cbfc2a97305984"
+ }
+ Frame {
+ msec: 4080
+ hash: "23604b04198d53e0ba4a0955d8bcf124"
+ }
+ Frame {
+ msec: 4096
+ hash: "a440962d680f70eb47af38a91390b8c0"
+ }
+ Frame {
+ msec: 4112
+ hash: "da4b079f00248a073ce49f749ff0cc77"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 4128
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4144
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4160
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4176
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4192
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4208
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4224
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4240
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4256
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4272
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4288
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4304
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4320
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4336
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4352
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4368
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4384
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4400
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4416
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4432
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4448
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4464
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4480
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4496
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4512
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4528
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4544
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4560
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4576
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4592
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4608
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4624
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4640
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4656
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4672
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4688
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4704
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4720
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4736
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4752
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4768
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4784
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4800
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/focusscope/data/test3.4.png"
+ }
+ Frame {
+ msec: 4816
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4832
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4848
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4864
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4880
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4896
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4912
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4928
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4944
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4960
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4976
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 4992
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 5008
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 5024
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 5040
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 5056
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 5072
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 5088
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Frame {
+ msec: 5104
+ hash: "861a8438a60e8a937d96f6b11fa1e3b3"
+ }
+ Key {
+ type: 6
+ key: 16777234
+ modifiers: 536870912
+ text: "1c"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 5120
+ hash: "58be5253b74ac1cecf08714e670e30af"
+ }
+ Frame {
+ msec: 5136
+ hash: "a8e15f6e28a67941730f9cfe8ea7f0ff"
+ }
+ Frame {
+ msec: 5152
+ hash: "f1bfd2e2cd3a3ff08ae36e785d33e626"
+ }
+ Frame {
+ msec: 5168
+ hash: "b61fd5c58ddaf806e72d77bed92e91f3"
+ }
+ Frame {
+ msec: 5184
+ hash: "f192f6b779fa6bdfd4bc9c8671dd3147"
+ }
+ Frame {
+ msec: 5200
+ hash: "1cf034cfdfe3cafa832e28950c90d67b"
+ }
+ Frame {
+ msec: 5216
+ hash: "b0d2223f7f2c302784654f03cb3a5c1c"
+ }
+ Frame {
+ msec: 5232
+ hash: "19d089ac37fd42c1be99facd38a954e3"
+ }
+ Key {
+ type: 7
+ key: 16777234
+ modifiers: 536870912
+ text: "1c"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 5248
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5264
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5280
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5296
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5312
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5328
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5344
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5360
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5376
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5392
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5408
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5424
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5440
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5456
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5472
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5488
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5504
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5520
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5536
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5552
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5568
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5584
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5600
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5616
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5632
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5648
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5664
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5680
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5696
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Frame {
+ msec: 5712
+ hash: "0cf213791ef1263f9dfc867df96e8211"
+ }
+ Key {
+ type: 6
+ key: 16777234
+ modifiers: 536870912
+ text: "1c"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 5728
+ hash: "51db47388acad98d18a8a2aaca279dba"
+ }
+ Frame {
+ msec: 5744
+ hash: "c83747a4356fa12593020452dbf43fe8"
+ }
+ Frame {
+ msec: 5760
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/focusscope/data/test3.5.png"
+ }
+ Frame {
+ msec: 5776
+ hash: "39d476722de92703d0a2259b5c62554e"
+ }
+ Frame {
+ msec: 5792
+ hash: "3f01e465470c3d5ab58b52f3e1517374"
+ }
+ Frame {
+ msec: 5808
+ hash: "63570753ba8c5f1525bf4cee38e8cad8"
+ }
+ Frame {
+ msec: 5824
+ hash: "31beab91ef4cadcf0b379b32786530ac"
+ }
+ Frame {
+ msec: 5840
+ hash: "46cd2e22eb4ef988752e2b3441bdd450"
+ }
+ Frame {
+ msec: 5856
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Key {
+ type: 7
+ key: 16777234
+ modifiers: 536870912
+ text: "1c"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 5872
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 5888
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 5904
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 5920
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 5936
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 5952
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 5968
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 5984
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 6000
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 6016
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 6032
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 6048
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 6064
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 6080
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 6096
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 6112
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 6128
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 6144
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 6160
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 6176
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 6192
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 6208
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 6224
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 6240
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 6256
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Frame {
+ msec: 6272
+ hash: "3e44d7064e55c510401b5008a06d9b82"
+ }
+ Key {
+ type: 6
+ key: 16777234
+ modifiers: 536870912
+ text: "1c"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 6288
+ hash: "78c4aaf2427e0aa9b6d11ddf95df55f7"
+ }
+ Frame {
+ msec: 6304
+ hash: "d4859df2de6afa90c1997b1b4d6448ab"
+ }
+ Frame {
+ msec: 6320
+ hash: "f885e6a8cc09d06985a83f60e29a0a34"
+ }
+ Frame {
+ msec: 6336
+ hash: "41f27dbf80b0bc00498962162a5fe9db"
+ }
+ Frame {
+ msec: 6352
+ hash: "41800797032deeed5ccc87375b4093cb"
+ }
+ Frame {
+ msec: 6368
+ hash: "253276d23d8a0f195155361a27403496"
+ }
+ Frame {
+ msec: 6384
+ hash: "274bf40aacababde8fde71abf065d1aa"
+ }
+ Frame {
+ msec: 6400
+ hash: "86071a6486d35d3c10f318ab6bac7577"
+ }
+ Frame {
+ msec: 6416
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Key {
+ type: 7
+ key: 16777234
+ modifiers: 536870912
+ text: "1c"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 6432
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6448
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6464
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6480
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6496
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6512
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6528
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6544
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6560
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6576
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6592
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6608
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6624
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6640
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6656
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6672
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6688
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6704
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6720
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/focusscope/data/test3.6.png"
+ }
+ Frame {
+ msec: 6736
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6752
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6768
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6784
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6800
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6816
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6832
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Frame {
+ msec: 6848
+ hash: "f75305426b87e1cdc325ae6668367be9"
+ }
+ Key {
+ type: 6
+ key: 16777234
+ modifiers: 536870912
+ text: "1c"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 6864
+ hash: "eea514e956369c55f9fe9bfc5b8bbda4"
+ }
+ Frame {
+ msec: 6880
+ hash: "b28436abb5ce17310b63ed96a7034000"
+ }
+ Frame {
+ msec: 6896
+ hash: "40c656f467200785a951dd8f98cf28f5"
+ }
+ Frame {
+ msec: 6912
+ hash: "38c6c6b29c9a7f0eba87a538a336c338"
+ }
+ Frame {
+ msec: 6928
+ hash: "b3f939577616f8ded1e11ee6e6dce882"
+ }
+ Frame {
+ msec: 6944
+ hash: "d72b00208712f039a5d7a06fbfacd4bd"
+ }
+ Frame {
+ msec: 6960
+ hash: "c7a079a37f6bd7a8da706e6ba5d048ee"
+ }
+ Frame {
+ msec: 6976
+ hash: "561cdf098bdc35fc852fbe8fff2471e2"
+ }
+ Frame {
+ msec: 6992
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Key {
+ type: 7
+ key: 16777234
+ modifiers: 536870912
+ text: "1c"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 7008
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7024
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7040
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7056
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7072
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7088
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7104
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7120
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7136
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7152
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7168
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7184
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7200
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7216
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7232
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7248
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7264
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7280
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7296
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7312
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7328
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7344
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7360
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7376
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7392
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7408
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7424
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Frame {
+ msec: 7440
+ hash: "0461d0e31648d2c155bee0145094c153"
+ }
+ Key {
+ type: 6
+ key: 16777234
+ modifiers: 536870912
+ text: "1c"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 7456
+ hash: "096530df53ed21214cf93381ac0d23ea"
+ }
+ Frame {
+ msec: 7472
+ hash: "36e7cee0725fb16c5d7e08875a3b88f7"
+ }
+ Frame {
+ msec: 7488
+ hash: "a2b68c7e9e4ef04c1429190d01a3288b"
+ }
+ Frame {
+ msec: 7504
+ hash: "6ee23f5d2c0ddc21499c8685ae46df64"
+ }
+ Frame {
+ msec: 7520
+ hash: "dc423d32154882b99b7bde596697c83a"
+ }
+ Frame {
+ msec: 7536
+ hash: "e82852d1d2a21f67029870601b00b124"
+ }
+ Frame {
+ msec: 7552
+ hash: "7cd2773c33d7f34feb3b1e4752f63753"
+ }
+ Key {
+ type: 7
+ key: 16777234
+ modifiers: 536870912
+ text: "1c"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 7568
+ hash: "2371f0ddf1b0ddcdb36f24e72b62d3a5"
+ }
+ Frame {
+ msec: 7584
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7600
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7616
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7632
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7648
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7664
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7680
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/focusscope/data/test3.7.png"
+ }
+ Frame {
+ msec: 7696
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7712
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7728
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7744
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7760
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7776
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7792
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7808
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7824
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7840
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7856
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7872
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7888
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7904
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7920
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7936
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7952
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Frame {
+ msec: 7968
+ hash: "113dd40f9b5c9869ad04a00dda9078c6"
+ }
+ Key {
+ type: 6
+ key: 16777234
+ modifiers: 536870912
+ text: "1c"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 7984
+ hash: "93fd3abe0b99ed76d880f6f059636335"
+ }
+ Frame {
+ msec: 8000
+ hash: "a273ec355c79968013c70aca1b2d5737"
+ }
+ Frame {
+ msec: 8016
+ hash: "6b2df83c0645530ca007cde136838725"
+ }
+ Frame {
+ msec: 8032
+ hash: "47d5ed89f7e9c89df33bab14ca967f77"
+ }
+ Frame {
+ msec: 8048
+ hash: "c777e0d1a1f03e7a1bc16483f98c0622"
+ }
+ Frame {
+ msec: 8064
+ hash: "ac7e693d7dbc8e8ff2318cb611b68b76"
+ }
+ Frame {
+ msec: 8080
+ hash: "593e9711ae94a5b4f49544e0cf26d188"
+ }
+ Frame {
+ msec: 8096
+ hash: "afce51158cb19dd6ae8c72ce19964251"
+ }
+ Frame {
+ msec: 8112
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Key {
+ type: 7
+ key: 16777234
+ modifiers: 536870912
+ text: "1c"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 8128
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8144
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8160
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8176
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8192
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8208
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8224
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8240
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8256
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8272
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8288
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8304
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8320
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8336
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8352
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8368
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8384
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8400
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8416
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8432
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8448
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8464
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8480
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Frame {
+ msec: 8496
+ hash: "30c5f9005238542c83b2d994cb61de16"
+ }
+ Key {
+ type: 6
+ key: 16777234
+ modifiers: 536870912
+ text: "1c"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 8512
+ hash: "136c689aca9aa0cf957035137a926653"
+ }
+ Frame {
+ msec: 8528
+ hash: "b7418e46bca4bc8c953c15b03c23ec89"
+ }
+ Frame {
+ msec: 8544
+ hash: "e99575fe130e741f13329704303b76ca"
+ }
+ Frame {
+ msec: 8560
+ hash: "a2b7d528f9c145c4db0845bc76b3571f"
+ }
+ Frame {
+ msec: 8576
+ hash: "77f8beccd0134b8991ddb2ac92d64ecb"
+ }
+ Frame {
+ msec: 8592
+ hash: "fc359bc56852093020084af44987746a"
+ }
+ Frame {
+ msec: 8608
+ hash: "9f3479a702bc79062fff916678e974f1"
+ }
+ Frame {
+ msec: 8624
+ hash: "55c8c91ff26671f9f3049f1e1aaf5958"
+ }
+ Key {
+ type: 7
+ key: 16777234
+ modifiers: 536870912
+ text: "1c"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 8640
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/focusscope/data/test3.8.png"
+ }
+ Frame {
+ msec: 8656
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8672
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8688
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8704
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8720
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8736
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8752
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8768
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8784
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8800
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8816
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8832
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8848
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8864
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8880
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8896
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8912
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8928
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8944
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8960
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8976
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 8992
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 9008
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 9024
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 9040
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Frame {
+ msec: 9056
+ hash: "216a02433edb100e6ff3db4944f6b061"
+ }
+ Key {
+ type: 6
+ key: 16777234
+ modifiers: 536870912
+ text: "1c"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 9072
+ hash: "367ee34ab6a6cb0197e064db85638be7"
+ }
+ Frame {
+ msec: 9088
+ hash: "c61db7f2c0402a63efe779bec816a7db"
+ }
+ Frame {
+ msec: 9104
+ hash: "29d4d2679a502a1cb8a21807c43153c2"
+ }
+ Frame {
+ msec: 9120
+ hash: "3f531d4111efbbac256d4281db1fdeba"
+ }
+ Frame {
+ msec: 9136
+ hash: "9f343d8b4dc12cc7ab5ae1ff08067baf"
+ }
+ Frame {
+ msec: 9152
+ hash: "eb29b7d6ef2b5507425b2c30ddb58fa8"
+ }
+ Frame {
+ msec: 9168
+ hash: "883c0d35567deb6de9125441da89a1fe"
+ }
+ Frame {
+ msec: 9184
+ hash: "7c25e95ea2b38288b5ba5737108ef5d1"
+ }
+ Frame {
+ msec: 9200
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Key {
+ type: 7
+ key: 16777234
+ modifiers: 536870912
+ text: "1c"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 9216
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9232
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9248
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9264
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9280
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9296
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9312
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9328
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9344
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9360
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9376
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9392
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9408
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9424
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9440
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9456
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9472
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9488
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9504
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9520
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9536
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9552
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9568
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9584
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9600
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/focusscope/data/test3.9.png"
+ }
+ Frame {
+ msec: 9616
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9632
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9648
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9664
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9680
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9696
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9712
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9728
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9744
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9760
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9776
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9792
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9808
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9824
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9840
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9856
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9872
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9888
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9904
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9920
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9936
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9952
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9968
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 9984
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10000
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10016
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10032
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10048
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10064
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10080
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10096
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10112
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10128
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10144
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10160
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10176
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10192
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10208
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10224
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10240
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10256
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10272
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10288
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10304
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10320
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10336
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10352
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10368
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 10384
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10400
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10416
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+ Frame {
+ msec: 10432
+ hash: "f192b84337784a6d31c309af7e32b5f7"
+ }
+}
diff --git a/tests/auto/declarative/visual/focusscope/test.qml b/tests/auto/declarative/visual/focusscope/test.qml
new file mode 100644
index 0000000..77ffb84
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/test.qml
@@ -0,0 +1,76 @@
+import Qt 4.6
+
+Rectangle {
+ color: "white"
+ width: 800
+ height: 600
+
+ Keys.onDigit9Pressed: print("Error - Root")
+
+ FocusScope {
+ id: MyScope
+ focus: true
+
+ Keys.onDigit9Pressed: print("Error - FocusScope")
+
+ Rectangle {
+ height: 120
+ width: 420
+
+ color: "transparent"
+ border.width: 5
+ border.color: MyScope.wantsFocus?"blue":"black"
+
+ Rectangle {
+ id: Item1
+ x: 10; y: 10
+ width: 100; height: 100; color: "green"
+ border.width: 5
+ border.color: wantsFocus?"blue":"black"
+ Keys.onDigit9Pressed: print("Top Left");
+ KeyNavigation.right: Item2
+ focus: true
+
+ Rectangle {
+ width: 50; height: 50; anchors.centerIn: parent
+ color: parent.focus?"red":"transparent"
+ }
+ }
+
+ Rectangle {
+ id: Item2
+ x: 310; y: 10
+ width: 100; height: 100; color: "green"
+ border.width: 5
+ border.color: wantsFocus?"blue":"black"
+ KeyNavigation.left: Item1
+ Keys.onDigit9Pressed: print("Top Right");
+
+ Rectangle {
+ width: 50; height: 50; anchors.centerIn: parent
+ color: parent.focus?"red":"transparent"
+ }
+ }
+ }
+ KeyNavigation.down: Item3
+ }
+
+ Text { x:100; y:170; text: "Blue border indicates scoped focus\nBlack border indicates NOT scoped focus\nRed box indicates active focus\nUse arrow keys to navigate\nPress \"9\" to print currently focused item" }
+
+ Rectangle {
+ id: Item3
+ x: 10; y: 300
+ width: 100; height: 100; color: "green"
+ border.width: 5
+ border.color: wantsFocus?"blue":"black"
+
+ Keys.onDigit9Pressed: print("Bottom Left");
+ KeyNavigation.up: MyScope
+
+ Rectangle {
+ width: 50; height: 50; anchors.centerIn: parent
+ color: parent.focus?"red":"transparent"
+ }
+ }
+
+}
diff --git a/tests/auto/declarative/visual/focusscope/test2.qml b/tests/auto/declarative/visual/focusscope/test2.qml
new file mode 100644
index 0000000..5b6971a
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/test2.qml
@@ -0,0 +1,40 @@
+import Qt 4.6
+
+Rectangle {
+ color: "white"
+ width: 800
+ height: 600
+
+ Text { text: "All five rectangles should be red" }
+
+ FocusScope {
+ y: 100
+ focus: true
+ Rectangle { width: 50; height: 50; color: parent.wantsFocus?"red":"blue" }
+
+ FocusScope {
+ y: 100
+ focus: true
+ Rectangle { width: 50; height: 50; color: parent.wantsFocus?"red":"blue" }
+
+ FocusScope {
+ y: 100
+ focus: true
+ Rectangle { width: 50; height: 50; color: parent.wantsFocus?"red":"blue" }
+
+ FocusScope {
+ y: 100
+ focus: true
+ Rectangle { width: 50; height: 50; color: parent.wantsFocus?"red":"blue" }
+
+ FocusScope {
+ y: 100
+ focus: true
+ Rectangle { width: 50; height: 50; color: parent.wantsFocus?"red":"blue" }
+ }
+ }
+ }
+ }
+ }
+
+}
diff --git a/tests/auto/declarative/visual/focusscope/test3.qml b/tests/auto/declarative/visual/focusscope/test3.qml
new file mode 100644
index 0000000..af06469
--- /dev/null
+++ b/tests/auto/declarative/visual/focusscope/test3.qml
@@ -0,0 +1,52 @@
+import Qt 4.6
+
+Rectangle {
+ color: "white"
+ width: 800
+ height: 600
+
+ ListModel {
+ id: Model
+ ListElement { name: "1" }
+ ListElement { name: "2" }
+ ListElement { name: "3" }
+ ListElement { name: "4" }
+ ListElement { name: "5" }
+ ListElement { name: "6" }
+ ListElement { name: "7" }
+ ListElement { name: "8" }
+ ListElement { name: "9" }
+ }
+
+ Component {
+ id: VerticalDelegate
+ FocusScope {
+ id: Root
+ width: 50; height: 50;
+ Keys.onDigit9Pressed: print("Error - " + name)
+ Rectangle {
+ focus: true
+ Keys.onDigit9Pressed: print(name)
+ width: 50; height: 50;
+ color: Root.ListView.isCurrentItem?"red":"green"
+ Text { text: name; anchors.centerIn: parent }
+ }
+ }
+ }
+
+ ListView {
+ width: 800; height: 50; orientation: "Horizontal"
+ focus: true
+ model: Model
+ delegate: VerticalDelegate
+ preferredHighlightBegin: 100
+ preferredHighlightEnd: 101
+ strictlyEnforceHighlightRange: true
+ }
+
+
+ Text {
+ y: 100; x: 50
+ text: "Currently selected element should be red\nPressing \"9\" should print the number of the currently selected item\nBe sure to scroll all the way to the right, pause, and then all the way to the left."
+ }
+}
diff --git a/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.0.png b/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.0.png
new file mode 100644
index 0000000..693a794
--- /dev/null
+++ b/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.1.png b/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.1.png
new file mode 100644
index 0000000..06d43f1
--- /dev/null
+++ b/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/pauseAnimation/data/raster/image0.png b/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.2.png
index 8082422..e619baf 100644
--- a/tests/auto/declarative/visual/pauseAnimation/data/raster/image0.png
+++ b/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.3.png b/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.3.png
new file mode 100644
index 0000000..30c7671
--- /dev/null
+++ b/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.3.png
Binary files differ
diff --git a/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.4.png b/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.4.png
new file mode 100644
index 0000000..132803c
--- /dev/null
+++ b/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.4.png
Binary files differ
diff --git a/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.5.png b/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.5.png
new file mode 100644
index 0000000..8372bc3
--- /dev/null
+++ b/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.5.png
Binary files differ
diff --git a/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.qml b/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.qml
new file mode 100644
index 0000000..5d42d03
--- /dev/null
+++ b/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.qml
@@ -0,0 +1,1619 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 32
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 48
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 64
+ hash: "dcf2867c127e041970047ec8f3edc04f"
+ }
+ Frame {
+ msec: 80
+ hash: "41ba853c3403f68a23e708df82e21c53"
+ }
+ Frame {
+ msec: 96
+ hash: "a725b59b4947357546bbfc7df3d830af"
+ }
+ Frame {
+ msec: 112
+ hash: "336d31586171f22d541b989d24b95cbb"
+ }
+ Frame {
+ msec: 128
+ hash: "6d63fb5c8a80f0280e88b2cdf8641bb9"
+ }
+ Frame {
+ msec: 144
+ hash: "ef8941674cb61f54853dc33652bb854e"
+ }
+ Frame {
+ msec: 160
+ hash: "b3f4a2165ec1ee971542b8ef89656cea"
+ }
+ Frame {
+ msec: 176
+ hash: "af3120fe262d2489c0ed33fbbee1549f"
+ }
+ Frame {
+ msec: 192
+ hash: "1373545e43fff7251cec9e8375ea267f"
+ }
+ Frame {
+ msec: 208
+ hash: "21f0b0437a999bbde66a913032d495c2"
+ }
+ Frame {
+ msec: 224
+ hash: "0809d32d5bc1bfce199b1f39a1c68d4f"
+ }
+ Frame {
+ msec: 240
+ hash: "022137587b39f5123835482178a1f1cf"
+ }
+ Frame {
+ msec: 256
+ hash: "97566ce9558d13ea0780bce233097b27"
+ }
+ Frame {
+ msec: 272
+ hash: "96d79b07da105b7f631ed61582b26f7e"
+ }
+ Frame {
+ msec: 288
+ hash: "f4732ff2df93fe67cb850dec34184924"
+ }
+ Frame {
+ msec: 304
+ hash: "054e6e52f74a3e24f04e6ad0071f79f8"
+ }
+ Frame {
+ msec: 320
+ hash: "f541af93a9fde62e4bd1c91d30f91e65"
+ }
+ Frame {
+ msec: 336
+ hash: "c4f844ee71f23635bb3ec7375f6a134f"
+ }
+ Frame {
+ msec: 352
+ hash: "3e52e06db2bf78762bb9816fe6b105d9"
+ }
+ Frame {
+ msec: 368
+ hash: "d9604be23a91327e6ab454609a9d4a13"
+ }
+ Frame {
+ msec: 384
+ hash: "dc98a9bdd99367c1e9b838d4be489dcc"
+ }
+ Frame {
+ msec: 400
+ hash: "e87b00bfc2c2a75a4234ec02a057ad3a"
+ }
+ Frame {
+ msec: 416
+ hash: "5be4f5c67941efb6fcea363c79f1e321"
+ }
+ Frame {
+ msec: 432
+ hash: "6cc9de62a0c8fa5e42eac1b01e99ac32"
+ }
+ Frame {
+ msec: 448
+ hash: "62a7133012348f2ec3a388fb685ecc3f"
+ }
+ Frame {
+ msec: 464
+ hash: "4ac43a03cc6f2020ab5f894d704092ac"
+ }
+ Frame {
+ msec: 480
+ hash: "c1a7b7d6d64ac5584c073c2881290696"
+ }
+ Frame {
+ msec: 496
+ hash: "29ece1bca4d21fb5862091317d430a13"
+ }
+ Frame {
+ msec: 512
+ hash: "29ece1bca4d21fb5862091317d430a13"
+ }
+ Frame {
+ msec: 528
+ hash: "29ece1bca4d21fb5862091317d430a13"
+ }
+ Frame {
+ msec: 544
+ hash: "29ece1bca4d21fb5862091317d430a13"
+ }
+ Frame {
+ msec: 560
+ hash: "29ece1bca4d21fb5862091317d430a13"
+ }
+ Frame {
+ msec: 576
+ hash: "c1a7b7d6d64ac5584c073c2881290696"
+ }
+ Frame {
+ msec: 592
+ hash: "c1a7b7d6d64ac5584c073c2881290696"
+ }
+ Frame {
+ msec: 608
+ hash: "4ac43a03cc6f2020ab5f894d704092ac"
+ }
+ Frame {
+ msec: 624
+ hash: "4ac43a03cc6f2020ab5f894d704092ac"
+ }
+ Frame {
+ msec: 640
+ hash: "ffd39c1122fe2f7877ef30591b539b40"
+ }
+ Frame {
+ msec: 656
+ hash: "62a7133012348f2ec3a388fb685ecc3f"
+ }
+ Frame {
+ msec: 672
+ hash: "45281a70021f81dbef30334b1480da1b"
+ }
+ Frame {
+ msec: 688
+ hash: "6cc9de62a0c8fa5e42eac1b01e99ac32"
+ }
+ Frame {
+ msec: 704
+ hash: "79ec710576427df73dd03f39fba6e2eb"
+ }
+ Frame {
+ msec: 720
+ hash: "5be4f5c67941efb6fcea363c79f1e321"
+ }
+ Frame {
+ msec: 736
+ hash: "7d9096b1eb940c82a37baf39ef3ccf3e"
+ }
+ Frame {
+ msec: 752
+ hash: "e87b00bfc2c2a75a4234ec02a057ad3a"
+ }
+ Frame {
+ msec: 768
+ hash: "da60100dc55023c3bab367d97c8f6a85"
+ }
+ Frame {
+ msec: 784
+ hash: "dc98a9bdd99367c1e9b838d4be489dcc"
+ }
+ Frame {
+ msec: 800
+ hash: "3f869538028a09020d5e8f528f4fb119"
+ }
+ Frame {
+ msec: 816
+ hash: "9650fd0364c01b11e4f5dcce51d008af"
+ }
+ Frame {
+ msec: 832
+ hash: "2cb09d9655ecc30ae6a591b28c0d355c"
+ }
+ Frame {
+ msec: 848
+ hash: "4db9bc6c11caf1d77794c2eabb62a44e"
+ }
+ Frame {
+ msec: 864
+ hash: "ce2b5dd7418868acf86fea6ad19cc0c5"
+ }
+ Frame {
+ msec: 880
+ hash: "7c27ef654e645679c90520d6cf00b0c4"
+ }
+ Frame {
+ msec: 896
+ hash: "ab3e211df3ef7f5f7a8d712edc891c0f"
+ }
+ Frame {
+ msec: 912
+ hash: "19d2ae617a49b57dd012677e2834469c"
+ }
+ Frame {
+ msec: 928
+ hash: "5025eb75c88f0760f637e0342b7f88a2"
+ }
+ Frame {
+ msec: 944
+ hash: "005acbef952a8ee536e6308a48223e65"
+ }
+ Frame {
+ msec: 960
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "5f18a81707f23d377e81a27c1fc41ce9"
+ }
+ Frame {
+ msec: 992
+ hash: "bcc35497884c158396c7f60759d1fda4"
+ }
+ Frame {
+ msec: 1008
+ hash: "7a4528b000a4ea142d1c77407fa1f581"
+ }
+ Frame {
+ msec: 1024
+ hash: "ba967a7d810a4531e577e5f6bd2def33"
+ }
+ Frame {
+ msec: 1040
+ hash: "f5afd9cf8ffe27e9992454b9e68688cb"
+ }
+ Frame {
+ msec: 1056
+ hash: "51d475c7f64a86d3a18fb115297a7b6b"
+ }
+ Frame {
+ msec: 1072
+ hash: "49f5d6fd45c195a8d245b7fefc1277ab"
+ }
+ Frame {
+ msec: 1088
+ hash: "f9b0b278659e3a0f78611e6b7f0f2176"
+ }
+ Frame {
+ msec: 1104
+ hash: "0809d32d5bc1bfce199b1f39a1c68d4f"
+ }
+ Frame {
+ msec: 1120
+ hash: "b7208d103b63a936dff8dd8ed224237f"
+ }
+ Frame {
+ msec: 1136
+ hash: "a57c81049b0dc68090ec7c3327b9922c"
+ }
+ Frame {
+ msec: 1152
+ hash: "e553f365912586c6408c8c53b1b7d118"
+ }
+ Frame {
+ msec: 1168
+ hash: "af3120fe262d2489c0ed33fbbee1549f"
+ }
+ Frame {
+ msec: 1184
+ hash: "0c20d12464abbdc45041ea5d9f2719b1"
+ }
+ Frame {
+ msec: 1200
+ hash: "dd60cbaff6f34027474e92315dbc0ebc"
+ }
+ Frame {
+ msec: 1216
+ hash: "336d31586171f22d541b989d24b95cbb"
+ }
+ Frame {
+ msec: 1232
+ hash: "41ba853c3403f68a23e708df82e21c53"
+ }
+ Frame {
+ msec: 1248
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 1264
+ hash: "41ba853c3403f68a23e708df82e21c53"
+ }
+ Frame {
+ msec: 1280
+ hash: "a725b59b4947357546bbfc7df3d830af"
+ }
+ Frame {
+ msec: 1296
+ hash: "336d31586171f22d541b989d24b95cbb"
+ }
+ Frame {
+ msec: 1312
+ hash: "f0d8132489c2f2ef760e905b3c093726"
+ }
+ Frame {
+ msec: 1328
+ hash: "6d63fb5c8a80f0280e88b2cdf8641bb9"
+ }
+ Frame {
+ msec: 1344
+ hash: "dd60cbaff6f34027474e92315dbc0ebc"
+ }
+ Frame {
+ msec: 1360
+ hash: "ef8941674cb61f54853dc33652bb854e"
+ }
+ Frame {
+ msec: 1376
+ hash: "bc426fb7c31751665b0d3f16e2cb0173"
+ }
+ Frame {
+ msec: 1392
+ hash: "0c20d12464abbdc45041ea5d9f2719b1"
+ }
+ Frame {
+ msec: 1408
+ hash: "53ae93140252373eaa4d9da73756bd8e"
+ }
+ Frame {
+ msec: 1424
+ hash: "721d7061811b5439c2e8e395917494bc"
+ }
+ Frame {
+ msec: 1440
+ hash: "af3120fe262d2489c0ed33fbbee1549f"
+ }
+ Frame {
+ msec: 1456
+ hash: "a8b624ebfc9ab713d1ce55f318a6e90d"
+ }
+ Frame {
+ msec: 1472
+ hash: "a88a8129259f86df5a73addc3649ad37"
+ }
+ Frame {
+ msec: 1488
+ hash: "a88a8129259f86df5a73addc3649ad37"
+ }
+ Frame {
+ msec: 1504
+ hash: "3db5e30ef19ea693c21ccf72892c4390"
+ }
+ Frame {
+ msec: 1520
+ hash: "e553f365912586c6408c8c53b1b7d118"
+ }
+ Frame {
+ msec: 1536
+ hash: "e553f365912586c6408c8c53b1b7d118"
+ }
+ Frame {
+ msec: 1552
+ hash: "e553f365912586c6408c8c53b1b7d118"
+ }
+ Frame {
+ msec: 1568
+ hash: "1373545e43fff7251cec9e8375ea267f"
+ }
+ Frame {
+ msec: 1584
+ hash: "1373545e43fff7251cec9e8375ea267f"
+ }
+ Frame {
+ msec: 1600
+ hash: "1373545e43fff7251cec9e8375ea267f"
+ }
+ Frame {
+ msec: 1616
+ hash: "1373545e43fff7251cec9e8375ea267f"
+ }
+ Frame {
+ msec: 1632
+ hash: "1373545e43fff7251cec9e8375ea267f"
+ }
+ Frame {
+ msec: 1648
+ hash: "1373545e43fff7251cec9e8375ea267f"
+ }
+ Frame {
+ msec: 1664
+ hash: "e553f365912586c6408c8c53b1b7d118"
+ }
+ Frame {
+ msec: 1680
+ hash: "e553f365912586c6408c8c53b1b7d118"
+ }
+ Frame {
+ msec: 1696
+ hash: "3db5e30ef19ea693c21ccf72892c4390"
+ }
+ Frame {
+ msec: 1712
+ hash: "3db5e30ef19ea693c21ccf72892c4390"
+ }
+ Frame {
+ msec: 1728
+ hash: "a88a8129259f86df5a73addc3649ad37"
+ }
+ Frame {
+ msec: 1744
+ hash: "a8b624ebfc9ab713d1ce55f318a6e90d"
+ }
+ Frame {
+ msec: 1760
+ hash: "a8b624ebfc9ab713d1ce55f318a6e90d"
+ }
+ Frame {
+ msec: 1776
+ hash: "af3120fe262d2489c0ed33fbbee1549f"
+ }
+ Frame {
+ msec: 1792
+ hash: "721d7061811b5439c2e8e395917494bc"
+ }
+ Frame {
+ msec: 1808
+ hash: "b3f4a2165ec1ee971542b8ef89656cea"
+ }
+ Frame {
+ msec: 1824
+ hash: "0c20d12464abbdc45041ea5d9f2719b1"
+ }
+ Frame {
+ msec: 1840
+ hash: "bc426fb7c31751665b0d3f16e2cb0173"
+ }
+ Frame {
+ msec: 1856
+ hash: "ef8941674cb61f54853dc33652bb854e"
+ }
+ Frame {
+ msec: 1872
+ hash: "dd60cbaff6f34027474e92315dbc0ebc"
+ }
+ Frame {
+ msec: 1888
+ hash: "6d63fb5c8a80f0280e88b2cdf8641bb9"
+ }
+ Frame {
+ msec: 1904
+ hash: "e74fe4a6bd92cbe8629c8bc8a870104d"
+ }
+ Frame {
+ msec: 1920
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.1.png"
+ }
+ Frame {
+ msec: 1936
+ hash: "a725b59b4947357546bbfc7df3d830af"
+ }
+ Frame {
+ msec: 1952
+ hash: "dcf2867c127e041970047ec8f3edc04f"
+ }
+ Frame {
+ msec: 1968
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 1984
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 2000
+ hash: "dcf2867c127e041970047ec8f3edc04f"
+ }
+ Frame {
+ msec: 2016
+ hash: "41ba853c3403f68a23e708df82e21c53"
+ }
+ Frame {
+ msec: 2032
+ hash: "ce57e27af329eba4fac3ab891f0407ce"
+ }
+ Frame {
+ msec: 2048
+ hash: "ce57e27af329eba4fac3ab891f0407ce"
+ }
+ Frame {
+ msec: 2064
+ hash: "a725b59b4947357546bbfc7df3d830af"
+ }
+ Frame {
+ msec: 2080
+ hash: "a725b59b4947357546bbfc7df3d830af"
+ }
+ Frame {
+ msec: 2096
+ hash: "3042003c067b257de2cb32f650dde693"
+ }
+ Frame {
+ msec: 2112
+ hash: "3042003c067b257de2cb32f650dde693"
+ }
+ Frame {
+ msec: 2128
+ hash: "3042003c067b257de2cb32f650dde693"
+ }
+ Frame {
+ msec: 2144
+ hash: "3042003c067b257de2cb32f650dde693"
+ }
+ Frame {
+ msec: 2160
+ hash: "3042003c067b257de2cb32f650dde693"
+ }
+ Frame {
+ msec: 2176
+ hash: "3042003c067b257de2cb32f650dde693"
+ }
+ Frame {
+ msec: 2192
+ hash: "3042003c067b257de2cb32f650dde693"
+ }
+ Frame {
+ msec: 2208
+ hash: "3042003c067b257de2cb32f650dde693"
+ }
+ Frame {
+ msec: 2224
+ hash: "a725b59b4947357546bbfc7df3d830af"
+ }
+ Frame {
+ msec: 2240
+ hash: "a725b59b4947357546bbfc7df3d830af"
+ }
+ Frame {
+ msec: 2256
+ hash: "ce57e27af329eba4fac3ab891f0407ce"
+ }
+ Frame {
+ msec: 2272
+ hash: "ce57e27af329eba4fac3ab891f0407ce"
+ }
+ Frame {
+ msec: 2288
+ hash: "41ba853c3403f68a23e708df82e21c53"
+ }
+ Frame {
+ msec: 2304
+ hash: "dcf2867c127e041970047ec8f3edc04f"
+ }
+ Frame {
+ msec: 2320
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 2336
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2352
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 2368
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 2384
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 2400
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 2416
+ hash: "dcf2867c127e041970047ec8f3edc04f"
+ }
+ Frame {
+ msec: 2432
+ hash: "dcf2867c127e041970047ec8f3edc04f"
+ }
+ Frame {
+ msec: 2448
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 2464
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 2480
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 2496
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 2512
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2528
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2544
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2560
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2576
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2592
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2608
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2624
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2640
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2656
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2672
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2688
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2704
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2720
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2736
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2752
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2768
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2784
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2800
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2816
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2832
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2848
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2864
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2880
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.2.png"
+ }
+ Frame {
+ msec: 2896
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2912
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2928
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2944
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2960
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2976
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 2992
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3008
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3024
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3040
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3056
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3072
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3088
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3104
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3120
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3136
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3152
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3168
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3184
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3200
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3216
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3232
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3248
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3264
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3280
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3296
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3312
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3328
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3344
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3360
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3376
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3392
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3408
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3424
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3440
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3456
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3472
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3488
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3504
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3520
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3536
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 3552
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 3568
+ hash: "dcf2867c127e041970047ec8f3edc04f"
+ }
+ Frame {
+ msec: 3584
+ hash: "ce57e27af329eba4fac3ab891f0407ce"
+ }
+ Frame {
+ msec: 3600
+ hash: "3042003c067b257de2cb32f650dde693"
+ }
+ Frame {
+ msec: 3616
+ hash: "e74fe4a6bd92cbe8629c8bc8a870104d"
+ }
+ Frame {
+ msec: 3632
+ hash: "e11455d4e23a5a865e222a7aba4ba4f9"
+ }
+ Frame {
+ msec: 3648
+ hash: "8757668e56be6449ec375f0b8fed1be3"
+ }
+ Frame {
+ msec: 3664
+ hash: "53ae93140252373eaa4d9da73756bd8e"
+ }
+ Frame {
+ msec: 3680
+ hash: "a88a8129259f86df5a73addc3649ad37"
+ }
+ Frame {
+ msec: 3696
+ hash: "630d90eef2673a69e8ebc4ef1ba40e81"
+ }
+ Frame {
+ msec: 3712
+ hash: "b7208d103b63a936dff8dd8ed224237f"
+ }
+ Frame {
+ msec: 3728
+ hash: "1516c3547c7cf64832b3bc7da7c44521"
+ }
+ Frame {
+ msec: 3744
+ hash: "49f5d6fd45c195a8d245b7fefc1277ab"
+ }
+ Frame {
+ msec: 3760
+ hash: "f5afd9cf8ffe27e9992454b9e68688cb"
+ }
+ Frame {
+ msec: 3776
+ hash: "7a4528b000a4ea142d1c77407fa1f581"
+ }
+ Frame {
+ msec: 3792
+ hash: "5f18a81707f23d377e81a27c1fc41ce9"
+ }
+ Frame {
+ msec: 3808
+ hash: "005acbef952a8ee536e6308a48223e65"
+ }
+ Frame {
+ msec: 3824
+ hash: "85c135ef72d3d25658a3663e69ffb7c2"
+ }
+ Frame {
+ msec: 3840
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.3.png"
+ }
+ Frame {
+ msec: 3856
+ hash: "20258f07c613958c32f783466771391a"
+ }
+ Frame {
+ msec: 3872
+ hash: "9650fd0364c01b11e4f5dcce51d008af"
+ }
+ Frame {
+ msec: 3888
+ hash: "f340cdf60c6d4c29d26b7202a093ec70"
+ }
+ Frame {
+ msec: 3904
+ hash: "d754d35d0793f9f7d4f6249a874e4c45"
+ }
+ Frame {
+ msec: 3920
+ hash: "79ec710576427df73dd03f39fba6e2eb"
+ }
+ Frame {
+ msec: 3936
+ hash: "45281a70021f81dbef30334b1480da1b"
+ }
+ Frame {
+ msec: 3952
+ hash: "ffd39c1122fe2f7877ef30591b539b40"
+ }
+ Frame {
+ msec: 3968
+ hash: "4ac43a03cc6f2020ab5f894d704092ac"
+ }
+ Frame {
+ msec: 3984
+ hash: "c1a7b7d6d64ac5584c073c2881290696"
+ }
+ Frame {
+ msec: 4000
+ hash: "29ece1bca4d21fb5862091317d430a13"
+ }
+ Frame {
+ msec: 4016
+ hash: "29ece1bca4d21fb5862091317d430a13"
+ }
+ Frame {
+ msec: 4032
+ hash: "29ece1bca4d21fb5862091317d430a13"
+ }
+ Frame {
+ msec: 4048
+ hash: "29ece1bca4d21fb5862091317d430a13"
+ }
+ Frame {
+ msec: 4064
+ hash: "29ece1bca4d21fb5862091317d430a13"
+ }
+ Frame {
+ msec: 4080
+ hash: "c1a7b7d6d64ac5584c073c2881290696"
+ }
+ Frame {
+ msec: 4096
+ hash: "c1a7b7d6d64ac5584c073c2881290696"
+ }
+ Frame {
+ msec: 4112
+ hash: "4ac43a03cc6f2020ab5f894d704092ac"
+ }
+ Frame {
+ msec: 4128
+ hash: "4ac43a03cc6f2020ab5f894d704092ac"
+ }
+ Frame {
+ msec: 4144
+ hash: "ffd39c1122fe2f7877ef30591b539b40"
+ }
+ Frame {
+ msec: 4160
+ hash: "62a7133012348f2ec3a388fb685ecc3f"
+ }
+ Frame {
+ msec: 4176
+ hash: "45281a70021f81dbef30334b1480da1b"
+ }
+ Frame {
+ msec: 4192
+ hash: "6cc9de62a0c8fa5e42eac1b01e99ac32"
+ }
+ Frame {
+ msec: 4208
+ hash: "79ec710576427df73dd03f39fba6e2eb"
+ }
+ Frame {
+ msec: 4224
+ hash: "5be4f5c67941efb6fcea363c79f1e321"
+ }
+ Frame {
+ msec: 4240
+ hash: "7d9096b1eb940c82a37baf39ef3ccf3e"
+ }
+ Frame {
+ msec: 4256
+ hash: "e87b00bfc2c2a75a4234ec02a057ad3a"
+ }
+ Frame {
+ msec: 4272
+ hash: "da60100dc55023c3bab367d97c8f6a85"
+ }
+ Frame {
+ msec: 4288
+ hash: "dc98a9bdd99367c1e9b838d4be489dcc"
+ }
+ Frame {
+ msec: 4304
+ hash: "b2c778a5eff5f01edc54f03d8b4de8c7"
+ }
+ Frame {
+ msec: 4320
+ hash: "9650fd0364c01b11e4f5dcce51d008af"
+ }
+ Frame {
+ msec: 4336
+ hash: "2cb09d9655ecc30ae6a591b28c0d355c"
+ }
+ Frame {
+ msec: 4352
+ hash: "4db9bc6c11caf1d77794c2eabb62a44e"
+ }
+ Frame {
+ msec: 4368
+ hash: "ce2b5dd7418868acf86fea6ad19cc0c5"
+ }
+ Frame {
+ msec: 4384
+ hash: "c4f844ee71f23635bb3ec7375f6a134f"
+ }
+ Frame {
+ msec: 4400
+ hash: "4e1fda8a0495ef968c1cffb1257426d7"
+ }
+ Frame {
+ msec: 4416
+ hash: "19d2ae617a49b57dd012677e2834469c"
+ }
+ Frame {
+ msec: 4432
+ hash: "f438e8d2c16b5de677924c8411219b19"
+ }
+ Frame {
+ msec: 4448
+ hash: "005acbef952a8ee536e6308a48223e65"
+ }
+ Frame {
+ msec: 4464
+ hash: "87b71778d52cd8563d171151d4d32407"
+ }
+ Frame {
+ msec: 4480
+ hash: "691cd8bf5c7802ff6c5024827a379fc6"
+ }
+ Frame {
+ msec: 4496
+ hash: "ab442c0173c3d221b6782d28001dac77"
+ }
+ Frame {
+ msec: 4512
+ hash: "6f886d4538704c2fad4d84c68214109f"
+ }
+ Frame {
+ msec: 4528
+ hash: "56d39f233fae41c60499d6161f891cbc"
+ }
+ Frame {
+ msec: 4544
+ hash: "95d987c3fd1352fb81c42c63634fe53b"
+ }
+ Frame {
+ msec: 4560
+ hash: "96dc84c0c548021910e7c5b580179054"
+ }
+ Frame {
+ msec: 4576
+ hash: "ddb71cbd57f6e43744d533d4f72b08db"
+ }
+ Frame {
+ msec: 4592
+ hash: "f7ab4b197bea455b22f259913438d207"
+ }
+ Frame {
+ msec: 4608
+ hash: "2ad64cb01c9d50e0118d5ece0a644df2"
+ }
+ Frame {
+ msec: 4624
+ hash: "6579681c59dd571df0ee4429d74fb5c7"
+ }
+ Frame {
+ msec: 4640
+ hash: "630d90eef2673a69e8ebc4ef1ba40e81"
+ }
+ Frame {
+ msec: 4656
+ hash: "3db5e30ef19ea693c21ccf72892c4390"
+ }
+ Frame {
+ msec: 4672
+ hash: "721d7061811b5439c2e8e395917494bc"
+ }
+ Frame {
+ msec: 4688
+ hash: "bc426fb7c31751665b0d3f16e2cb0173"
+ }
+ Frame {
+ msec: 4704
+ hash: "e11455d4e23a5a865e222a7aba4ba4f9"
+ }
+ Frame {
+ msec: 4720
+ hash: "3042003c067b257de2cb32f650dde693"
+ }
+ Frame {
+ msec: 4736
+ hash: "dcf2867c127e041970047ec8f3edc04f"
+ }
+ Frame {
+ msec: 4752
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 4768
+ hash: "41ba853c3403f68a23e708df82e21c53"
+ }
+ Frame {
+ msec: 4784
+ hash: "a725b59b4947357546bbfc7df3d830af"
+ }
+ Frame {
+ msec: 4800
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.4.png"
+ }
+ Frame {
+ msec: 4816
+ hash: "f0d8132489c2f2ef760e905b3c093726"
+ }
+ Frame {
+ msec: 4832
+ hash: "e11455d4e23a5a865e222a7aba4ba4f9"
+ }
+ Frame {
+ msec: 4848
+ hash: "dd60cbaff6f34027474e92315dbc0ebc"
+ }
+ Frame {
+ msec: 4864
+ hash: "8757668e56be6449ec375f0b8fed1be3"
+ }
+ Frame {
+ msec: 4880
+ hash: "bc426fb7c31751665b0d3f16e2cb0173"
+ }
+ Frame {
+ msec: 4896
+ hash: "b3f4a2165ec1ee971542b8ef89656cea"
+ }
+ Frame {
+ msec: 4912
+ hash: "53ae93140252373eaa4d9da73756bd8e"
+ }
+ Frame {
+ msec: 4928
+ hash: "721d7061811b5439c2e8e395917494bc"
+ }
+ Frame {
+ msec: 4944
+ hash: "af3120fe262d2489c0ed33fbbee1549f"
+ }
+ Frame {
+ msec: 4960
+ hash: "a8b624ebfc9ab713d1ce55f318a6e90d"
+ }
+ Frame {
+ msec: 4976
+ hash: "a88a8129259f86df5a73addc3649ad37"
+ }
+ Frame {
+ msec: 4992
+ hash: "3db5e30ef19ea693c21ccf72892c4390"
+ }
+ Frame {
+ msec: 5008
+ hash: "3db5e30ef19ea693c21ccf72892c4390"
+ }
+ Frame {
+ msec: 5024
+ hash: "e553f365912586c6408c8c53b1b7d118"
+ }
+ Frame {
+ msec: 5040
+ hash: "e553f365912586c6408c8c53b1b7d118"
+ }
+ Frame {
+ msec: 5056
+ hash: "1373545e43fff7251cec9e8375ea267f"
+ }
+ Frame {
+ msec: 5072
+ hash: "1373545e43fff7251cec9e8375ea267f"
+ }
+ Frame {
+ msec: 5088
+ hash: "1373545e43fff7251cec9e8375ea267f"
+ }
+ Frame {
+ msec: 5104
+ hash: "1373545e43fff7251cec9e8375ea267f"
+ }
+ Frame {
+ msec: 5120
+ hash: "1373545e43fff7251cec9e8375ea267f"
+ }
+ Frame {
+ msec: 5136
+ hash: "1373545e43fff7251cec9e8375ea267f"
+ }
+ Frame {
+ msec: 5152
+ hash: "1373545e43fff7251cec9e8375ea267f"
+ }
+ Frame {
+ msec: 5168
+ hash: "e553f365912586c6408c8c53b1b7d118"
+ }
+ Frame {
+ msec: 5184
+ hash: "e553f365912586c6408c8c53b1b7d118"
+ }
+ Frame {
+ msec: 5200
+ hash: "3db5e30ef19ea693c21ccf72892c4390"
+ }
+ Frame {
+ msec: 5216
+ hash: "3db5e30ef19ea693c21ccf72892c4390"
+ }
+ Frame {
+ msec: 5232
+ hash: "a88a8129259f86df5a73addc3649ad37"
+ }
+ Frame {
+ msec: 5248
+ hash: "a8b624ebfc9ab713d1ce55f318a6e90d"
+ }
+ Frame {
+ msec: 5264
+ hash: "af3120fe262d2489c0ed33fbbee1549f"
+ }
+ Frame {
+ msec: 5280
+ hash: "721d7061811b5439c2e8e395917494bc"
+ }
+ Frame {
+ msec: 5296
+ hash: "53ae93140252373eaa4d9da73756bd8e"
+ }
+ Frame {
+ msec: 5312
+ hash: "b3f4a2165ec1ee971542b8ef89656cea"
+ }
+ Frame {
+ msec: 5328
+ hash: "0c20d12464abbdc45041ea5d9f2719b1"
+ }
+ Frame {
+ msec: 5344
+ hash: "8757668e56be6449ec375f0b8fed1be3"
+ }
+ Frame {
+ msec: 5360
+ hash: "ef8941674cb61f54853dc33652bb854e"
+ }
+ Frame {
+ msec: 5376
+ hash: "e11455d4e23a5a865e222a7aba4ba4f9"
+ }
+ Frame {
+ msec: 5392
+ hash: "6d63fb5c8a80f0280e88b2cdf8641bb9"
+ }
+ Frame {
+ msec: 5408
+ hash: "e74fe4a6bd92cbe8629c8bc8a870104d"
+ }
+ Frame {
+ msec: 5424
+ hash: "3042003c067b257de2cb32f650dde693"
+ }
+ Frame {
+ msec: 5440
+ hash: "ce57e27af329eba4fac3ab891f0407ce"
+ }
+ Frame {
+ msec: 5456
+ hash: "dcf2867c127e041970047ec8f3edc04f"
+ }
+ Frame {
+ msec: 5472
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 5488
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 5504
+ hash: "dcf2867c127e041970047ec8f3edc04f"
+ }
+ Frame {
+ msec: 5520
+ hash: "41ba853c3403f68a23e708df82e21c53"
+ }
+ Frame {
+ msec: 5536
+ hash: "ce57e27af329eba4fac3ab891f0407ce"
+ }
+ Frame {
+ msec: 5552
+ hash: "ce57e27af329eba4fac3ab891f0407ce"
+ }
+ Frame {
+ msec: 5568
+ hash: "a725b59b4947357546bbfc7df3d830af"
+ }
+ Frame {
+ msec: 5584
+ hash: "a725b59b4947357546bbfc7df3d830af"
+ }
+ Frame {
+ msec: 5600
+ hash: "3042003c067b257de2cb32f650dde693"
+ }
+ Frame {
+ msec: 5616
+ hash: "3042003c067b257de2cb32f650dde693"
+ }
+ Frame {
+ msec: 5632
+ hash: "3042003c067b257de2cb32f650dde693"
+ }
+ Frame {
+ msec: 5648
+ hash: "3042003c067b257de2cb32f650dde693"
+ }
+ Frame {
+ msec: 5664
+ hash: "3042003c067b257de2cb32f650dde693"
+ }
+ Frame {
+ msec: 5680
+ hash: "3042003c067b257de2cb32f650dde693"
+ }
+ Frame {
+ msec: 5696
+ hash: "3042003c067b257de2cb32f650dde693"
+ }
+ Frame {
+ msec: 5712
+ hash: "3042003c067b257de2cb32f650dde693"
+ }
+ Frame {
+ msec: 5728
+ hash: "a725b59b4947357546bbfc7df3d830af"
+ }
+ Frame {
+ msec: 5744
+ hash: "a725b59b4947357546bbfc7df3d830af"
+ }
+ Frame {
+ msec: 5760
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/pauseAnimation/data/pauseAnimation.5.png"
+ }
+ Frame {
+ msec: 5776
+ hash: "41ba853c3403f68a23e708df82e21c53"
+ }
+ Frame {
+ msec: 5792
+ hash: "41ba853c3403f68a23e708df82e21c53"
+ }
+ Frame {
+ msec: 5808
+ hash: "dcf2867c127e041970047ec8f3edc04f"
+ }
+ Frame {
+ msec: 5824
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 5840
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 5856
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 5872
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 5888
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 5904
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 5920
+ hash: "dcf2867c127e041970047ec8f3edc04f"
+ }
+ Frame {
+ msec: 5936
+ hash: "dcf2867c127e041970047ec8f3edc04f"
+ }
+ Frame {
+ msec: 5952
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 5968
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 5984
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 6000
+ hash: "675ebbdd22dd22ce45993df4af1acfe9"
+ }
+ Frame {
+ msec: 6016
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6032
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6048
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6064
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6080
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6096
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6112
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6128
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6144
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6160
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6176
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6192
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6208
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6224
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6240
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6256
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6272
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6288
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6304
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6320
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6336
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6352
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6368
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 6384
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6400
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+ Frame {
+ msec: 6416
+ hash: "a350b70c5238a340e85fd4a3ec0390a3"
+ }
+}
diff --git a/tests/auto/declarative/visual/pauseAnimation/data/raster/manifest.qml b/tests/auto/declarative/visual/pauseAnimation/data/raster/manifest.qml
deleted file mode 100644
index 40b300d..0000000
--- a/tests/auto/declarative/visual/pauseAnimation/data/raster/manifest.qml
+++ /dev/null
@@ -1,1264 +0,0 @@
-import Qt 4.6
-
-TestLog {
- TestFullFrame {
- time: 0
- frameId: 0
- }
- TestFrame {
- time: 16
- hash: 'A350B70C5238A340E85FD4A3EC0390A3'
- }
- TestFrame {
- time: 32
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 48
- hash: 'DCF2867C127E041970047EC8F3EDC04F'
- }
- TestFrame {
- time: 64
- hash: '41BA853C3403F68A23E708DF82E21C53'
- }
- TestFrame {
- time: 80
- hash: 'A725B59B4947357546BBFC7DF3D830AF'
- }
- TestFrame {
- time: 96
- hash: '336D31586171F22D541B989D24B95CBB'
- }
- TestFrame {
- time: 112
- hash: '6D63FB5C8A80F0280E88B2CDF8641BB9'
- }
- TestFrame {
- time: 128
- hash: 'EF8941674CB61F54853DC33652BB854E'
- }
- TestFrame {
- time: 144
- hash: 'B3F4A2165EC1EE971542B8EF89656CEA'
- }
- TestFrame {
- time: 160
- hash: 'AF3120FE262D2489C0ED33FBBEE1549F'
- }
- TestFrame {
- time: 176
- hash: '1373545E43FFF7251CEC9E8375EA267F'
- }
- TestFrame {
- time: 192
- hash: '21F0B0437A999BBDE66A913032D495C2'
- }
- TestFrame {
- time: 208
- hash: '0809D32D5BC1BFCE199B1F39A1C68D4F'
- }
- TestFrame {
- time: 224
- hash: '022137587B39F5123835482178A1F1CF'
- }
- TestFrame {
- time: 240
- hash: '97566CE9558D13EA0780BCE233097B27'
- }
- TestFrame {
- time: 256
- hash: '96D79B07DA105B7F631ED61582B26F7E'
- }
- TestFrame {
- time: 272
- hash: 'F4732FF2DF93FE67CB850DEC34184924'
- }
- TestFrame {
- time: 288
- hash: '054E6E52F74A3E24F04E6AD0071F79F8'
- }
- TestFrame {
- time: 304
- hash: 'F541AF93A9FDE62E4BD1C91D30F91E65'
- }
- TestFrame {
- time: 320
- hash: 'C4F844EE71F23635BB3EC7375F6A134F'
- }
- TestFrame {
- time: 336
- hash: '3E52E06DB2BF78762BB9816FE6B105D9'
- }
- TestFrame {
- time: 352
- hash: 'D9604BE23A91327E6AB454609A9D4A13'
- }
- TestFrame {
- time: 368
- hash: 'DC98A9BDD99367C1E9B838D4BE489DCC'
- }
- TestFrame {
- time: 384
- hash: 'E87B00BFC2C2A75A4234EC02A057AD3A'
- }
- TestFrame {
- time: 400
- hash: '5BE4F5C67941EFB6FCEA363C79F1E321'
- }
- TestFrame {
- time: 416
- hash: '6CC9DE62A0C8FA5E42EAC1B01E99AC32'
- }
- TestFrame {
- time: 432
- hash: '62A7133012348F2EC3A388FB685ECC3F'
- }
- TestFrame {
- time: 448
- hash: '4AC43A03CC6F2020AB5F894D704092AC'
- }
- TestFrame {
- time: 464
- hash: 'C1A7B7D6D64AC5584C073C2881290696'
- }
- TestFrame {
- time: 480
- hash: '29ECE1BCA4D21FB5862091317D430A13'
- }
- TestFrame {
- time: 496
- hash: '29ECE1BCA4D21FB5862091317D430A13'
- }
- TestFrame {
- time: 512
- hash: '29ECE1BCA4D21FB5862091317D430A13'
- }
- TestFrame {
- time: 528
- hash: '29ECE1BCA4D21FB5862091317D430A13'
- }
- TestFrame {
- time: 544
- hash: '29ECE1BCA4D21FB5862091317D430A13'
- }
- TestFrame {
- time: 560
- hash: 'C1A7B7D6D64AC5584C073C2881290696'
- }
- TestFrame {
- time: 576
- hash: 'C1A7B7D6D64AC5584C073C2881290696'
- }
- TestFrame {
- time: 592
- hash: '4AC43A03CC6F2020AB5F894D704092AC'
- }
- TestFrame {
- time: 608
- hash: '4AC43A03CC6F2020AB5F894D704092AC'
- }
- TestFrame {
- time: 624
- hash: 'FFD39C1122FE2F7877EF30591B539B40'
- }
- TestFrame {
- time: 640
- hash: '62A7133012348F2EC3A388FB685ECC3F'
- }
- TestFrame {
- time: 656
- hash: '45281A70021F81DBEF30334B1480DA1B'
- }
- TestFrame {
- time: 672
- hash: '6CC9DE62A0C8FA5E42EAC1B01E99AC32'
- }
- TestFrame {
- time: 688
- hash: '79EC710576427DF73DD03F39FBA6E2EB'
- }
- TestFrame {
- time: 704
- hash: '5BE4F5C67941EFB6FCEA363C79F1E321'
- }
- TestFrame {
- time: 720
- hash: '7D9096B1EB940C82A37BAF39EF3CCF3E'
- }
- TestFrame {
- time: 736
- hash: 'E87B00BFC2C2A75A4234EC02A057AD3A'
- }
- TestFrame {
- time: 752
- hash: 'DA60100DC55023C3BAB367D97C8F6A85'
- }
- TestFrame {
- time: 768
- hash: 'DC98A9BDD99367C1E9B838D4BE489DCC'
- }
- TestFrame {
- time: 784
- hash: '3F869538028A09020D5E8F528F4FB119'
- }
- TestFrame {
- time: 800
- hash: '9650FD0364C01B11E4F5DCCE51D008AF'
- }
- TestFrame {
- time: 816
- hash: '2CB09D9655ECC30AE6A591B28C0D355C'
- }
- TestFrame {
- time: 832
- hash: '4DB9BC6C11CAF1D77794C2EABB62A44E'
- }
- TestFrame {
- time: 848
- hash: 'CE2B5DD7418868ACF86FEA6AD19CC0C5'
- }
- TestFrame {
- time: 864
- hash: '7C27EF654E645679C90520D6CF00B0C4'
- }
- TestFrame {
- time: 880
- hash: 'AB3E211DF3EF7F5F7A8D712EDC891C0F'
- }
- TestFrame {
- time: 896
- hash: '19D2AE617A49B57DD012677E2834469C'
- }
- TestFrame {
- time: 912
- hash: '5025EB75C88F0760F637E0342B7F88A2'
- }
- TestFrame {
- time: 928
- hash: '005ACBEF952A8EE536E6308A48223E65'
- }
- TestFrame {
- time: 944
- hash: 'F1E0301430D153FB9D15EAFFDFCD5C58'
- }
- TestFrame {
- time: 960
- hash: '5F18A81707F23D377E81A27C1FC41CE9'
- }
- TestFrame {
- time: 976
- hash: 'BCC35497884C158396C7F60759D1FDA4'
- }
- TestFrame {
- time: 992
- hash: '7A4528B000A4EA142D1C77407FA1F581'
- }
- TestFrame {
- time: 1008
- hash: 'BA967A7D810A4531E577E5F6BD2DEF33'
- }
- TestFrame {
- time: 1024
- hash: 'F5AFD9CF8FFE27E9992454B9E68688CB'
- }
- TestFrame {
- time: 1040
- hash: '51D475C7F64A86D3A18FB115297A7B6B'
- }
- TestFrame {
- time: 1056
- hash: '49F5D6FD45C195A8D245B7FEFC1277AB'
- }
- TestFrame {
- time: 1072
- hash: 'F9B0B278659E3A0F78611E6B7F0F2176'
- }
- TestFrame {
- time: 1088
- hash: '0809D32D5BC1BFCE199B1F39A1C68D4F'
- }
- TestFrame {
- time: 1104
- hash: 'B7208D103B63A936DFF8DD8ED224237F'
- }
- TestFrame {
- time: 1120
- hash: 'A57C81049B0DC68090EC7C3327B9922C'
- }
- TestFrame {
- time: 1136
- hash: 'E553F365912586C6408C8C53B1B7D118'
- }
- TestFrame {
- time: 1152
- hash: 'AF3120FE262D2489C0ED33FBBEE1549F'
- }
- TestFrame {
- time: 1168
- hash: '0C20D12464ABBDC45041EA5D9F2719B1'
- }
- TestFrame {
- time: 1184
- hash: 'DD60CBAFF6F34027474E92315DBC0EBC'
- }
- TestFrame {
- time: 1200
- hash: '336D31586171F22D541B989D24B95CBB'
- }
- TestFrame {
- time: 1216
- hash: '41BA853C3403F68A23E708DF82E21C53'
- }
- TestFrame {
- time: 1232
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 1248
- hash: '41BA853C3403F68A23E708DF82E21C53'
- }
- TestFrame {
- time: 1264
- hash: 'A725B59B4947357546BBFC7DF3D830AF'
- }
- TestFrame {
- time: 1280
- hash: '336D31586171F22D541B989D24B95CBB'
- }
- TestFrame {
- time: 1296
- hash: 'F0D8132489C2F2EF760E905B3C093726'
- }
- TestFrame {
- time: 1312
- hash: '6D63FB5C8A80F0280E88B2CDF8641BB9'
- }
- TestFrame {
- time: 1328
- hash: 'DD60CBAFF6F34027474E92315DBC0EBC'
- }
- TestFrame {
- time: 1344
- hash: 'EF8941674CB61F54853DC33652BB854E'
- }
- TestFrame {
- time: 1360
- hash: 'BC426FB7C31751665B0D3F16E2CB0173'
- }
- TestFrame {
- time: 1376
- hash: '0C20D12464ABBDC45041EA5D9F2719B1'
- }
- TestFrame {
- time: 1392
- hash: '53AE93140252373EAA4D9DA73756BD8E'
- }
- TestFrame {
- time: 1408
- hash: '721D7061811B5439C2E8E395917494BC'
- }
- TestFrame {
- time: 1424
- hash: 'AF3120FE262D2489C0ED33FBBEE1549F'
- }
- TestFrame {
- time: 1440
- hash: 'A8B624EBFC9AB713D1CE55F318A6E90D'
- }
- TestFrame {
- time: 1456
- hash: 'A88A8129259F86DF5A73ADDC3649AD37'
- }
- TestFrame {
- time: 1472
- hash: 'A88A8129259F86DF5A73ADDC3649AD37'
- }
- TestFrame {
- time: 1488
- hash: '3DB5E30EF19EA693C21CCF72892C4390'
- }
- TestFrame {
- time: 1504
- hash: 'E553F365912586C6408C8C53B1B7D118'
- }
- TestFrame {
- time: 1520
- hash: 'E553F365912586C6408C8C53B1B7D118'
- }
- TestFrame {
- time: 1536
- hash: 'E553F365912586C6408C8C53B1B7D118'
- }
- TestFrame {
- time: 1552
- hash: '1373545E43FFF7251CEC9E8375EA267F'
- }
- TestFrame {
- time: 1568
- hash: '1373545E43FFF7251CEC9E8375EA267F'
- }
- TestFrame {
- time: 1584
- hash: '1373545E43FFF7251CEC9E8375EA267F'
- }
- TestFrame {
- time: 1600
- hash: '1373545E43FFF7251CEC9E8375EA267F'
- }
- TestFrame {
- time: 1616
- hash: '1373545E43FFF7251CEC9E8375EA267F'
- }
- TestFrame {
- time: 1632
- hash: '1373545E43FFF7251CEC9E8375EA267F'
- }
- TestFrame {
- time: 1648
- hash: 'E553F365912586C6408C8C53B1B7D118'
- }
- TestFrame {
- time: 1664
- hash: 'E553F365912586C6408C8C53B1B7D118'
- }
- TestFrame {
- time: 1680
- hash: '3DB5E30EF19EA693C21CCF72892C4390'
- }
- TestFrame {
- time: 1696
- hash: '3DB5E30EF19EA693C21CCF72892C4390'
- }
- TestFrame {
- time: 1712
- hash: 'A88A8129259F86DF5A73ADDC3649AD37'
- }
- TestFrame {
- time: 1728
- hash: 'A8B624EBFC9AB713D1CE55F318A6E90D'
- }
- TestFrame {
- time: 1744
- hash: 'A8B624EBFC9AB713D1CE55F318A6E90D'
- }
- TestFrame {
- time: 1760
- hash: 'AF3120FE262D2489C0ED33FBBEE1549F'
- }
- TestFrame {
- time: 1776
- hash: '721D7061811B5439C2E8E395917494BC'
- }
- TestFrame {
- time: 1792
- hash: 'B3F4A2165EC1EE971542B8EF89656CEA'
- }
- TestFrame {
- time: 1808
- hash: '0C20D12464ABBDC45041EA5D9F2719B1'
- }
- TestFrame {
- time: 1824
- hash: 'BC426FB7C31751665B0D3F16E2CB0173'
- }
- TestFrame {
- time: 1840
- hash: 'EF8941674CB61F54853DC33652BB854E'
- }
- TestFrame {
- time: 1856
- hash: 'DD60CBAFF6F34027474E92315DBC0EBC'
- }
- TestFrame {
- time: 1872
- hash: '6D63FB5C8A80F0280E88B2CDF8641BB9'
- }
- TestFrame {
- time: 1888
- hash: 'E74FE4A6BD92CBE8629C8BC8A870104D'
- }
- TestFrame {
- time: 1904
- hash: '3042003C067B257DE2CB32F650DDE693'
- }
- TestFrame {
- time: 1920
- hash: 'A725B59B4947357546BBFC7DF3D830AF'
- }
- TestFrame {
- time: 1936
- hash: 'DCF2867C127E041970047EC8F3EDC04F'
- }
- TestFrame {
- time: 1952
- hash: 'A350B70C5238A340E85FD4A3EC0390A3'
- }
- TestFrame {
- time: 1968
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 1984
- hash: 'DCF2867C127E041970047EC8F3EDC04F'
- }
- TestFrame {
- time: 2000
- hash: '41BA853C3403F68A23E708DF82E21C53'
- }
- TestFrame {
- time: 2016
- hash: 'CE57E27AF329EBA4FAC3AB891F0407CE'
- }
- TestFrame {
- time: 2032
- hash: 'CE57E27AF329EBA4FAC3AB891F0407CE'
- }
- TestFrame {
- time: 2048
- hash: 'A725B59B4947357546BBFC7DF3D830AF'
- }
- TestFrame {
- time: 2064
- hash: 'A725B59B4947357546BBFC7DF3D830AF'
- }
- TestFrame {
- time: 2080
- hash: '3042003C067B257DE2CB32F650DDE693'
- }
- TestFrame {
- time: 2096
- hash: '3042003C067B257DE2CB32F650DDE693'
- }
- TestFrame {
- time: 2112
- hash: '3042003C067B257DE2CB32F650DDE693'
- }
- TestFrame {
- time: 2128
- hash: '3042003C067B257DE2CB32F650DDE693'
- }
- TestFrame {
- time: 2144
- hash: '3042003C067B257DE2CB32F650DDE693'
- }
- TestFrame {
- time: 2160
- hash: '3042003C067B257DE2CB32F650DDE693'
- }
- TestFrame {
- time: 2176
- hash: '3042003C067B257DE2CB32F650DDE693'
- }
- TestFrame {
- time: 2192
- hash: '3042003C067B257DE2CB32F650DDE693'
- }
- TestFrame {
- time: 2208
- hash: 'A725B59B4947357546BBFC7DF3D830AF'
- }
- TestFrame {
- time: 2224
- hash: 'A725B59B4947357546BBFC7DF3D830AF'
- }
- TestFrame {
- time: 2240
- hash: 'CE57E27AF329EBA4FAC3AB891F0407CE'
- }
- TestFrame {
- time: 2256
- hash: 'CE57E27AF329EBA4FAC3AB891F0407CE'
- }
- TestFrame {
- time: 2272
- hash: '41BA853C3403F68A23E708DF82E21C53'
- }
- TestFrame {
- time: 2288
- hash: 'DCF2867C127E041970047EC8F3EDC04F'
- }
- TestFrame {
- time: 2304
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 2320
- hash: 'A350B70C5238A340E85FD4A3EC0390A3'
- }
- TestFrame {
- time: 2336
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 2352
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 2368
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 2384
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 2400
- hash: 'DCF2867C127E041970047EC8F3EDC04F'
- }
- TestFrame {
- time: 2416
- hash: 'DCF2867C127E041970047EC8F3EDC04F'
- }
- TestFrame {
- time: 2432
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 2448
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 2464
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 2480
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 2496
- hash: 'A350B70C5238A340E85FD4A3EC0390A3'
- }
- TestFrame {
- time: 2512
- hash: 'A350B70C5238A340E85FD4A3EC0390A3'
- }
- TestFrame {
- time: 3504
- hash: 'A350B70C5238A340E85FD4A3EC0390A3'
- }
- TestFrame {
- time: 3520
- hash: 'A350B70C5238A340E85FD4A3EC0390A3'
- }
- TestFrame {
- time: 3536
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 3552
- hash: 'DCF2867C127E041970047EC8F3EDC04F'
- }
- TestFrame {
- time: 3568
- hash: 'CE57E27AF329EBA4FAC3AB891F0407CE'
- }
- TestFrame {
- time: 3584
- hash: '3042003C067B257DE2CB32F650DDE693'
- }
- TestFrame {
- time: 3600
- hash: 'E74FE4A6BD92CBE8629C8BC8A870104D'
- }
- TestFrame {
- time: 3616
- hash: 'E11455D4E23A5A865E222A7ABA4BA4F9'
- }
- TestFrame {
- time: 3632
- hash: '8757668E56BE6449EC375F0B8FED1BE3'
- }
- TestFrame {
- time: 3648
- hash: '53AE93140252373EAA4D9DA73756BD8E'
- }
- TestFrame {
- time: 3664
- hash: 'A88A8129259F86DF5A73ADDC3649AD37'
- }
- TestFrame {
- time: 3680
- hash: '630D90EEF2673A69E8EBC4EF1BA40E81'
- }
- TestFrame {
- time: 3696
- hash: 'B7208D103B63A936DFF8DD8ED224237F'
- }
- TestFrame {
- time: 3712
- hash: '1516C3547C7CF64832B3BC7DA7C44521'
- }
- TestFrame {
- time: 3728
- hash: '49F5D6FD45C195A8D245B7FEFC1277AB'
- }
- TestFrame {
- time: 3744
- hash: 'F5AFD9CF8FFE27E9992454B9E68688CB'
- }
- TestFrame {
- time: 3760
- hash: '7A4528B000A4EA142D1C77407FA1F581'
- }
- TestFrame {
- time: 3776
- hash: '5F18A81707F23D377E81A27C1FC41CE9'
- }
- TestFrame {
- time: 3792
- hash: '005ACBEF952A8EE536E6308A48223E65'
- }
- TestFrame {
- time: 3808
- hash: '85C135EF72D3D25658A3663E69FFB7C2'
- }
- TestFrame {
- time: 3824
- hash: '7C27EF654E645679C90520D6CF00B0C4'
- }
- TestFrame {
- time: 3840
- hash: '20258F07C613958C32F783466771391A'
- }
- TestFrame {
- time: 3856
- hash: '9650FD0364C01B11E4F5DCCE51D008AF'
- }
- TestFrame {
- time: 3872
- hash: 'F340CDF60C6D4C29D26B7202A093EC70'
- }
- TestFrame {
- time: 3888
- hash: 'D754D35D0793F9F7D4F6249A874E4C45'
- }
- TestFrame {
- time: 3904
- hash: '79EC710576427DF73DD03F39FBA6E2EB'
- }
- TestFrame {
- time: 3920
- hash: '45281A70021F81DBEF30334B1480DA1B'
- }
- TestFrame {
- time: 3936
- hash: 'FFD39C1122FE2F7877EF30591B539B40'
- }
- TestFrame {
- time: 3952
- hash: '4AC43A03CC6F2020AB5F894D704092AC'
- }
- TestFrame {
- time: 3968
- hash: 'C1A7B7D6D64AC5584C073C2881290696'
- }
- TestFrame {
- time: 3984
- hash: '29ECE1BCA4D21FB5862091317D430A13'
- }
- TestFrame {
- time: 4000
- hash: '29ECE1BCA4D21FB5862091317D430A13'
- }
- TestFrame {
- time: 4016
- hash: '29ECE1BCA4D21FB5862091317D430A13'
- }
- TestFrame {
- time: 4032
- hash: '29ECE1BCA4D21FB5862091317D430A13'
- }
- TestFrame {
- time: 4048
- hash: '29ECE1BCA4D21FB5862091317D430A13'
- }
- TestFrame {
- time: 4064
- hash: 'C1A7B7D6D64AC5584C073C2881290696'
- }
- TestFrame {
- time: 4080
- hash: 'C1A7B7D6D64AC5584C073C2881290696'
- }
- TestFrame {
- time: 4096
- hash: '4AC43A03CC6F2020AB5F894D704092AC'
- }
- TestFrame {
- time: 4112
- hash: '4AC43A03CC6F2020AB5F894D704092AC'
- }
- TestFrame {
- time: 4128
- hash: 'FFD39C1122FE2F7877EF30591B539B40'
- }
- TestFrame {
- time: 4144
- hash: '62A7133012348F2EC3A388FB685ECC3F'
- }
- TestFrame {
- time: 4160
- hash: '45281A70021F81DBEF30334B1480DA1B'
- }
- TestFrame {
- time: 4176
- hash: '6CC9DE62A0C8FA5E42EAC1B01E99AC32'
- }
- TestFrame {
- time: 4192
- hash: '79EC710576427DF73DD03F39FBA6E2EB'
- }
- TestFrame {
- time: 4208
- hash: '5BE4F5C67941EFB6FCEA363C79F1E321'
- }
- TestFrame {
- time: 4224
- hash: '7D9096B1EB940C82A37BAF39EF3CCF3E'
- }
- TestFrame {
- time: 4240
- hash: 'E87B00BFC2C2A75A4234EC02A057AD3A'
- }
- TestFrame {
- time: 4256
- hash: 'DA60100DC55023C3BAB367D97C8F6A85'
- }
- TestFrame {
- time: 4272
- hash: 'DC98A9BDD99367C1E9B838D4BE489DCC'
- }
- TestFrame {
- time: 4288
- hash: 'B2C778A5EFF5F01EDC54F03D8B4DE8C7'
- }
- TestFrame {
- time: 4304
- hash: '9650FD0364C01B11E4F5DCCE51D008AF'
- }
- TestFrame {
- time: 4320
- hash: '2CB09D9655ECC30AE6A591B28C0D355C'
- }
- TestFrame {
- time: 4336
- hash: '4DB9BC6C11CAF1D77794C2EABB62A44E'
- }
- TestFrame {
- time: 4352
- hash: 'CE2B5DD7418868ACF86FEA6AD19CC0C5'
- }
- TestFrame {
- time: 4368
- hash: 'C4F844EE71F23635BB3EC7375F6A134F'
- }
- TestFrame {
- time: 4384
- hash: '4E1FDA8A0495EF968C1CFFB1257426D7'
- }
- TestFrame {
- time: 4400
- hash: '19D2AE617A49B57DD012677E2834469C'
- }
- TestFrame {
- time: 4416
- hash: 'F438E8D2C16B5DE677924C8411219B19'
- }
- TestFrame {
- time: 4432
- hash: '005ACBEF952A8EE536E6308A48223E65'
- }
- TestFrame {
- time: 4448
- hash: '87B71778D52CD8563D171151D4D32407'
- }
- TestFrame {
- time: 4464
- hash: '691CD8BF5C7802FF6C5024827A379FC6'
- }
- TestFrame {
- time: 4480
- hash: 'AB442C0173C3D221B6782D28001DAC77'
- }
- TestFrame {
- time: 4496
- hash: '6F886D4538704C2FAD4D84C68214109F'
- }
- TestFrame {
- time: 4512
- hash: '56D39F233FAE41C60499D6161F891CBC'
- }
- TestFrame {
- time: 4528
- hash: '95D987C3FD1352FB81C42C63634FE53B'
- }
- TestFrame {
- time: 4544
- hash: '96DC84C0C548021910E7C5B580179054'
- }
- TestFrame {
- time: 4560
- hash: 'DDB71CBD57F6E43744D533D4F72B08DB'
- }
- TestFrame {
- time: 4576
- hash: 'F7AB4B197BEA455B22F259913438D207'
- }
- TestFrame {
- time: 4592
- hash: '2AD64CB01C9D50E0118D5ECE0A644DF2'
- }
- TestFrame {
- time: 4608
- hash: '6579681C59DD571DF0EE4429D74FB5C7'
- }
- TestFrame {
- time: 4624
- hash: '630D90EEF2673A69E8EBC4EF1BA40E81'
- }
- TestFrame {
- time: 4640
- hash: '3DB5E30EF19EA693C21CCF72892C4390'
- }
- TestFrame {
- time: 4656
- hash: '721D7061811B5439C2E8E395917494BC'
- }
- TestFrame {
- time: 4672
- hash: 'BC426FB7C31751665B0D3F16E2CB0173'
- }
- TestFrame {
- time: 4688
- hash: 'E11455D4E23A5A865E222A7ABA4BA4F9'
- }
- TestFrame {
- time: 4704
- hash: '3042003C067B257DE2CB32F650DDE693'
- }
- TestFrame {
- time: 4720
- hash: 'DCF2867C127E041970047EC8F3EDC04F'
- }
- TestFrame {
- time: 4736
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 4752
- hash: '41BA853C3403F68A23E708DF82E21C53'
- }
- TestFrame {
- time: 4768
- hash: 'A725B59B4947357546BBFC7DF3D830AF'
- }
- TestFrame {
- time: 4784
- hash: '336D31586171F22D541B989D24B95CBB'
- }
- TestFrame {
- time: 4800
- hash: 'F0D8132489C2F2EF760E905B3C093726'
- }
- TestFrame {
- time: 4816
- hash: 'E11455D4E23A5A865E222A7ABA4BA4F9'
- }
- TestFrame {
- time: 4832
- hash: 'DD60CBAFF6F34027474E92315DBC0EBC'
- }
- TestFrame {
- time: 4848
- hash: '8757668E56BE6449EC375F0B8FED1BE3'
- }
- TestFrame {
- time: 4864
- hash: 'BC426FB7C31751665B0D3F16E2CB0173'
- }
- TestFrame {
- time: 4880
- hash: 'B3F4A2165EC1EE971542B8EF89656CEA'
- }
- TestFrame {
- time: 4896
- hash: '53AE93140252373EAA4D9DA73756BD8E'
- }
- TestFrame {
- time: 4912
- hash: '721D7061811B5439C2E8E395917494BC'
- }
- TestFrame {
- time: 4928
- hash: 'AF3120FE262D2489C0ED33FBBEE1549F'
- }
- TestFrame {
- time: 4944
- hash: 'A8B624EBFC9AB713D1CE55F318A6E90D'
- }
- TestFrame {
- time: 4960
- hash: 'A88A8129259F86DF5A73ADDC3649AD37'
- }
- TestFrame {
- time: 4976
- hash: '3DB5E30EF19EA693C21CCF72892C4390'
- }
- TestFrame {
- time: 4992
- hash: '3DB5E30EF19EA693C21CCF72892C4390'
- }
- TestFrame {
- time: 5008
- hash: 'E553F365912586C6408C8C53B1B7D118'
- }
- TestFrame {
- time: 5024
- hash: 'E553F365912586C6408C8C53B1B7D118'
- }
- TestFrame {
- time: 5040
- hash: '1373545E43FFF7251CEC9E8375EA267F'
- }
- TestFrame {
- time: 5056
- hash: '1373545E43FFF7251CEC9E8375EA267F'
- }
- TestFrame {
- time: 5072
- hash: '1373545E43FFF7251CEC9E8375EA267F'
- }
- TestFrame {
- time: 5088
- hash: '1373545E43FFF7251CEC9E8375EA267F'
- }
- TestFrame {
- time: 5104
- hash: '1373545E43FFF7251CEC9E8375EA267F'
- }
- TestFrame {
- time: 5120
- hash: '1373545E43FFF7251CEC9E8375EA267F'
- }
- TestFrame {
- time: 5136
- hash: '1373545E43FFF7251CEC9E8375EA267F'
- }
- TestFrame {
- time: 5152
- hash: 'E553F365912586C6408C8C53B1B7D118'
- }
- TestFrame {
- time: 5168
- hash: 'E553F365912586C6408C8C53B1B7D118'
- }
- TestFrame {
- time: 5184
- hash: '3DB5E30EF19EA693C21CCF72892C4390'
- }
- TestFrame {
- time: 5200
- hash: '3DB5E30EF19EA693C21CCF72892C4390'
- }
- TestFrame {
- time: 5216
- hash: 'A88A8129259F86DF5A73ADDC3649AD37'
- }
- TestFrame {
- time: 5232
- hash: 'A8B624EBFC9AB713D1CE55F318A6E90D'
- }
- TestFrame {
- time: 5248
- hash: 'AF3120FE262D2489C0ED33FBBEE1549F'
- }
- TestFrame {
- time: 5264
- hash: '721D7061811B5439C2E8E395917494BC'
- }
- TestFrame {
- time: 5280
- hash: '53AE93140252373EAA4D9DA73756BD8E'
- }
- TestFrame {
- time: 5296
- hash: 'B3F4A2165EC1EE971542B8EF89656CEA'
- }
- TestFrame {
- time: 5312
- hash: '0C20D12464ABBDC45041EA5D9F2719B1'
- }
- TestFrame {
- time: 5328
- hash: '8757668E56BE6449EC375F0B8FED1BE3'
- }
- TestFrame {
- time: 5344
- hash: 'EF8941674CB61F54853DC33652BB854E'
- }
- TestFrame {
- time: 5360
- hash: 'E11455D4E23A5A865E222A7ABA4BA4F9'
- }
- TestFrame {
- time: 5376
- hash: '6D63FB5C8A80F0280E88B2CDF8641BB9'
- }
- TestFrame {
- time: 5392
- hash: 'E74FE4A6BD92CBE8629C8BC8A870104D'
- }
- TestFrame {
- time: 5408
- hash: '3042003C067B257DE2CB32F650DDE693'
- }
- TestFrame {
- time: 5424
- hash: 'CE57E27AF329EBA4FAC3AB891F0407CE'
- }
- TestFrame {
- time: 5440
- hash: 'DCF2867C127E041970047EC8F3EDC04F'
- }
- TestFrame {
- time: 5456
- hash: 'A350B70C5238A340E85FD4A3EC0390A3'
- }
- TestFrame {
- time: 5472
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 5488
- hash: 'DCF2867C127E041970047EC8F3EDC04F'
- }
- TestFrame {
- time: 5504
- hash: '41BA853C3403F68A23E708DF82E21C53'
- }
- TestFrame {
- time: 5520
- hash: 'CE57E27AF329EBA4FAC3AB891F0407CE'
- }
- TestFrame {
- time: 5536
- hash: 'CE57E27AF329EBA4FAC3AB891F0407CE'
- }
- TestFrame {
- time: 5552
- hash: 'A725B59B4947357546BBFC7DF3D830AF'
- }
- TestFrame {
- time: 5568
- hash: 'A725B59B4947357546BBFC7DF3D830AF'
- }
- TestFrame {
- time: 5584
- hash: '3042003C067B257DE2CB32F650DDE693'
- }
- TestFrame {
- time: 5600
- hash: '3042003C067B257DE2CB32F650DDE693'
- }
- TestFrame {
- time: 5616
- hash: '3042003C067B257DE2CB32F650DDE693'
- }
- TestFrame {
- time: 5632
- hash: '3042003C067B257DE2CB32F650DDE693'
- }
- TestFrame {
- time: 5648
- hash: '3042003C067B257DE2CB32F650DDE693'
- }
- TestFrame {
- time: 5664
- hash: '3042003C067B257DE2CB32F650DDE693'
- }
- TestFrame {
- time: 5680
- hash: '3042003C067B257DE2CB32F650DDE693'
- }
- TestFrame {
- time: 5696
- hash: '3042003C067B257DE2CB32F650DDE693'
- }
- TestFrame {
- time: 5712
- hash: 'A725B59B4947357546BBFC7DF3D830AF'
- }
- TestFrame {
- time: 5728
- hash: 'A725B59B4947357546BBFC7DF3D830AF'
- }
- TestFrame {
- time: 5744
- hash: 'CE57E27AF329EBA4FAC3AB891F0407CE'
- }
- TestFrame {
- time: 5760
- hash: '41BA853C3403F68A23E708DF82E21C53'
- }
- TestFrame {
- time: 5776
- hash: '41BA853C3403F68A23E708DF82E21C53'
- }
- TestFrame {
- time: 5792
- hash: 'DCF2867C127E041970047EC8F3EDC04F'
- }
- TestFrame {
- time: 5808
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 5824
- hash: 'A350B70C5238A340E85FD4A3EC0390A3'
- }
- TestFrame {
- time: 5840
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 5856
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 5872
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 5888
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 5904
- hash: 'DCF2867C127E041970047EC8F3EDC04F'
- }
- TestFrame {
- time: 5920
- hash: 'DCF2867C127E041970047EC8F3EDC04F'
- }
- TestFrame {
- time: 5936
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 5952
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 5968
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 5984
- hash: '675EBBDD22DD22CE45993DF4AF1ACFE9'
- }
- TestFrame {
- time: 6000
- hash: 'A350B70C5238A340E85FD4A3EC0390A3'
- }
-}
diff --git a/tests/auto/declarative/visual/pauseAnimation/pauseAnimation.qml b/tests/auto/declarative/visual/pauseAnimation/pauseAnimation.qml
index 2abe83f..fba8ae6 100644
--- a/tests/auto/declarative/visual/pauseAnimation/pauseAnimation.qml
+++ b/tests/auto/declarative/visual/pauseAnimation/pauseAnimation.qml
@@ -1,6 +1,6 @@
import Qt 4.6
-Rect {
+Rectangle {
id: rect
width: 120
height: 200
diff --git a/tests/auto/declarative/visual/pauseAnimation/test b/tests/auto/declarative/visual/pauseAnimation/test
deleted file mode 100644
index 85bc3c1..0000000
--- a/tests/auto/declarative/visual/pauseAnimation/test
+++ /dev/null
@@ -1 +0,0 @@
-pauseAnimation.qml
diff --git a/tests/auto/declarative/visual/qfxtext/elide/data/elide.0.png b/tests/auto/declarative/visual/qfxtext/elide/data/elide.0.png
new file mode 100644
index 0000000..1a8c89b
--- /dev/null
+++ b/tests/auto/declarative/visual/qfxtext/elide/data/elide.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qfxtext/elide/data/elide.qml b/tests/auto/declarative/visual/qfxtext/elide/data/elide.qml
new file mode 100644
index 0000000..e62c1b7
--- /dev/null
+++ b/tests/auto/declarative/visual/qfxtext/elide/data/elide.qml
@@ -0,0 +1,279 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 32
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 48
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 64
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 80
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 96
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 112
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 128
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 144
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 160
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 176
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 192
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 208
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 224
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 240
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 256
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 272
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 288
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 304
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 320
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 336
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 352
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 368
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 384
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 400
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 416
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 432
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 448
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 464
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 480
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 496
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 512
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 528
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 544
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 560
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 576
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 592
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 608
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 624
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 640
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 656
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 672
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 688
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 704
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 720
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 736
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 752
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 768
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 784
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 800
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 816
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 832
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 848
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 864
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 880
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 896
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 912
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 928
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 944
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 960
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/qfxtext/elide/data/elide.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 992
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 1008
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 1024
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 1040
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+ Frame {
+ msec: 1056
+ hash: "c80d2bcd4be99c73e6c628870206ce8c"
+ }
+}
diff --git a/tests/auto/declarative/visual/qfxtext/elide/data/raster/image0.png b/tests/auto/declarative/visual/qfxtext/elide/data/raster/image0.png
deleted file mode 100644
index 05dc9ab..0000000
--- a/tests/auto/declarative/visual/qfxtext/elide/data/raster/image0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/qfxtext/elide/data/raster/manifest.qml b/tests/auto/declarative/visual/qfxtext/elide/data/raster/manifest.qml
deleted file mode 100644
index 7c21d0f..0000000
--- a/tests/auto/declarative/visual/qfxtext/elide/data/raster/manifest.qml
+++ /dev/null
@@ -1,8 +0,0 @@
-import Qt 4.6
-
-TestLog {
- TestFullFrame {
- time: 0
- frameId: 0
- }
-}
diff --git a/tests/auto/declarative/visual/qfxtext/elide/elide.qml b/tests/auto/declarative/visual/qfxtext/elide/elide.qml
index 0372a9c..3c9ea5b 100644
--- a/tests/auto/declarative/visual/qfxtext/elide/elide.qml
+++ b/tests/auto/declarative/visual/qfxtext/elide/elide.qml
@@ -1,35 +1,31 @@
import Qt 4.6
-Rect {
- width: contents.width
- height: contents.height
- VerticalLayout {
+Rectangle {
+ width: childrenRect.width
+ height: childrenRect.height
+ Column {
width: 80
- height: Text.height*4
+ height: MyText.height*4
Text {
elide: "ElideLeft"
text: "aaa bbb ccc ddd eee fff"
width: 80
- color: "white"
- id: Text
+ id: MyText
}
Text {
elide: "ElideMiddle"
text: "aaa bbb ccc ddd eee fff"
width: 80
- color: "white"
}
Text {
elide: "ElideRight"
text: "aaa bbb ccc ddd eee fff"
width: 80
- color: "white"
}
Text {
elide: "ElideNone"
text: "aaa bbb ccc ddd eee fff"
width: 80
- color: "white"
}
}
}
diff --git a/tests/auto/declarative/visual/qfxtext/elide/test b/tests/auto/declarative/visual/qfxtext/elide/test
deleted file mode 100644
index bde7c7c..0000000
--- a/tests/auto/declarative/visual/qfxtext/elide/test
+++ /dev/null
@@ -1 +0,0 @@
-elide.qml
diff --git a/tests/auto/declarative/visual/repeater/basic1/basic1.qml b/tests/auto/declarative/visual/repeater/basic1.qml
index c803de9..f6899e8 100644
--- a/tests/auto/declarative/visual/repeater/basic1/basic1.qml
+++ b/tests/auto/declarative/visual/repeater/basic1.qml
@@ -1,13 +1,13 @@
import Qt 4.6
-Rect {
+Rectangle {
color: "blue"
width: 300
height: 200
id: Page
- HorizontalLayout {
+ Row {
Repeater {
- component: Rect {
+ delegate: Rectangle {
color: "red"
width: 100
height: 100
@@ -15,7 +15,7 @@ Rect {
text: name
}
}
- dataSource: ListModel {
+ model: ListModel {
ListElement {
name: "January"
}
diff --git a/tests/auto/declarative/visual/repeater/basic1/data/raster/image0.png b/tests/auto/declarative/visual/repeater/basic1/data/raster/image0.png
deleted file mode 100644
index 868eaa3..0000000
--- a/tests/auto/declarative/visual/repeater/basic1/data/raster/image0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/repeater/basic1/data/raster/manifest.qml b/tests/auto/declarative/visual/repeater/basic1/data/raster/manifest.qml
deleted file mode 100644
index 7c21d0f..0000000
--- a/tests/auto/declarative/visual/repeater/basic1/data/raster/manifest.qml
+++ /dev/null
@@ -1,8 +0,0 @@
-import Qt 4.6
-
-TestLog {
- TestFullFrame {
- time: 0
- frameId: 0
- }
-}
diff --git a/tests/auto/declarative/visual/repeater/basic1/test b/tests/auto/declarative/visual/repeater/basic1/test
deleted file mode 100644
index 49fcf5a..0000000
--- a/tests/auto/declarative/visual/repeater/basic1/test
+++ /dev/null
@@ -1 +0,0 @@
-basic1.qml
diff --git a/tests/auto/declarative/visual/repeater/basic2/basic2.qml b/tests/auto/declarative/visual/repeater/basic2.qml
index bcad407..15a1e91 100644
--- a/tests/auto/declarative/visual/repeater/basic2/basic2.qml
+++ b/tests/auto/declarative/visual/repeater/basic2.qml
@@ -1,13 +1,13 @@
import Qt 4.6
-Rect {
+Rectangle {
color: "blue"
width: 300
height: 200
id: Page
Component {
id: Delegate
- Rect {
+ Rectangle {
color: "red"
width: 100
height: 100
@@ -16,10 +16,10 @@ Rect {
}
}
}
- HorizontalLayout {
+ Row {
Repeater {
- component: Delegate
- dataSource: ListModel {
+ delegate: Delegate
+ model: ListModel {
ListElement {
name: "January"
}
diff --git a/tests/auto/declarative/visual/repeater/basic2/data/raster/image0.png b/tests/auto/declarative/visual/repeater/basic2/data/raster/image0.png
deleted file mode 100644
index 868eaa3..0000000
--- a/tests/auto/declarative/visual/repeater/basic2/data/raster/image0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/repeater/basic2/data/raster/manifest.qml b/tests/auto/declarative/visual/repeater/basic2/data/raster/manifest.qml
deleted file mode 100644
index 7c21d0f..0000000
--- a/tests/auto/declarative/visual/repeater/basic2/data/raster/manifest.qml
+++ /dev/null
@@ -1,8 +0,0 @@
-import Qt 4.6
-
-TestLog {
- TestFullFrame {
- time: 0
- frameId: 0
- }
-}
diff --git a/tests/auto/declarative/visual/repeater/basic2/test b/tests/auto/declarative/visual/repeater/basic2/test
deleted file mode 100644
index eb79495..0000000
--- a/tests/auto/declarative/visual/repeater/basic2/test
+++ /dev/null
@@ -1 +0,0 @@
-basic2.qml
diff --git a/tests/auto/declarative/visual/repeater/basic3/basic3.qml b/tests/auto/declarative/visual/repeater/basic3.qml
index 223e5e8..4680534 100644
--- a/tests/auto/declarative/visual/repeater/basic3/basic3.qml
+++ b/tests/auto/declarative/visual/repeater/basic3.qml
@@ -1,6 +1,6 @@
import Qt 4.6
-Rect {
+Rectangle {
color: "blue"
width: 300
height: 200
@@ -14,10 +14,10 @@ Rect {
name: "February"
}
}
- HorizontalLayout {
+ Row {
Repeater {
- dataSource: DataSource
- component: Rect {
+ model: DataSource
+ delegate: Rectangle {
color: "red"
width: 100
height: 100
diff --git a/tests/auto/declarative/visual/repeater/basic3/data/raster/image0.png b/tests/auto/declarative/visual/repeater/basic3/data/raster/image0.png
deleted file mode 100644
index 868eaa3..0000000
--- a/tests/auto/declarative/visual/repeater/basic3/data/raster/image0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/repeater/basic3/data/raster/manifest.qml b/tests/auto/declarative/visual/repeater/basic3/data/raster/manifest.qml
deleted file mode 100644
index 8fd963b..0000000
--- a/tests/auto/declarative/visual/repeater/basic3/data/raster/manifest.qml
+++ /dev/null
@@ -1,15 +0,0 @@
-import Qt 4.6
-
-TestLog {
- TestFullFrame {
- time: 0
- frameId: 0
- }
- TestKey {
- time: 1296
- type: 6
- modifiers: 0
- key: 16777251
- text: ''
- }
-}
diff --git a/tests/auto/declarative/visual/repeater/basic3/test b/tests/auto/declarative/visual/repeater/basic3/test
deleted file mode 100644
index 9ec306b..0000000
--- a/tests/auto/declarative/visual/repeater/basic3/test
+++ /dev/null
@@ -1 +0,0 @@
-basic3.qml
diff --git a/tests/auto/declarative/visual/repeater/basic4/basic4.qml b/tests/auto/declarative/visual/repeater/basic4.qml
index fd78ba2..6172493 100644
--- a/tests/auto/declarative/visual/repeater/basic4/basic4.qml
+++ b/tests/auto/declarative/visual/repeater/basic4.qml
@@ -1,6 +1,6 @@
import Qt 4.6
-Rect {
+Rectangle {
color: "blue"
width: 300
height: 200
@@ -16,7 +16,7 @@ Rect {
}
Component {
id: Delegate
- Rect {
+ Rectangle {
color: "red"
width: 100
height: 100
@@ -25,10 +25,10 @@ Rect {
}
}
}
- HorizontalLayout {
+ Row {
Repeater {
- dataSource: DataSource
- component: Delegate
+ model: DataSource
+ delegate: Delegate
}
}
}
diff --git a/tests/auto/declarative/visual/repeater/basic4/data/raster/image0.png b/tests/auto/declarative/visual/repeater/basic4/data/raster/image0.png
deleted file mode 100644
index 868eaa3..0000000
--- a/tests/auto/declarative/visual/repeater/basic4/data/raster/image0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/repeater/basic4/data/raster/manifest.qml b/tests/auto/declarative/visual/repeater/basic4/data/raster/manifest.qml
deleted file mode 100644
index 7c21d0f..0000000
--- a/tests/auto/declarative/visual/repeater/basic4/data/raster/manifest.qml
+++ /dev/null
@@ -1,8 +0,0 @@
-import Qt 4.6
-
-TestLog {
- TestFullFrame {
- time: 0
- frameId: 0
- }
-}
diff --git a/tests/auto/declarative/visual/repeater/basic4/test b/tests/auto/declarative/visual/repeater/basic4/test
deleted file mode 100644
index 2a7f227..0000000
--- a/tests/auto/declarative/visual/repeater/basic4/test
+++ /dev/null
@@ -1 +0,0 @@
-basic4.qml
diff --git a/tests/auto/declarative/visual/repeater/data/basic1.0.png b/tests/auto/declarative/visual/repeater/data/basic1.0.png
new file mode 100644
index 0000000..aea0e98
--- /dev/null
+++ b/tests/auto/declarative/visual/repeater/data/basic1.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/repeater/data/basic1.qml b/tests/auto/declarative/visual/repeater/data/basic1.qml
new file mode 100644
index 0000000..ad7e911
--- /dev/null
+++ b/tests/auto/declarative/visual/repeater/data/basic1.qml
@@ -0,0 +1,323 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 32
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 48
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 64
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 80
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 96
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 112
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 128
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 144
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 160
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 176
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 192
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 208
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 224
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 240
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 256
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 272
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 288
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 304
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 320
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 336
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 352
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 368
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 384
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 400
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 416
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 432
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 448
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 464
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 480
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 496
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 512
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 528
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 544
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 560
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 576
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 592
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 608
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 624
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 640
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 656
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 672
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 688
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 704
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 720
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 736
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 752
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 768
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 784
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 800
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 816
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 832
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 848
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 864
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 880
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 896
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 912
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 928
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 944
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 960
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/repeater/data/basic1.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 992
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1008
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1024
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1040
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1056
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1072
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1088
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1104
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1120
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1136
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1152
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1168
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1184
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1200
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1216
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1232
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+}
diff --git a/tests/auto/declarative/visual/repeater/data/basic2.0.png b/tests/auto/declarative/visual/repeater/data/basic2.0.png
new file mode 100644
index 0000000..aea0e98
--- /dev/null
+++ b/tests/auto/declarative/visual/repeater/data/basic2.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/repeater/data/basic2.qml b/tests/auto/declarative/visual/repeater/data/basic2.qml
new file mode 100644
index 0000000..082f349
--- /dev/null
+++ b/tests/auto/declarative/visual/repeater/data/basic2.qml
@@ -0,0 +1,331 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 32
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 48
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 64
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 80
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 96
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 112
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 128
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 144
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 160
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 176
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 192
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 208
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 224
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 240
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 256
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 272
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 288
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 304
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 320
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 336
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 352
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 368
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 384
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 400
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 416
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 432
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 448
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 464
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 480
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 496
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 512
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 528
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 544
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 560
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 576
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 592
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 608
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 624
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 640
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 656
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 672
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 688
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 704
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 720
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 736
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 752
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 768
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 784
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 800
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 816
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 832
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 848
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 864
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 880
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 896
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 912
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 928
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 944
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 960
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/repeater/data/basic2.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 992
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1008
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1024
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1040
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1056
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1072
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1088
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1104
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1120
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1136
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1152
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1168
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1184
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1200
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1216
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1232
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1248
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1264
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+}
diff --git a/tests/auto/declarative/visual/repeater/data/basic3.0.png b/tests/auto/declarative/visual/repeater/data/basic3.0.png
new file mode 100644
index 0000000..aea0e98
--- /dev/null
+++ b/tests/auto/declarative/visual/repeater/data/basic3.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/repeater/data/basic3.qml b/tests/auto/declarative/visual/repeater/data/basic3.qml
new file mode 100644
index 0000000..e76bf6f
--- /dev/null
+++ b/tests/auto/declarative/visual/repeater/data/basic3.qml
@@ -0,0 +1,347 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 32
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 48
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 64
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 80
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 96
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 112
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 128
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 144
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 160
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 176
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 192
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 208
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 224
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 240
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 256
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 272
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 288
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 304
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 320
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 336
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 352
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 368
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 384
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 400
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 416
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 432
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 448
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 464
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 480
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 496
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 512
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 528
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 544
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 560
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 576
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 592
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 608
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 624
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 640
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 656
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 672
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 688
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 704
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 720
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 736
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 752
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 768
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 784
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 800
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 816
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 832
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 848
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 864
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 880
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 896
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 912
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 928
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 944
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 960
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/repeater/data/basic3.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 992
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1008
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1024
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1040
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1056
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1072
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1088
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1104
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1120
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1136
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1152
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1168
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1184
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1200
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1216
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1232
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1248
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1264
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1280
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1296
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1312
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1328
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+}
diff --git a/tests/auto/declarative/visual/repeater/data/basic4.0.png b/tests/auto/declarative/visual/repeater/data/basic4.0.png
new file mode 100644
index 0000000..aea0e98
--- /dev/null
+++ b/tests/auto/declarative/visual/repeater/data/basic4.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/repeater/data/basic4.qml b/tests/auto/declarative/visual/repeater/data/basic4.qml
new file mode 100644
index 0000000..cdff83f
--- /dev/null
+++ b/tests/auto/declarative/visual/repeater/data/basic4.qml
@@ -0,0 +1,419 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 32
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 48
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 64
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 80
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 96
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 112
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 128
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 144
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 160
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 176
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 192
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 208
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 224
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 240
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 256
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 272
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 288
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 304
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 320
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 336
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 352
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 368
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 384
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 400
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 416
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 432
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 448
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 464
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 480
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 496
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 512
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 528
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 544
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 560
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 576
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 592
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 608
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 624
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 640
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 656
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 672
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 688
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 704
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 720
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 736
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 752
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 768
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 784
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 800
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 816
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 832
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 848
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 864
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 880
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 896
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 912
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 928
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 944
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 960
+ image: "/Users/akennedy/Qt/kinetic/tests/auto/declarative/visual/repeater/data/basic4.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 992
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1008
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1024
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1040
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1056
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1072
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1088
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1104
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1120
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1136
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1152
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1168
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1184
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1200
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1216
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1232
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1248
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1264
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1280
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1296
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1312
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1328
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1344
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1360
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1376
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1392
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1408
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1424
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1440
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1456
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1472
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1488
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1504
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1520
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1536
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1552
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1568
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1584
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1600
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+ Frame {
+ msec: 1616
+ hash: "539de20cf149353d2677111ea3de5681"
+ }
+}
diff --git a/tests/auto/declarative/visual/runtests.sh b/tests/auto/declarative/visual/runtests.sh
deleted file mode 100755
index 4380884..0000000
--- a/tests/auto/declarative/visual/runtests.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-export QFX_USE_SIMPLECANVAS=1
-for a in `cat tests`; do ./tst_visual -testdir $a; done
diff --git a/tests/auto/declarative/visual/tests b/tests/auto/declarative/visual/tests
deleted file mode 100644
index 498edd0..0000000
--- a/tests/auto/declarative/visual/tests
+++ /dev/null
@@ -1,12 +0,0 @@
-ListView/basic1
-ListView/basic2
-ListView/basic3
-ListView/basic4
-bindinganimation
-repeater/basic1
-repeater/basic2
-repeater/basic3
-repeater/basic4
-webview/autosize
-qfxtext/elide
-pauseAnimation
diff --git a/tests/auto/declarative/visual/tst_visual.cpp b/tests/auto/declarative/visual/tst_visual.cpp
index 10823e8..458b96e 100644
--- a/tests/auto/declarative/visual/tst_visual.cpp
+++ b/tests/auto/declarative/visual/tst_visual.cpp
@@ -1,7 +1,10 @@
#include <qtest.h>
#include <QmlView>
#include <QApplication>
-#include <QFxTestView>
+#include <QLibraryInfo>
+#include <QDir>
+#include <QDebug>
+#include <QProcess>
#include <QFile>
static QString testdir;
@@ -9,66 +12,229 @@ class tst_visual : public QObject
{
Q_OBJECT
public:
- tst_visual() {}
+ tst_visual();
+
+ static QString toTestScript(const QString &);
+ static QString viewer();
private slots:
+ void visual_data();
void visual();
+
+private:
+ QString qmlviewer;
+ QStringList findQmlFiles(const QDir &d);
};
-#ifdef QT_OPENGL_ES
-#define RASTER_TESTDIR "/data/opengl"
+
+tst_visual::tst_visual()
+{
+ qmlviewer = viewer();
+}
+
+QString tst_visual::viewer()
+{
+ QString binaries = QLibraryInfo::location(QLibraryInfo::BinariesPath);
+
+ QString qmlviewer;
+
+#if defined(Q_WS_MAC)
+ qmlviewer = QDir(binaries).absoluteFilePath("qmlviewer.app/Contents/MacOS/qmlviewer");
+#elif defined(Q_WS_WIN)
+ qmlviewer = QDir(binaries).absoluteFilePath("qmlviewer.exe");
#else
-#define RASTER_TESTDIR "/data/raster"
+ qmlviewer = QDir(binaries).absoluteFilePath("qmlviewer");
#endif
+ return qmlviewer;
+}
+
+void tst_visual::visual_data()
+{
+ QTest::addColumn<QString>("file");
+ QTest::addColumn<QString>("testdata");
+
+ QStringList files;
+ files << findQmlFiles(QDir(QT_TEST_SOURCE_DIR));
+
+ foreach (const QString &file, files) {
+ QString testdata = toTestScript(file);
+ if (testdata.isEmpty())
+ continue;
+
+ QTest::newRow(file.toLatin1().constData()) << file << testdata;
+ }
+}
+
void tst_visual::visual()
{
- QVERIFY(!testdir.isEmpty());
+ QFETCH(QString, file);
+ QFETCH(QString, testdata);
+
+ QStringList arguments;
+ arguments << "-script" << testdata
+ << "-scriptopts" << "play,testimages,exitoncomplete,exitonfailure"
+ << file;
+ QProcess p;
+ p.start(qmlviewer, arguments);
+ QVERIFY(p.waitForFinished());
+ QCOMPARE(p.exitStatus(), QProcess::NormalExit);
+ QCOMPARE(p.exitCode(), 0);
+}
- QString filename = QLatin1String(QT_TEST_SOURCE_DIR) + "/" + testdir + "/test";
- qWarning() << "Using config:" << filename;
- QFile configFile(filename);
- QVERIFY(configFile.open(QIODevice::ReadOnly));
+QString tst_visual::toTestScript(const QString &file)
+{
+ if (!file.endsWith(".qml"))
+ return QString();
- QString testfile = configFile.readLine().trimmed();
- QVERIFY(!testfile.isEmpty());
+ int index = file.lastIndexOf(QDir::separator());
+ if (index == -1)
+ return QString();
- if(testfile.startsWith("QTDIR/")) {
- testfile.remove(0, 6);
- testfile.prepend(QLatin1String(QT_TEST_SOURCE_DIR) + "/../../../../");
- } else {
- testfile.prepend(QLatin1String(QT_TEST_SOURCE_DIR) + "/" + testdir + "/");
+ QString testdata = file.left(index + 1) +
+ QString("data") + QDir::separator() +
+ file.mid(index + 1, file.length() - index - 5);
+
+ return testdata;
+}
+
+QStringList tst_visual::findQmlFiles(const QDir &d)
+{
+ QStringList rv;
+
+ QStringList files = d.entryList(QStringList() << QLatin1String("*.qml"),
+ QDir::Files);
+ foreach (const QString &file, files) {
+ if (file.at(0).isLower()) {
+ rv << d.absoluteFilePath(file);
+ }
+ }
+
+ QStringList dirs = d.entryList(QDir::Dirs | QDir::NoDotAndDotDot |
+ QDir::NoSymLinks);
+ foreach (const QString &dir, dirs) {
+ if (dir == "data")
+ continue;
+
+ QDir sub = d;
+ sub.cd(dir);
+ rv << findQmlFiles(sub);
}
- QFxTestView *view = new QFxTestView(testfile, QLatin1String(QT_TEST_SOURCE_DIR) + "/" + testdir + RASTER_TESTDIR);
- QVERIFY(view->runTest());
+ return rv;
+}
+
+enum Mode { Record, Play, TestVisuals, UpdateVisuals, Test };
+
+void action(Mode mode, const QString &file)
+{
+ Q_ASSERT(mode != Test);
+
+ QString testdata = tst_visual::toTestScript(file);
+
+ if (Record == mode) {
+ QStringList arguments;
+ arguments << "-script" << testdata
+ << "-scriptopts" << "record,saveonexit"
+ << file;
+ QProcess p;
+ p.setProcessChannelMode(QProcess::ForwardedChannels);
+ p.start(tst_visual::viewer(), arguments);
+ p.waitForFinished();
+ } else if (Play == mode) {
+ QStringList arguments;
+ arguments << "-script" << testdata
+ << "-scriptopts" << "play,testimages,exitoncomplete"
+ << file;
+ QProcess p;
+ p.setProcessChannelMode(QProcess::ForwardedChannels);
+ p.start(tst_visual::viewer(), arguments);
+ p.waitForFinished();
+ } else if (TestVisuals == mode) {
+ QStringList arguments;
+ arguments << "-script" << testdata
+ << "-scriptopts" << "play"
+ << file;
+ QProcess p;
+ p.setProcessChannelMode(QProcess::ForwardedChannels);
+ p.start(tst_visual::viewer(), arguments);
+ p.waitForFinished();
+ } else if (UpdateVisuals == mode) {
+ QStringList arguments;
+ arguments << "-script" << testdata
+ << "-scriptopts" << "play,record,exitoncomplete,saveonexit"
+ << file;
+ QProcess p;
+ p.setProcessChannelMode(QProcess::ForwardedChannels);
+ p.start(tst_visual::viewer(), arguments);
+ p.waitForFinished();
+ }
}
-#include <QtTest/qtest_gui.h>
+void usage()
+{
+ fprintf(stderr, "\n");
+ fprintf(stderr, "QML related options\n");
+ fprintf(stderr, " -record file : record new test data for file\n");
+ fprintf(stderr, " -play file : playback test data for file, printing errors\n");
+ fprintf(stderr, " -testvisuals file : playback test data for file, without errors\n");
+ fprintf(stderr, " -updatevisuals file : playback test data for file, accept new visuals for file\n");
+}
+
+int main(int argc, char **argv)
+{
+ QApplication app(argc, argv);
+
+ Mode mode = Test;
+ QString file;
+ bool showHelp = false;
-int main(int argc, char *argv[])
-{
int newArgc = 1;
char **newArgv = new char*[argc];
-
newArgv[0] = argv[0];
- QApplication app(newArgc, newArgv);
-
- for(int ii = 1; ii < argc; ii++) {
- if(QLatin1String(argv[ii]) == "-testdir" && (ii + 1) < argc) {
- testdir = QLatin1String(argv[ii + 1]);
- ii++;
+ for (int ii = 1; ii < argc; ++ii) {
+ QString arg(argv[ii]);
+ if (arg == "-play" && (ii + 1) < argc) {
+ mode = Play;
+ file = argv[++ii];
+ } else if (arg == "-record" && (ii + 1) < argc) {
+ mode = Record;
+ file = argv[++ii];
+ } else if (arg == "-testvisuals" && (ii + 1) < argc) {
+ mode = TestVisuals;
+ file = argv[++ii];
+ } else if (arg == "-updatevisuals" && (ii + 1) < argc) {
+ mode = UpdateVisuals;
+ file = argv[++ii];
} else {
newArgv[newArgc++] = argv[ii];
}
+
+ if (arg == "-help") {
+ atexit(usage);
+ showHelp = true;
+ }
}
- tst_visual tc;
- int rv = QTest::qExec(&tc, newArgc, newArgv);
+ if (mode == Test || showHelp) {
+ tst_visual tc;
+ return QTest::qExec(&tc, newArgc, newArgv);
+ } else {
+ if (!file.endsWith(QLatin1String(".qml"))) {
+ qWarning() << "Error: Invalid file name (must end in .qml)";
+ return -1;
+ }
+ QDir d = QDir::current();
+ QString absFile = d.absoluteFilePath(file);
+ if (!QFile::exists(absFile)) {
+ qWarning() << "Error: File does not exist";
+ return -1;
+ }
- delete [] newArgv;
- return rv;
+ action(mode, absFile);
+ return 0;
+ }
}
#include "tst_visual.moc"
diff --git a/tests/auto/declarative/visual/visual.pro b/tests/auto/declarative/visual/visual.pro
index 203b691..a06fa21 100644
--- a/tests/auto/declarative/visual/visual.pro
+++ b/tests/auto/declarative/visual/visual.pro
@@ -1,5 +1,6 @@
load(qttest_p4)
contains(QT_CONFIG,declarative): QT += declarative
SOURCES += tst_visual.cpp
+macx:CONFIG -= app_bundle
DEFINES += QT_TEST_SOURCE_DIR=\"\\\"$$PWD\\\"\"
diff --git a/tests/auto/declarative/visual/webview/autosize/data/raster/image0.png b/tests/auto/declarative/visual/webview/autosize/data/raster/image0.png
deleted file mode 100644
index 206952d..0000000
--- a/tests/auto/declarative/visual/webview/autosize/data/raster/image0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/visual/webview/autosize/data/raster/manifest.qml b/tests/auto/declarative/visual/webview/autosize/data/raster/manifest.qml
deleted file mode 100644
index 7c21d0f..0000000
--- a/tests/auto/declarative/visual/webview/autosize/data/raster/manifest.qml
+++ /dev/null
@@ -1,8 +0,0 @@
-import Qt 4.6
-
-TestLog {
- TestFullFrame {
- time: 0
- frameId: 0
- }
-}
diff --git a/tests/auto/declarative/visual/webview/autosize/test b/tests/auto/declarative/visual/webview/autosize/test
deleted file mode 100644
index 446d3f9..0000000
--- a/tests/auto/declarative/visual/webview/autosize/test
+++ /dev/null
@@ -1 +0,0 @@
-QTDIR/examples/declarative/webview/autosize.qml
diff --git a/tools/qmlviewer/main.cpp b/tools/qmlviewer/main.cpp
index 7df1179..98a5d3a 100644
--- a/tools/qmlviewer/main.cpp
+++ b/tools/qmlviewer/main.cpp
@@ -60,8 +60,9 @@ void scriptOptsUsage()
qWarning(" testimages ............................... compare images on playback");
qWarning(" exitoncomplete ........................... cleanly exit the viewer on script completion");
qWarning(" exitonfailure ............................ immediately exit the viewer on script failure");
+ qWarning(" saveonexit ............................... save recording on viewer exit");
qWarning(" ");
- qWarning(" One of record or play must be specified.");
+ qWarning(" One of record, play or both must be specified.");
exit(1);
}
@@ -190,10 +191,8 @@ int main(int argc, char ** argv)
if (option == QLatin1String("help")) {
scriptOptsUsage();
} else if (option == QLatin1String("play")) {
- if (scriptOptions & QmlViewer::Record) scriptOptsUsage();
scriptOptions |= QmlViewer::Play;
} else if (option == QLatin1String("record")) {
- if (scriptOptions & QmlViewer::Play) scriptOptsUsage();
scriptOptions |= QmlViewer::Record;
} else if (option == QLatin1String("testimages")) {
scriptOptions |= QmlViewer::TestImages;
@@ -201,6 +200,8 @@ int main(int argc, char ** argv)
scriptOptions |= QmlViewer::ExitOnComplete;
} else if (option == QLatin1String("exitonfailure")) {
scriptOptions |= QmlViewer::ExitOnFailure;
+ } else if (option == QLatin1String("saveonexit")) {
+ scriptOptions |= QmlViewer::SaveOnExit;
} else {
scriptOptsUsage();
}
diff --git a/tools/qmlviewer/qfxtester.cpp b/tools/qmlviewer/qfxtester.cpp
index d4802f6..7903fa9 100644
--- a/tools/qmlviewer/qfxtester.cpp
+++ b/tools/qmlviewer/qfxtester.cpp
@@ -17,6 +17,7 @@
#include <qmlview.h>
#include <QFile>
#include <QmlComponent>
+#include <QDir>
#include <QCryptographicHash>
#include <private/qabstractanimation_p.h>
#include <private/qfxitem_p.h>
@@ -30,17 +31,25 @@ QML_DEFINE_TYPE(Qt.VisualTest, 4, 6, (QT_VERSION&0x00ff00)>>8, Key, QFxVisualTes
QFxTester::QFxTester(const QString &script, QmlViewer::ScriptOptions opts,
QmlView *parent)
-: QAbstractAnimation(parent), m_view(parent), filterEvents(true), options(opts),
- testscript(0), hasFailed(false)
+: QAbstractAnimation(parent), m_script(script), m_view(parent), filterEvents(true), options(opts),
+ testscript(0), hasCompleted(false), hasFailed(false)
{
parent->viewport()->installEventFilter(this);
parent->installEventFilter(this);
QUnifiedTimer::instance()->setConsistentTiming(true);
if (options & QmlViewer::Play)
- this->run(script);
+ this->run();
start();
}
+QFxTester::~QFxTester()
+{
+ if (!hasFailed &&
+ options & QmlViewer::Record &&
+ options & QmlViewer::SaveOnExit)
+ save();
+}
+
int QFxTester::duration() const
{
return -1;
@@ -109,22 +118,32 @@ void QFxTester::imagefailure()
void QFxTester::complete()
{
+ if (hasCompleted)
+ return;
+ hasCompleted = true;
if (options & QmlViewer::ExitOnComplete)
QApplication::exit(hasFailed?-1:0);
+ else if (options & QmlViewer::Play)
+ qWarning("Script playback complete");
}
-void QFxTester::run(const QString &name)
+void QFxTester::run()
{
- QmlComponent c(m_view->engine(), name + QLatin1String(".qml"));
+ QmlComponent c(m_view->engine(), m_script + QLatin1String(".qml"));
testscript = qobject_cast<QFxVisualTest *>(c.create());
if (testscript) testscript->setParent(this);
+ else executefailure();
testscriptidx = 0;
}
-void QFxTester::save(const QString &name)
+void QFxTester::save()
{
- QFile file(name + QLatin1String(".qml"));
+ QString filename = m_script + QLatin1String(".qml");
+ QDir saveDir = QFileInfo(filename).absoluteDir();
+ saveDir.mkpath(".");
+
+ QFile file(filename);
file.open(QIODevice::WriteOnly);
QTextStream ts(&file);
@@ -132,6 +151,8 @@ void QFxTester::save(const QString &name)
ts << "VisualTest {\n";
int imgCount = 0;
+ QList<KeyEvent> keyevents = m_savedKeyEvents;
+ QList<MouseEvent> mouseevents = m_savedMouseEvents;
for (int ii = 0; ii < m_savedFrameEvents.count(); ++ii) {
const FrameEvent &fe = m_savedFrameEvents.at(ii);
ts << " Frame {\n";
@@ -139,15 +160,15 @@ void QFxTester::save(const QString &name)
if (!fe.hash.isEmpty()) {
ts << " hash: \"" << fe.hash.toHex() << "\"\n";
} else if (!fe.image.isNull()) {
- QString filename = name + "." + QString::number(imgCount++) + ".png";
+ QString filename = m_script + "." + QString::number(imgCount++) + ".png";
fe.image.save(filename);
ts << " image: \"" << filename << "\"\n";
}
ts << " }\n";
- while (!m_savedMouseEvents.isEmpty() &&
- m_savedMouseEvents.first().msec == fe.msec) {
- MouseEvent me = m_savedMouseEvents.takeFirst();
+ while (!mouseevents.isEmpty() &&
+ mouseevents.first().msec == fe.msec) {
+ MouseEvent me = mouseevents.takeFirst();
ts << " Mouse {\n";
ts << " type: " << me.type << "\n";
@@ -160,9 +181,9 @@ void QFxTester::save(const QString &name)
ts << " }\n";
}
- while (!m_savedKeyEvents.isEmpty() &&
- m_savedKeyEvents.first().msec == fe.msec) {
- KeyEvent ke = m_savedKeyEvents.takeFirst();
+ while (!keyevents.isEmpty() &&
+ keyevents.first().msec == fe.msec) {
+ KeyEvent ke = keyevents.takeFirst();
ts << " Key {\n";
ts << " type: " << ke.type << "\n";
@@ -176,7 +197,6 @@ void QFxTester::save(const QString &name)
ts << " }\n";
}
}
- m_savedFrameEvents.clear();
ts << "}\n";
file.close();
@@ -279,20 +299,30 @@ void QFxTester::updateCurrentTime(int msec)
QPoint globalPos = m_view->mapToGlobal(QPoint(0, 0)) + pos;
QMouseEvent event((QEvent::Type)mouse->type(), pos, globalPos, (Qt::MouseButton)mouse->button(), (Qt::MouseButtons)mouse->buttons(), (Qt::KeyboardModifiers)mouse->modifiers());
+ MouseEvent me(&event);
+ me.msec = msec;
if (!mouse->sendToViewport()) {
QCoreApplication::sendEvent(m_view, &event);
+ me.destination = View;
} else {
QCoreApplication::sendEvent(m_view->viewport(), &event);
+ me.destination = ViewPort;
}
+ m_savedMouseEvents.append(me);
} else if (QFxVisualTestKey *key = qobject_cast<QFxVisualTestKey *>(event)) {
QKeyEvent event((QEvent::Type)key->type(), key->key(), (Qt::KeyboardModifiers)key->modifiers(), QString::fromUtf8(QByteArray::fromHex(key->text().toUtf8())), key->autorep(), key->count());
+ KeyEvent ke(&event);
+ ke.msec = msec;
if (!key->sendToViewport()) {
QCoreApplication::sendEvent(m_view, &event);
+ ke.destination = View;
} else {
QCoreApplication::sendEvent(m_view->viewport(), &event);
+ ke.destination = ViewPort;
}
+ m_savedKeyEvents.append(ke);
}
testscriptidx++;
}
diff --git a/tools/qmlviewer/qfxtester.h b/tools/qmlviewer/qfxtester.h
index 4ace2d1..bb027f6 100644
--- a/tools/qmlviewer/qfxtester.h
+++ b/tools/qmlviewer/qfxtester.h
@@ -156,11 +156,12 @@ class QFxTester : public QAbstractAnimation
{
public:
QFxTester(const QString &script, QmlViewer::ScriptOptions options, QmlView *parent);
+ ~QFxTester();
virtual int duration() const;
- void run(const QString &);
- void save(const QString &);
+ void run();
+ void save();
void executefailure();
protected:
@@ -168,6 +169,8 @@ protected:
virtual bool eventFilter(QObject *, QEvent *);
private:
+ QString m_script;
+
void imagefailure();
void complete();
@@ -221,6 +224,7 @@ private:
int testscriptidx;
QFxVisualTest *testscript;
+ bool hasCompleted;
bool hasFailed;
};
diff --git a/tools/qmlviewer/qmlviewer.cpp b/tools/qmlviewer/qmlviewer.cpp
index 11d0ef0..49b91af 100644
--- a/tools/qmlviewer/qmlviewer.cpp
+++ b/tools/qmlviewer/qmlviewer.cpp
@@ -785,9 +785,9 @@ void QmlViewer::keyPressEvent(QKeyEvent *event)
<< "F9 - toggle video recording\n"
<< "device keys: 0=quit, 1..8=F1..F8"
;
- } else if (event->key() == Qt::Key_F2 || (event->key() == Qt::Key_3 && devicemode)) {
+ } else if (event->key() == Qt::Key_F2 || (event->key() == Qt::Key_2 && devicemode)) {
if (tester && m_scriptOptions & Record)
- tester->save(m_script);
+ tester->save();
} else if (event->key() == Qt::Key_F3 || (event->key() == Qt::Key_3 && devicemode)) {
takeSnapShot();
} else if (event->key() == Qt::Key_F5 || (event->key() == Qt::Key_5 && devicemode)) {
diff --git a/tools/qmlviewer/qmlviewer.h b/tools/qmlviewer/qmlviewer.h
index c785e89..7f9dca0 100644
--- a/tools/qmlviewer/qmlviewer.h
+++ b/tools/qmlviewer/qmlviewer.h
@@ -38,8 +38,9 @@ public:
Play = 0x00000001,
Record = 0x00000002,
TestImages = 0x00000004,
- ExitOnComplete = 0x00000008,
- ExitOnFailure = 0x00000010
+ SaveOnExit = 0x00000008,
+ ExitOnComplete = 0x00000010,
+ ExitOnFailure = 0x00000020
};
Q_DECLARE_FLAGS(ScriptOptions, ScriptOption)
void setScript(const QString &s) { m_script = s; }