diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-11-10 06:52:35 (GMT) |
---|---|---|
committer | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-11-10 06:52:35 (GMT) |
commit | 08b3d0ae11392528af3c39766023ffd2d116eb6b (patch) | |
tree | e9e2b90d84b2186db61932b0f3e3b245fb0fcd6c /tests/auto/declarative | |
parent | bdb9c0ffa84bfab386de5550bd8f9b013288daca (diff) | |
parent | 432d54d092414431e1e54daa2259384d83600bf2 (diff) | |
download | Qt-08b3d0ae11392528af3c39766023ffd2d116eb6b.zip Qt-08b3d0ae11392528af3c39766023ffd2d116eb6b.tar.gz Qt-08b3d0ae11392528af3c39766023ffd2d116eb6b.tar.bz2 |
Merge branch 'kinetic-declarativeui' of git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
Diffstat (limited to 'tests/auto/declarative')
63 files changed, 5804 insertions, 2261 deletions
diff --git a/tests/auto/declarative/.gitignore b/tests/auto/declarative/.gitignore index c8bbd2f..d937eb4 100644 --- a/tests/auto/declarative/.gitignore +++ b/tests/auto/declarative/.gitignore @@ -1,3 +1,4 @@ tst_* !tst_*.* +tst_*.debug tst_*~ diff --git a/tests/auto/declarative/debugger/debugger.pro b/tests/auto/declarative/debugger/debugger.pro new file mode 100644 index 0000000..f4a4476 --- /dev/null +++ b/tests/auto/declarative/debugger/debugger.pro @@ -0,0 +1,4 @@ +TEMPLATE = subdirs +SUBDIRS += qmldebug \ + qmldebugclient \ + qmldebugservice diff --git a/tests/auto/declarative/debugger/debuggerutil.cpp b/tests/auto/declarative/debugger/debuggerutil.cpp new file mode 100644 index 0000000..8e93407 --- /dev/null +++ b/tests/auto/declarative/debugger/debuggerutil.cpp @@ -0,0 +1,102 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** 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 Technology Preview License Agreement accompanying +** this package. +** +** 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.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include <QSignalSpy> +#include <QEventLoop> +#include <QTimer> + +#include <private/qmldebugclient_p.h> +#include <private/qmldebugservice_p.h> + +#include "debuggerutil_p.h" + +namespace QmlDebuggerTest { + + void waitForSignal(QObject *receiver, const char *member) { + QEventLoop loop; + QTimer timer; + QObject::connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit())); + QObject::connect(receiver, member, &loop, SLOT(quit())); + timer.start(5000); + loop.exec(); + } + +} + + +EchoService::EchoService(const QString &s, QObject *parent) + : QmlDebugService(s, parent), enabled(false) +{ +} + +void EchoService::messageReceived(const QByteArray &ba) +{ + sendMessage(ba); +} + +void EchoService::enabledChanged(bool e) +{ + emit enabledStateChanged(); + enabled = e; +} + + +MyQmlDebugClient::MyQmlDebugClient(const QString &s, QmlDebugConnection *c) + : QmlDebugClient(s, c) +{ +} + +QByteArray MyQmlDebugClient::waitForResponse() +{ + QSignalSpy spy(this, SIGNAL(serverMessage(QByteArray))); + QmlDebuggerTest::waitForSignal(this, SIGNAL(serverMessage(QByteArray))); + if (spy.count() == 0) { + qWarning() << "tst_QmlDebugClient: no response from server!"; + return QByteArray(); + } + return spy.at(0).at(0).value<QByteArray>(); +} + +void MyQmlDebugClient::messageReceived(const QByteArray &ba) +{ + emit serverMessage(ba); +} + + diff --git a/tests/auto/declarative/debugger/debuggerutil_p.h b/tests/auto/declarative/debugger/debuggerutil_p.h new file mode 100644 index 0000000..155d550 --- /dev/null +++ b/tests/auto/declarative/debugger/debuggerutil_p.h @@ -0,0 +1,84 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** 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 Technology Preview License Agreement accompanying +** this package. +** +** 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.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include <QSignalSpy> +#include <QEventLoop> +#include <QTimer> + +#include <private/qmldebugclient_p.h> +#include <private/qmldebugservice_p.h> + +namespace QmlDebuggerTest { + + void waitForSignal(QObject *receiver, const char *member); +} + +class EchoService : public QmlDebugService +{ + Q_OBJECT +public: + EchoService(const QString &s, QObject *parent = 0); + bool enabled; + +signals: + void enabledStateChanged(); + +protected: + virtual void messageReceived(const QByteArray &ba); + + virtual void enabledChanged(bool e); +}; + +class MyQmlDebugClient : public QmlDebugClient +{ + Q_OBJECT +public: + MyQmlDebugClient(const QString &s, QmlDebugConnection *c); + + QByteArray waitForResponse(); + +signals: + void serverMessage(const QByteArray &); + +protected: + virtual void messageReceived(const QByteArray &ba); +}; + + diff --git a/tests/auto/declarative/qmldebug/qmldebug.pro b/tests/auto/declarative/debugger/qmldebugclient/qmldebugclient.pro index 61f821e..6e68cd5 100644 --- a/tests/auto/declarative/qmldebug/qmldebug.pro +++ b/tests/auto/declarative/debugger/qmldebugclient/qmldebugclient.pro @@ -2,4 +2,6 @@ load(qttest_p4) contains(QT_CONFIG,declarative): QT += network declarative macx:CONFIG -= app_bundle -SOURCES += tst_qmldebug.cpp +HEADERS += ../debuggerutil_p.h +SOURCES += tst_qmldebugclient.cpp \ + ../debuggerutil.cpp diff --git a/tests/auto/declarative/debugger/qmldebugclient/tst_qmldebugclient.cpp b/tests/auto/declarative/debugger/qmldebugclient/tst_qmldebugclient.cpp new file mode 100644 index 0000000..db33061 --- /dev/null +++ b/tests/auto/declarative/debugger/qmldebugclient/tst_qmldebugclient.cpp @@ -0,0 +1,190 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** 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 Technology Preview License Agreement accompanying +** this package. +** +** 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.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include <qtest.h> +#include <QSignalSpy> +#include <QTimer> +#include <QHostAddress> +#include <QDebug> +#include <QThread> + +#include <QtDeclarative/qmlengine.h> + +#include <private/qmldebug_p.h> +#include <private/qmlenginedebug_p.h> +#include <private/qmldebugclient_p.h> +#include <private/qmldebugservice_p.h> + +#include "../debuggerutil_p.h" + +class tst_QmlDebugClient : public QObject +{ + Q_OBJECT + +public: + tst_QmlDebugClient(QmlDebugConnection *conn, QmlEngine *engine) + : m_conn(conn), m_engine(engine) {} + + QmlDebugConnection *m_conn; + QmlEngine *m_engine; + +private slots: + void name(); + void isEnabled(); + void setEnabled(); + void isConnected(); + void sendMessage(); +}; + +void tst_QmlDebugClient::name() +{ + QString name = "tst_QmlDebugClient::name()"; + + QmlDebugClient client(name, m_conn); + QCOMPARE(client.name(), name); +} + +void tst_QmlDebugClient::isEnabled() +{ + QmlDebugClient client("tst_QmlDebugClient::isEnabled()", m_conn); + QCOMPARE(client.isEnabled(), false); +} + +void tst_QmlDebugClient::setEnabled() +{ + EchoService service("tst_QmlDebugClient::setEnabled()"); + MyQmlDebugClient client("tst_QmlDebugClient::setEnabled()", m_conn); + + QCOMPARE(service.isEnabled(), false); + + client.setEnabled(true); + QCOMPARE(client.isEnabled(), true); + QmlDebuggerTest::waitForSignal(&service, SIGNAL(enabledStateChanged())); + QCOMPARE(service.isEnabled(), true); + + client.setEnabled(false); + QCOMPARE(client.isEnabled(), false); + QmlDebuggerTest::waitForSignal(&service, SIGNAL(enabledStateChanged())); + QCOMPARE(service.isEnabled(), false); +} + +void tst_QmlDebugClient::isConnected() +{ + QmlDebugClient client1("tst_QmlDebugClient::isConnected() A", m_conn); + QCOMPARE(client1.isConnected(), true); + + QmlDebugConnection conn; + QmlDebugClient client2("tst_QmlDebugClient::isConnected() B", &conn); + QCOMPARE(client2.isConnected(), false); + + QmlDebugClient client3("tst_QmlDebugClient::isConnected() C", 0); + QCOMPARE(client3.isConnected(), false); + + // duplicate plugin name + QTest::ignoreMessage(QtWarningMsg, "QmlDebugClient: Conflicting plugin name \"tst_QmlDebugClient::isConnected() A\" "); + QmlDebugClient client4("tst_QmlDebugClient::isConnected() A", m_conn); + QCOMPARE(client4.isConnected(), false); +} + +void tst_QmlDebugClient::sendMessage() +{ + EchoService service("tst_QmlDebugClient::sendMessage()"); + MyQmlDebugClient client("tst_QmlDebugClient::sendMessage()", m_conn); + + QByteArray msg = "hello!"; + + client.sendMessage(msg); + QByteArray resp = client.waitForResponse(); + QCOMPARE(resp, msg); +} + + + +class tst_QmlDebugClient_Thread : public QThread +{ + Q_OBJECT +public: + void run() { + QTest::qWait(1000); + connectToEngine(); + } + + QPointer<QmlEngine> m_engine; + +signals: + void testsFinished(); + +public slots: + + void connectToEngine() + { + QmlDebugConnection conn; + conn.connectToHost("127.0.0.1", 3768); + bool ok = conn.waitForConnected(5000); + Q_ASSERT(ok); + while (!m_engine) + QTest::qWait(50); + + tst_QmlDebugClient test(&conn, m_engine); + QTest::qExec(&test); + emit testsFinished(); + } +}; + + +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + qputenv("QML_DEBUG_SERVER_PORT", "3768"); + + tst_QmlDebugClient_Thread thread; + QObject::connect(&thread, SIGNAL(testsFinished()), qApp, SLOT(quit())); + thread.start(); + + QmlEngine engine; // blocks until client connects + + // start the test + thread.m_engine = &engine; + + return app.exec(); + +} + +#include "tst_qmldebugclient.moc" diff --git a/tests/auto/declarative/debugger/qmldebugservice/qmldebugservice.pro b/tests/auto/declarative/debugger/qmldebugservice/qmldebugservice.pro new file mode 100644 index 0000000..1b6762c --- /dev/null +++ b/tests/auto/declarative/debugger/qmldebugservice/qmldebugservice.pro @@ -0,0 +1,7 @@ +load(qttest_p4) +contains(QT_CONFIG,declarative): QT += network declarative +macx:CONFIG -= app_bundle + +HEADERS += ../debuggerutil_p.h +SOURCES += tst_qmldebugservice.cpp \ + ../debuggerutil.cpp diff --git a/tests/auto/declarative/debugger/qmldebugservice/tst_qmldebugservice.cpp b/tests/auto/declarative/debugger/qmldebugservice/tst_qmldebugservice.cpp new file mode 100644 index 0000000..224e7e1 --- /dev/null +++ b/tests/auto/declarative/debugger/qmldebugservice/tst_qmldebugservice.cpp @@ -0,0 +1,222 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** 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 Technology Preview License Agreement accompanying +** this package. +** +** 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.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include <qtest.h> +#include <QSignalSpy> +#include <QTimer> +#include <QHostAddress> +#include <QDebug> +#include <QThread> + +#include <QtDeclarative/qmlengine.h> + +#include <private/qmldebug_p.h> +#include <private/qmlenginedebug_p.h> +#include <private/qmldebugclient_p.h> +#include <private/qmldebugservice_p.h> + +#include "../debuggerutil_p.h" + +class tst_QmlDebugService : public QObject +{ + Q_OBJECT + +public: + tst_QmlDebugService(QmlDebugConnection *conn, QmlEngine *engine) + : m_conn(conn), m_engine(engine) {} + + QmlDebugConnection *m_conn; + QmlEngine *m_engine; + +private slots: + void name(); + void isEnabled(); + void enabledChanged(); + void sendMessage(); + void idForObject(); + void objectForId(); + void objectToString(); +}; + +void tst_QmlDebugService::name() +{ + QString name = "tst_QmlDebugService::name()"; + + QmlDebugService service(name); + QCOMPARE(service.name(), name); +} + +void tst_QmlDebugService::isEnabled() +{ + EchoService service("tst_QmlDebugService::isEnabled()", m_conn); + QCOMPARE(service.isEnabled(), false); + + MyQmlDebugClient client("tst_QmlDebugService::isEnabled()", m_conn); + client.setEnabled(true); + QmlDebuggerTest::waitForSignal(&service, SIGNAL(enabledStateChanged())); + QCOMPARE(service.isEnabled(), true); + + QTest::ignoreMessage(QtWarningMsg, "QmlDebugService: Conflicting plugin name \"tst_QmlDebugService::isEnabled()\" "); + QmlDebugService duplicate("tst_QmlDebugService::isEnabled()", m_conn); + QCOMPARE(duplicate.isEnabled(), false); +} + +void tst_QmlDebugService::enabledChanged() +{ + EchoService service("tst_QmlDebugService::enabledChanged()"); + MyQmlDebugClient client("tst_QmlDebugService::enabledChanged()", m_conn); + + QCOMPARE(service.enabled, false); + + client.setEnabled(true); + QmlDebuggerTest::waitForSignal(&service, SIGNAL(enabledStateChanged())); + QCOMPARE(service.enabled, true); +} + +void tst_QmlDebugService::sendMessage() +{ + EchoService service("tst_QmlDebugService::sendMessage()"); + MyQmlDebugClient client("tst_QmlDebugService::sendMessage()", m_conn); + + QByteArray msg = "hello!"; + + client.sendMessage(msg); + QByteArray resp = client.waitForResponse(); + QCOMPARE(resp, msg); +} + +void tst_QmlDebugService::idForObject() +{ + QCOMPARE(QmlDebugService::idForObject(0), -1); + + QObject *objA = new QObject; + + int idA = QmlDebugService::idForObject(objA); + QVERIFY(idA >= 0); + QCOMPARE(QmlDebugService::objectForId(idA), objA); + + int idAA = QmlDebugService::idForObject(objA); + QCOMPARE(idAA, idA); + + QObject *objB = new QObject; + int idB = QmlDebugService::idForObject(objB); + QVERIFY(idB != idA); + QCOMPARE(QmlDebugService::objectForId(idB), objB); + + delete objA; + delete objB; +} + +void tst_QmlDebugService::objectForId() +{ + QCOMPARE(QmlDebugService::objectForId(-1), static_cast<QObject*>(0)); + QCOMPARE(QmlDebugService::objectForId(1), static_cast<QObject*>(0)); + + QObject *obj = new QObject; + int id = QmlDebugService::idForObject(obj); + QCOMPARE(QmlDebugService::objectForId(id), obj); + + delete obj; + QCOMPARE(QmlDebugService::objectForId(id), static_cast<QObject*>(0)); +} + +void tst_QmlDebugService::objectToString() +{ + QCOMPARE(QmlDebugService::objectToString(0), QString("NULL")); + + QObject *obj = new QObject; + QCOMPARE(QmlDebugService::objectToString(obj), QString("QObject: <unnamed>")); + + obj->setObjectName("Hello"); + QCOMPARE(QmlDebugService::objectToString(obj), QString("QObject: Hello")); +} + + +class tst_QmlDebugService_Thread : public QThread +{ + Q_OBJECT +public: + void run() { + QTest::qWait(1000); + connectToEngine(); + } + + QPointer<QmlEngine> m_engine; + +signals: + void testsFinished(); + +public slots: + + void connectToEngine() + { + QmlDebugConnection conn; + conn.connectToHost("127.0.0.1", 3768); + bool ok = conn.waitForConnected(5000); + Q_ASSERT(ok); + while (!m_engine) + QTest::qWait(50); + + tst_QmlDebugService test(&conn, m_engine); + QTest::qExec(&test); + emit testsFinished(); + } +}; + + +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + qputenv("QML_DEBUG_SERVER_PORT", "3768"); + + tst_QmlDebugService_Thread thread; + QObject::connect(&thread, SIGNAL(testsFinished()), qApp, SLOT(quit())); + thread.start(); + + QmlEngine engine; // blocks until client connects + + // start the test + thread.m_engine = &engine; + + return app.exec(); + +} + +#include "tst_qmldebugservice.moc" diff --git a/tests/auto/declarative/declarative.pro b/tests/auto/declarative/declarative.pro index 4c31998..d1194d9 100644 --- a/tests/auto/declarative/declarative.pro +++ b/tests/auto/declarative/declarative.pro @@ -5,6 +5,7 @@ SUBDIRS += \ animations \ # Cover behaviors \ # Cover datetimeformatter \ # Cover + debugger \ # Cover examples \ layouts \ # Cover qmlgraphicslistview \ # Cover @@ -17,13 +18,14 @@ SUBDIRS += \ qmlbinding \ # Cover qmlconnection \ # Cover qmlcontext \ # Cover - qmldebug \ # Cover qmldom \ # Cover qmlecmascript \ # Cover qmlerror \ # Cover qmlfontloader \ # Cover qmlgraphicsitem \ # Cover qmlgraphicsborderimage \ # Cover + qmlgraphicsflickable \ # Cover + qmlgraphicsflipable \ # Cover qmlgraphicsparticles \ # Cover qmlgraphicspositioners \ # Cover qmlgraphicstext \ # Cover diff --git a/tests/auto/declarative/qmldebug/tst_qmldebug.cpp b/tests/auto/declarative/qmldebug/tst_qmldebug.cpp deleted file mode 100644 index 0890557..0000000 --- a/tests/auto/declarative/qmldebug/tst_qmldebug.cpp +++ /dev/null @@ -1,590 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** 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 Technology Preview License Agreement accompanying -** this package. -** -** 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.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#include <qtest.h> -#include <QSignalSpy> -#include <QTimer> -#include <QHostAddress> -#include <QDebug> -#include <QThread> -#include <QProcessEnvironment> -#include <QProcess> - -#include <QtDeclarative/qmlengine.h> -#include <QtDeclarative/qmlcontext.h> -#include <QtDeclarative/qmlcomponent.h> -#include <QtDeclarative/qmlexpression.h> -#include <QtDeclarative/qmlmetatype.h> -#include <QtDeclarative/qmlmetaproperty.h> -#include <QtDeclarative/qmlcontext.h> -#include <QtDeclarative/qmlbinding.h> - -#include <private/qmldebug_p.h> -#include <private/qmlenginedebug_p.h> -#include <private/qmldebugclient_p.h> -#include <private/qmldebugservice_p.h> -#include <private/qmlgraphicsrectangle_p.h> -#include <private/qmlgraphicstext_p.h> -#include <private/qmldeclarativedata_p.h> - - -class tst_QmlDebug : public QObject -{ - Q_OBJECT - -public: - tst_QmlDebug(QmlDebugConnection *conn, QmlEngine *engine, QmlGraphicsItem *rootItem) - : m_conn(conn), m_dbg(0), m_engine(engine), m_rootItem(rootItem) {} - -protected slots: - void saveValueChange(const QByteArray &ba, const QVariant &v) - { - m_savedValueChanges[ba] = v; - } - -private: - QmlDebugObjectReference findRootObject(); - QmlDebugPropertyReference findProperty(const QList<QmlDebugPropertyReference> &props, const QString &name); - QObject *findObjectWithId(const QObjectList &objects, int id); - void waitForQuery(QmlDebugQuery *query); - void recursiveObjectTest(QObject *o, const QmlDebugObjectReference &oref, bool recursive); - - QmlDebugConnection *m_conn; - QmlEngineDebug *m_dbg; - QmlEngine *m_engine; - QmlGraphicsItem *m_rootItem; - QHash<QByteArray, QVariant> m_savedValueChanges; - -private slots: - void initTestCase(); - - void watch_property(); - void watch_object(); - void watch_expression(); - void watch_expression_data(); - - void queryAvailableEngines(); - void queryRootContexts(); - void queryObject(); - void queryObject_data(); - void queryExpressionResult(); - void queryExpressionResult_data(); -}; - -QmlDebugObjectReference tst_QmlDebug::findRootObject() -{ - QmlDebugEnginesQuery *q_engines = m_dbg->queryAvailableEngines(this); - waitForQuery(q_engines); - - if (q_engines->engines().count() == 0) - return QmlDebugObjectReference(); - QmlDebugRootContextQuery *q_context = m_dbg->queryRootContexts(q_engines->engines()[0].debugId(), this); - waitForQuery(q_context); - - if (q_context->rootContext().objects().count() == 0) - return QmlDebugObjectReference(); - QmlDebugObjectQuery *q_obj = m_dbg->queryObject(q_context->rootContext().objects()[0], this); - waitForQuery(q_obj); - - QmlDebugObjectReference result = q_obj->object(); - - delete q_engines; - delete q_context; - delete q_obj; - - return result; -} - -QmlDebugPropertyReference tst_QmlDebug::findProperty(const QList<QmlDebugPropertyReference> &props, const QString &name) -{ - foreach(const QmlDebugPropertyReference &p, props) { - if (p.name() == name) - return p; - } - return QmlDebugPropertyReference(); -} - -QObject *tst_QmlDebug::findObjectWithId(const QObjectList &objects, int id) -{ - foreach (QObject *o, objects) { - if (id == QmlDebugService::idForObject(o)) - return o; - } - return 0; -} - -void tst_QmlDebug::waitForQuery(QmlDebugQuery *query) -{ - QVERIFY(query); - QCOMPARE(query->parent(), this); - QEventLoop loop; - QTimer timer; - QVERIFY(query->state() == QmlDebugQuery::Waiting); - connect(query, SIGNAL(stateChanged(State)), &loop, SLOT(quit())); - connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit())); - timer.start(5000); - loop.exec(); - if (!timer.isActive()) - QFAIL("query timed out"); -} - -void tst_QmlDebug::recursiveObjectTest(QObject *o, const QmlDebugObjectReference &oref, bool recursive) -{ - const QMetaObject *meta = o->metaObject(); - - QmlType *type = QmlMetaType::qmlType(o->metaObject()); - QString className = type ? type->qmlTypeName() : QString(); - className = className.mid(className.lastIndexOf(QLatin1Char('/'))+1); - - QCOMPARE(oref.debugId(), QmlDebugService::idForObject(o)); - QCOMPARE(oref.name(), o->objectName()); - QCOMPARE(oref.className(), className); - QCOMPARE(oref.contextDebugId(), QmlDebugService::idForObject(qmlContext(o))); - - foreach (const QmlDebugObjectReference &cref, oref.children()) { - // ignore children with no context - if (cref.contextDebugId() < 0) - continue; - - QObject *childObject = findObjectWithId(o->children(), cref.debugId()); - QVERIFY2(childObject, qPrintable(QString("Can't find QObject* for %1").arg(cref.className()))); - - if (recursive) - recursiveObjectTest(childObject, cref, true); - } - - foreach (const QmlDebugPropertyReference &p, oref.properties()) { - QMetaProperty pmeta = meta->property(meta->indexOfProperty(p.name().toUtf8().constData())); - QVERIFY(pmeta.isValid()); - - QCOMPARE(p.name(), QString::fromUtf8(pmeta.name())); - - if (pmeta.type() < QVariant::UserType) // TODO test complex types - QCOMPARE(p.value(), pmeta.read(o)); - - if (p.name() == "parent") - QVERIFY(p.valueTypeName() == "QGraphicsObject*" || p.valueTypeName() == "QmlGraphicsItem*"); - else - QCOMPARE(p.valueTypeName(), QString::fromUtf8(pmeta.typeName())); - - QmlAbstractBinding *binding = QmlMetaProperty(o, p.name()).binding(); - if (binding) - QCOMPARE(binding->expression(), p.binding()); - - QCOMPARE(p.hasNotifySignal(), pmeta.hasNotifySignal()); - } -} - -void tst_QmlDebug::initTestCase() -{ - m_dbg = new QmlEngineDebug(m_conn, this); -} - -void tst_QmlDebug::watch_property() -{ - QmlDebugObjectReference obj = findRootObject(); - QmlDebugPropertyReference prop = findProperty(obj.properties(), "width"); - - QmlDebugPropertyWatch *watch = m_dbg->addWatch(prop, this); - QCOMPARE(watch->state(), QmlDebugWatch::Waiting); - QCOMPARE(watch->objectDebugId(), obj.debugId()); - QCOMPARE(watch->name(), prop.name()); - - QSignalSpy spy(watch, SIGNAL(valueChanged(QByteArray,QVariant))); - QEventLoop loop; - QTimer timer; - connect(watch, SIGNAL(valueChanged(QByteArray,QVariant)), &loop, SLOT(quit())); - connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit())); - - int origWidth = m_rootItem->property("width").toInt(); - timer.start(5000); - m_rootItem->setProperty("width", origWidth*2); - loop.exec(); - - if (!timer.isActive()) - QFAIL("Did not receive valueChanged() for property"); - - m_dbg->removeWatch(watch); - delete watch; - - // restore original value and verify spy doesn't get a signal since watch has been removed - m_rootItem->setProperty("width", origWidth); - QTest::qWait(100); - QCOMPARE(spy.count(), 1); - - QCOMPARE(spy.at(0).at(0).value<QByteArray>(), prop.name().toUtf8()); - QCOMPARE(spy.at(0).at(1).value<QVariant>(), qVariantFromValue(origWidth*2)); -} - -void tst_QmlDebug::watch_object() -{ - QmlDebugEnginesQuery *q_engines = m_dbg->queryAvailableEngines(this); - waitForQuery(q_engines); - - QmlDebugRootContextQuery *q_context = m_dbg->queryRootContexts(q_engines->engines()[0].debugId(), this); - waitForQuery(q_context); - - QmlDebugObjectQuery *q_obj = m_dbg->queryObject(q_context->rootContext().objects()[0], this); - waitForQuery(q_obj); - - QmlDebugObjectReference obj = q_obj->object(); - - delete q_engines; - delete q_context; - delete q_obj; - - QmlDebugWatch *watch = m_dbg->addWatch(obj, this); - QCOMPARE(watch->state(), QmlDebugWatch::Waiting); - QCOMPARE(watch->objectDebugId(), obj.debugId()); - - m_savedValueChanges.clear(); - connect(watch, SIGNAL(valueChanged(QByteArray,QVariant)), - SLOT(saveValueChange(QByteArray,QVariant))); - - int origWidth = m_rootItem->property("width").toInt(); - int origHeight = m_rootItem->property("height").toInt(); - m_rootItem->setProperty("width", origWidth*2); - m_rootItem->setProperty("height", origHeight*2); - - QEventLoop loop; - QTimer timer; - timer.start(5000); - while (timer.isActive() && - (!m_savedValueChanges.contains("width") || !m_savedValueChanges.contains("height"))) { - loop.processEvents(QEventLoop::AllEvents, 50); - } - - QVariant newWidth = m_savedValueChanges["width"]; - QVariant newHeight = m_savedValueChanges["height"]; - - m_dbg->removeWatch(watch); - delete watch; - - // since watch has been removed, restoring the original values should not trigger a valueChanged() - m_savedValueChanges.clear(); - m_rootItem->setProperty("width", origWidth); - m_rootItem->setProperty("height", origHeight); - QTest::qWait(100); - QCOMPARE(m_savedValueChanges.count(), 0); - - if (newWidth.isNull() || newHeight.isNull()) { - QString s = QString("Did not receive both width and height changes (width=%1, height=%2)") - .arg(newWidth.toString()).arg(newHeight.toString()); - QFAIL(qPrintable(s)); - } - - QCOMPARE(newWidth, qVariantFromValue(origWidth*2)); - QCOMPARE(newHeight, qVariantFromValue(origHeight*2)); -} - -void tst_QmlDebug::watch_expression() -{ - QFETCH(QString, expr); - QFETCH(int, increment); - QFETCH(int, incrementCount); - - int origWidth = m_rootItem->property("width").toInt(); - - QmlDebugObjectReference obj = findRootObject(); - QmlDebugPropertyReference prop; - - QmlDebugObjectExpressionWatch *watch = m_dbg->addWatch(obj, expr, this); - QCOMPARE(watch->state(), QmlDebugWatch::Waiting); - QCOMPARE(watch->objectDebugId(), obj.debugId()); - QCOMPARE(watch->expression(), expr); - - QSignalSpy spy(watch, SIGNAL(valueChanged(QByteArray,QVariant))); - int expectedSpyCount = incrementCount + 1; // should also get signal with expression's initial value - - int width = origWidth; - for (int i=0; i<incrementCount+1; i++) { - QTimer timer; - timer.start(5000); - if (i > 0) { - width += increment; - m_rootItem->setProperty("width", width); - } - QEventLoop loop; - connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit())); - connect(watch, SIGNAL(valueChanged(QByteArray,QVariant)), &loop, SLOT(quit())); - loop.exec(); - if (!timer.isActive()) - QFAIL("Did not receive valueChanged() signal for expression"); - } - - m_dbg->removeWatch(watch); - delete watch; - - // restore original value and verify spy doesn't get a signal since watch has been removed - m_rootItem->setProperty("width", origWidth); - QTest::qWait(100); - QCOMPARE(spy.count(), expectedSpyCount); - - width = origWidth + increment; - for (int i=0; i<spy.count(); i++) { - QCOMPARE(spy.at(i).at(1).value<QVariant>().toInt(), width); - width += increment; - } -} - -void tst_QmlDebug::watch_expression_data() -{ - QTest::addColumn<QString>("expr"); - QTest::addColumn<int>("increment"); - QTest::addColumn<int>("incrementCount"); - - QTest::newRow("width") << "width" << 0 << 0; - QTest::newRow("width+10") << "width + 10" << 10 << 5; -} - -void tst_QmlDebug::queryAvailableEngines() -{ - QmlDebugEnginesQuery *q_engines = m_dbg->queryAvailableEngines(this); - waitForQuery(q_engines); - - // TODO test multiple engines - QList<QmlDebugEngineReference> engines = q_engines->engines(); - QCOMPARE(engines.count(), 1); - - foreach(const QmlDebugEngineReference &e, engines) { - QCOMPARE(e.debugId(), QmlDebugService::idForObject(m_engine)); - QCOMPARE(e.name(), m_engine->objectName()); - } - - delete q_engines; -} - -void tst_QmlDebug::queryRootContexts() -{ - QmlDebugEnginesQuery *q_engines = m_dbg->queryAvailableEngines(this); - waitForQuery(q_engines); - - QmlDebugRootContextQuery *q_context = m_dbg->queryRootContexts(q_engines->engines()[0].debugId(), this); - waitForQuery(q_context); - - QmlContext *actualContext = m_engine->rootContext(); - QmlDebugContextReference context = q_context->rootContext(); - QCOMPARE(context.debugId(), QmlDebugService::idForObject(actualContext)); - QCOMPARE(context.name(), actualContext->objectName()); - - QCOMPARE(context.objects().count(), 2); // 2 objects created for engine in main() - - // root context query sends only root object data - it doesn't fill in - // the children or property info - QCOMPARE(context.objects()[0].properties().count(), 0); - QCOMPARE(context.objects()[0].children().count(), 0); - - // TODO have multiple contexts - QCOMPARE(context.contexts().count(), 0); - - delete q_engines; - delete q_context; -} - -void tst_QmlDebug::queryObject() -{ - QFETCH(bool, recursive); - - QmlDebugEnginesQuery *q_engines = m_dbg->queryAvailableEngines(this); - waitForQuery(q_engines); - - QmlDebugRootContextQuery *q_context = m_dbg->queryRootContexts(q_engines->engines()[0].debugId(), this); - waitForQuery(q_context); - - QmlDebugObjectQuery *q_obj = 0; - if (recursive) - q_obj = m_dbg->queryObjectRecursive(q_context->rootContext().objects()[0], this); - else - q_obj = m_dbg->queryObject(q_context->rootContext().objects()[0], this); - waitForQuery(q_obj); - - QmlDebugObjectReference obj = q_obj->object(); - - delete q_engines; - delete q_context; - delete q_obj; - - // check source as defined in main() - QmlDebugFileReference source = obj.source(); - QCOMPARE(source.url(), QUrl("file://")); - QCOMPARE(source.lineNumber(), 2); - QCOMPARE(source.columnNumber(), 1); - - // generically test all properties, children and childrens' properties - recursiveObjectTest(m_rootItem, obj, recursive); - - if (recursive) { - foreach(const QmlDebugObjectReference &child, obj.children()) - QVERIFY(child.properties().count() > 0); - - QmlDebugObjectReference rect; - QmlDebugObjectReference text; - foreach (const QmlDebugObjectReference &child, obj.children()) { - if (child.className() == "Rectangle") - rect = child; - else if (child.className() == "Text") - text = child; - } - - // test specific property values - QCOMPARE(findProperty(rect.properties(), "width").value(), qVariantFromValue(500)); - QCOMPARE(findProperty(rect.properties(), "height").value(), qVariantFromValue(600)); - QCOMPARE(findProperty(rect.properties(), "color").value(), qVariantFromValue(QColor("blue"))); - - QCOMPARE(findProperty(text.properties(), "color").value(), qVariantFromValue(QColor("blue"))); - - } else { - foreach(const QmlDebugObjectReference &child, obj.children()) - QCOMPARE(child.properties().count(), 0); - } -} - -void tst_QmlDebug::queryObject_data() -{ - QTest::addColumn<bool>("recursive"); - - QTest::newRow("non-recursive") << false; - QTest::newRow("recursive") << true; -} - -void tst_QmlDebug::queryExpressionResult() -{ - QFETCH(QString, expr); - QFETCH(QVariant, result); - - QmlDebugEnginesQuery *q_engines = m_dbg->queryAvailableEngines(this); - waitForQuery(q_engines); - - QmlDebugRootContextQuery *q_context = m_dbg->queryRootContexts(q_engines->engines()[0].debugId(), this); - waitForQuery(q_context); - - QmlDebugExpressionQuery *q_expr = m_dbg->queryExpressionResult(q_context->rootContext().objects()[0].debugId(), expr, this); - QCOMPARE(q_expr->expression(), expr); - waitForQuery(q_expr); - - QCOMPARE(q_expr->result(), result); - - delete q_engines; - delete q_context; - delete q_expr; -} - -void tst_QmlDebug::queryExpressionResult_data() -{ - QTest::addColumn<QString>("expr"); - QTest::addColumn<QVariant>("result"); - - QTest::newRow("width + 50") << "width + 50" << qVariantFromValue(60); - QTest::newRow("blueRect.width") << "blueRect.width" << qVariantFromValue(500); - QTest::newRow("bad expr") << "aeaef" << qVariantFromValue(QString("<undefined>")); -} - - -class TestRunnerThread : public QThread -{ - Q_OBJECT -public: - void run() { - QTest::qWait(1000); - connectToEngine(); - } - - QPointer<QmlEngine> m_engine; - QPointer<QmlGraphicsItem> m_item; - -signals: - void testsFinished(); - -public slots: - - void connectToEngine() - { - QmlDebugConnection conn; - conn.connectToHost("127.0.0.1", 3768); - bool ok = conn.waitForConnected(5000); - Q_ASSERT(ok); - while (!m_engine && !m_item) - QTest::qWait(50); - - tst_QmlDebug test(&conn, m_engine, m_item); - QTest::qExec(&test); - emit testsFinished(); - } -}; - - -int main(int argc, char *argv[]) -{ - QApplication app(argc, argv); - qputenv("QML_DEBUG_SERVER_PORT", "3768"); - - TestRunnerThread thread; - QObject::connect(&thread, SIGNAL(testsFinished()), qApp, SLOT(quit())); - thread.start(); - - QmlEngine engine; // blocks until client connects - - QmlComponent component(&engine, - "import Qt 4.6\n" - "Item {\n" - "width: 10; height: 20;\n" - "Rectangle { id: blueRect; width: 500; height: 600; color: \"blue\"; }" - "Text { color: blueRect.color; }" - "}\n", - QUrl("file://")); - Q_ASSERT(component.isReady()); - QObject *o = component.create(); - QObject::connect(&thread, SIGNAL(testsFinished()), o, SLOT(deleteLater())); - - // allows us to test that multiple contexts can be detected - QObject *o2 = component.create(); - QObject::connect(&thread, SIGNAL(testsFinished()), o2, SLOT(deleteLater())); - - // start the test - thread.m_engine = &engine; - thread.m_item = qobject_cast<QmlGraphicsItem*>(o); - - return app.exec(); - -} - -//QTEST_MAIN(tst_QmlDebug) - -#include "tst_qmldebug.moc" diff --git a/tests/auto/declarative/qmlgraphicsflickable/data/flickable01.qml b/tests/auto/declarative/qmlgraphicsflickable/data/flickable01.qml new file mode 100644 index 0000000..8a1843c --- /dev/null +++ b/tests/auto/declarative/qmlgraphicsflickable/data/flickable01.qml @@ -0,0 +1,4 @@ +import Qt 4.6 + +Flickable { +} diff --git a/tests/auto/declarative/qmlgraphicsflickable/data/flickable02.qml b/tests/auto/declarative/qmlgraphicsflickable/data/flickable02.qml new file mode 100644 index 0000000..cf98dd9 --- /dev/null +++ b/tests/auto/declarative/qmlgraphicsflickable/data/flickable02.qml @@ -0,0 +1,14 @@ +import Qt 4.6 + +Flickable { + width: 100; height: 100 + viewportWidth: row.width; viewportHeight: row.height + + Row { + id: row + Repeater { + model: 4 + Rectangle { width: 200; height: 300; color: dayColor } + } + } +} diff --git a/tests/auto/declarative/qmlgraphicsflickable/data/flickable03.qml b/tests/auto/declarative/qmlgraphicsflickable/data/flickable03.qml new file mode 100644 index 0000000..001bf2f --- /dev/null +++ b/tests/auto/declarative/qmlgraphicsflickable/data/flickable03.qml @@ -0,0 +1,14 @@ +import Qt 4.6 + +Flickable { + width: 100; height: 100 + viewportWidth: column.width; viewportHeight: column.height + + Column { + id: column + Repeater { + model: 4 + Rectangle { width: 200; height: 300; color: dayColor } + } + } +} diff --git a/tests/auto/declarative/qmlgraphicsflickable/data/flickable04.qml b/tests/auto/declarative/qmlgraphicsflickable/data/flickable04.qml new file mode 100644 index 0000000..5a27869 --- /dev/null +++ b/tests/auto/declarative/qmlgraphicsflickable/data/flickable04.qml @@ -0,0 +1,16 @@ +import Qt 4.6 + +Flickable { + width: 100; height: 100 + viewportWidth: column.width; viewportHeight: column.height + pressDelay: 200; overShoot: false; interactive: false + maximumFlickVelocity: 2000 + + Column { + id: column + Repeater { + model: 4 + Rectangle { width: 200; height: 300; color: dayColor } + } + } +} diff --git a/tests/auto/declarative/qmlgraphicsflickable/qmlgraphicsflickable.pro b/tests/auto/declarative/qmlgraphicsflickable/qmlgraphicsflickable.pro new file mode 100644 index 0000000..7c4c959 --- /dev/null +++ b/tests/auto/declarative/qmlgraphicsflickable/qmlgraphicsflickable.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +contains(QT_CONFIG,declarative): QT += declarative gui +macx:CONFIG -= app_bundle + +SOURCES += tst_qmlgraphicsflickable.cpp + +# Define SRCDIR equal to test's source directory +DEFINES += SRCDIR=\\\"$$PWD\\\" diff --git a/tests/auto/declarative/qmlgraphicsflickable/tst_qmlgraphicsflickable.cpp b/tests/auto/declarative/qmlgraphicsflickable/tst_qmlgraphicsflickable.cpp new file mode 100644 index 0000000..b11de80 --- /dev/null +++ b/tests/auto/declarative/qmlgraphicsflickable/tst_qmlgraphicsflickable.cpp @@ -0,0 +1,145 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** 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 Technology Preview License Agreement accompanying +** this package. +** +** 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.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include <qtest.h> +#include <QtDeclarative/qmlengine.h> +#include <QtDeclarative/qmlcomponent.h> +#include <private/qmlgraphicsflickable_p.h> +#include <private/qmlvaluetype_p.h> +#include <math.h> + +class tst_qmlgraphicsflickable : public QObject +{ + Q_OBJECT +public: + tst_qmlgraphicsflickable(); + +private slots: + void create(); + void horizontalViewportSize(); + void verticalViewportSize(); + void properties(); + +private: + QmlEngine engine; +}; + +tst_qmlgraphicsflickable::tst_qmlgraphicsflickable() +{ +} + +void tst_qmlgraphicsflickable::create() +{ + QmlEngine engine; + QmlComponent c(&engine, QUrl("file://" SRCDIR "/data/flickable01.qml")); + QmlGraphicsFlickable *obj = qobject_cast<QmlGraphicsFlickable*>(c.create()); + + QVERIFY(obj != 0); + QCOMPARE(obj->isAtXBeginning(), true); + QCOMPARE(obj->isAtXEnd(), false); + QCOMPARE(obj->isAtYBeginning(), true); + QCOMPARE(obj->isAtYEnd(), false); + QCOMPARE(obj->viewportX(), 0.); + QCOMPARE(obj->viewportY(), 0.); + + QCOMPARE(obj->horizontalVelocity(), 0.); + QCOMPARE(obj->verticalVelocity(), 0.); + QCOMPARE(obj->reportedVelocitySmoothing(), 100.); + + QCOMPARE(obj->isInteractive(), true); + QCOMPARE(obj->overShoot(), true); + QCOMPARE(obj->pressDelay(), 0); + QCOMPARE(obj->maximumFlickVelocity(), 5000.); + + delete obj; +} + +void tst_qmlgraphicsflickable::horizontalViewportSize() +{ + QmlEngine engine; + QmlComponent c(&engine, QUrl("file://" SRCDIR "/data/flickable02.qml")); + QmlGraphicsFlickable *obj = qobject_cast<QmlGraphicsFlickable*>(c.create()); + + QVERIFY(obj != 0); + QCOMPARE(obj->viewportWidth(), 800.); + QCOMPARE(obj->viewportHeight(), 300.); + QCOMPARE(obj->isAtXBeginning(), true); + QCOMPARE(obj->isAtXEnd(), false); + QCOMPARE(obj->isAtYBeginning(), true); + QCOMPARE(obj->isAtYEnd(), false); + + delete obj; +} + +void tst_qmlgraphicsflickable::verticalViewportSize() +{ + QmlEngine engine; + QmlComponent c(&engine, QUrl("file://" SRCDIR "/data/flickable03.qml")); + QmlGraphicsFlickable *obj = qobject_cast<QmlGraphicsFlickable*>(c.create()); + + QVERIFY(obj != 0); + QCOMPARE(obj->viewportWidth(), 200.); + QCOMPARE(obj->viewportHeight(), 1200.); + QCOMPARE(obj->isAtXBeginning(), true); + QCOMPARE(obj->isAtXEnd(), false); + QCOMPARE(obj->isAtYBeginning(), true); + QCOMPARE(obj->isAtYEnd(), false); + + delete obj; +} + +void tst_qmlgraphicsflickable::properties() +{ + QmlEngine engine; + QmlComponent c(&engine, QUrl("file://" SRCDIR "/data/flickable04.qml")); + QmlGraphicsFlickable *obj = qobject_cast<QmlGraphicsFlickable*>(c.create()); + + QVERIFY(obj != 0); + QCOMPARE(obj->isInteractive(), false); + QCOMPARE(obj->overShoot(), false); + QCOMPARE(obj->pressDelay(), 200); + QCOMPARE(obj->maximumFlickVelocity(), 2000.); + + delete obj; +} + +QTEST_MAIN(tst_qmlgraphicsflickable) + +#include "tst_qmlgraphicsflickable.moc" diff --git a/tests/auto/declarative/qmlgraphicsflipable/data/test-flipable.qml b/tests/auto/declarative/qmlgraphicsflipable/data/test-flipable.qml new file mode 100644 index 0000000..21d356d --- /dev/null +++ b/tests/auto/declarative/qmlgraphicsflipable/data/test-flipable.qml @@ -0,0 +1,9 @@ +import Qt 4.6 + +Flipable { + id: flipable + width: 640; height: 480 + + front: Rectangle { anchors.fill: flipable } + back: Rectangle { anchors.fill: flipable } +} diff --git a/tests/auto/declarative/qmlgraphicsflipable/qmlgraphicsflipable.pro b/tests/auto/declarative/qmlgraphicsflipable/qmlgraphicsflipable.pro new file mode 100644 index 0000000..b046086 --- /dev/null +++ b/tests/auto/declarative/qmlgraphicsflipable/qmlgraphicsflipable.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +contains(QT_CONFIG,declarative): QT += declarative gui +macx:CONFIG -= app_bundle + +SOURCES += tst_qmlgraphicsflipable.cpp + +# Define SRCDIR equal to test's source directory +DEFINES += SRCDIR=\\\"$$PWD\\\" diff --git a/tests/auto/declarative/qmlgraphicsflipable/tst_qmlgraphicsflipable.cpp b/tests/auto/declarative/qmlgraphicsflipable/tst_qmlgraphicsflipable.cpp new file mode 100644 index 0000000..f1a3ec8 --- /dev/null +++ b/tests/auto/declarative/qmlgraphicsflipable/tst_qmlgraphicsflipable.cpp @@ -0,0 +1,113 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** 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 Technology Preview License Agreement accompanying +** this package. +** +** 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.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include <qtest.h> +#include <QtDeclarative/qmlengine.h> +#include <QtDeclarative/qmlcomponent.h> +#include <private/qmlgraphicsflipable_p.h> +#include <private/qmlvaluetype_p.h> +#include <QFontMetrics> +#include <private/qmlgraphicsrectangle_p.h> +#include <math.h> + +class tst_qmlgraphicsflipable : public QObject +{ + Q_OBJECT +public: + tst_qmlgraphicsflipable(); + +private slots: + void create(); + void checkFrontAndBack(); + void setFrontAndBack(); + +private: + QmlEngine engine; +}; + +tst_qmlgraphicsflipable::tst_qmlgraphicsflipable() +{ +} + +void tst_qmlgraphicsflipable::create() +{ + QmlEngine engine; + QmlComponent c(&engine, QUrl("file://" SRCDIR "/data/test-flipable.qml")); + QmlGraphicsFlipable *obj = qobject_cast<QmlGraphicsFlipable*>(c.create()); + + QVERIFY(obj != 0); + delete obj; +} + +void tst_qmlgraphicsflipable::checkFrontAndBack() +{ + QmlEngine engine; + QmlComponent c(&engine, QUrl("file://" SRCDIR "/data/test-flipable.qml")); + QmlGraphicsFlipable *obj = qobject_cast<QmlGraphicsFlipable*>(c.create()); + + QVERIFY(obj != 0); + QVERIFY(obj->front() != 0); + QVERIFY(obj->back() != 0); + delete obj; +} + +void tst_qmlgraphicsflipable::setFrontAndBack() +{ + QmlEngine engine; + QmlComponent c(&engine, QUrl("file://" SRCDIR "/data/test-flipable.qml")); + QmlGraphicsFlipable *obj = qobject_cast<QmlGraphicsFlipable*>(c.create()); + + QVERIFY(obj != 0); + QVERIFY(obj->front() != 0); + QVERIFY(obj->back() != 0); + + QString message = "QML " + QString(obj->metaObject()->className()) + " (" + c.url().toString() + ":3:1) front is a write-once property"; + QTest::ignoreMessage(QtWarningMsg, qPrintable(message)); + obj->setFront(new QmlGraphicsRectangle()); + + message = "QML " + QString(obj->metaObject()->className()) + " (" + c.url().toString() + ":3:1) back is a write-once property"; + QTest::ignoreMessage(QtWarningMsg, qPrintable(message)); + obj->setBack(new QmlGraphicsRectangle()); + delete obj; +} + +QTEST_MAIN(tst_qmlgraphicsflipable) + +#include "tst_qmlgraphicsflipable.moc" diff --git a/tests/auto/declarative/qmlgraphicsgridview/data/gridview.qml b/tests/auto/declarative/qmlgraphicsgridview/data/gridview.qml index 37eb622..344b4b5 100644 --- a/tests/auto/declarative/qmlgraphicsgridview/data/gridview.qml +++ b/tests/auto/declarative/qmlgraphicsgridview/data/gridview.qml @@ -43,6 +43,7 @@ Rectangle { height: 320 cellWidth: 80 cellHeight: 60 + flow: (testTopToBottom == false) ? "LeftToRight" : "TopToBottom" model: testModel delegate: myDelegate } diff --git a/tests/auto/declarative/qmlgraphicsgridview/tst_qmlgraphicsgridview.cpp b/tests/auto/declarative/qmlgraphicsgridview/tst_qmlgraphicsgridview.cpp index 7c32d14..d99b16f 100644 --- a/tests/auto/declarative/qmlgraphicsgridview/tst_qmlgraphicsgridview.cpp +++ b/tests/auto/declarative/qmlgraphicsgridview/tst_qmlgraphicsgridview.cpp @@ -53,12 +53,13 @@ public: tst_QmlGraphicsGridView(); private slots: - void currentIndex(); void items(); void changed(); void inserted(); void removed(); void moved(); + void currentIndex(); + void changeFlow(); private: QmlView *createView(const QString &filename); @@ -147,6 +148,7 @@ void tst_QmlGraphicsGridView::items() QmlContext *ctxt = canvas->rootContext(); ctxt->setContextProperty("testModel", &model); + ctxt->setContextProperty("testTopToBottom", QVariant(false)); canvas->execute(); qApp->processEvents(); @@ -194,6 +196,7 @@ void tst_QmlGraphicsGridView::changed() QmlContext *ctxt = canvas->rootContext(); ctxt->setContextProperty("testModel", &model); + ctxt->setContextProperty("testTopToBottom", QVariant(false)); canvas->execute(); qApp->processEvents(); @@ -226,6 +229,7 @@ void tst_QmlGraphicsGridView::inserted() QmlContext *ctxt = canvas->rootContext(); ctxt->setContextProperty("testModel", &model); + ctxt->setContextProperty("testTopToBottom", QVariant(false)); canvas->execute(); qApp->processEvents(); @@ -253,8 +257,8 @@ void tst_QmlGraphicsGridView::inserted() // Confirm items positioned correctly for (int i = 0; i < model.count(); ++i) { QmlGraphicsItem *item = findItem<QmlGraphicsItem>(viewport, "wrapper", i); - QVERIFY(item->x() == (i%3)*80); - QVERIFY(item->y() == (i/3)*60); + QCOMPARE(item->x(), (i%3)*80.0); + QCOMPARE(item->y(), (i/3)*60.0); } model.insertItem(0, "Foo", "1111"); // zero index, and current item @@ -306,6 +310,7 @@ void tst_QmlGraphicsGridView::removed() QmlContext *ctxt = canvas->rootContext(); ctxt->setContextProperty("testModel", &model); + ctxt->setContextProperty("testTopToBottom", QVariant(false)); canvas->execute(); qApp->processEvents(); @@ -420,6 +425,7 @@ void tst_QmlGraphicsGridView::moved() QmlContext *ctxt = canvas->rootContext(); ctxt->setContextProperty("testModel", &model); + ctxt->setContextProperty("testTopToBottom", QVariant(false)); canvas->execute(); qApp->processEvents(); @@ -534,9 +540,12 @@ void tst_QmlGraphicsGridView::currentIndex() QmlGraphicsItem *viewport = gridview->viewport(); QVERIFY(viewport != 0); + QTest::qWait(500); + // current item should be third item QCOMPARE(gridview->currentIndex(), 5); QCOMPARE(gridview->currentItem(), findItem<QmlGraphicsItem>(viewport, "wrapper", 5)); + QCOMPARE(gridview->currentItem()->y(), gridview->highlightItem()->y()); gridview->moveCurrentIndexRight(); QCOMPARE(gridview->currentIndex(), 6); @@ -605,6 +614,79 @@ void tst_QmlGraphicsGridView::currentIndex() QVERIFY(key.isAccepted()); QCOMPARE(gridview->currentIndex(), 0); + // turn off auto highlight + gridview->setHighlightFollowsCurrentItem(false); + QVERIFY(gridview->highlightFollowsCurrentItem() == false); + + QTest::qWait(500); + QVERIFY(gridview->highlightItem()); + qreal hlPosX = gridview->highlightItem()->x(); + qreal hlPosY = gridview->highlightItem()->y(); + + gridview->setCurrentIndex(5); + QTest::qWait(500); + QCOMPARE(gridview->highlightItem()->x(), hlPosX); + QCOMPARE(gridview->highlightItem()->y(), hlPosY); + + delete canvas; +} + +void tst_QmlGraphicsGridView::changeFlow() +{ + QmlView *canvas = createView(SRCDIR "/data/gridview.qml"); + + TestModel model; + for (int i = 0; i < 30; i++) + model.addItem("Item" + QString::number(i), QString::number(i)); + + QmlContext *ctxt = canvas->rootContext(); + ctxt->setContextProperty("testModel", &model); + ctxt->setContextProperty("testTopToBottom", QVariant(false)); + + canvas->execute(); + qApp->processEvents(); + + QmlGraphicsGridView *gridview = findItem<QmlGraphicsGridView>(canvas->root(), "grid"); + QVERIFY(gridview != 0); + + QmlGraphicsItem *viewport = gridview->viewport(); + QVERIFY(viewport != 0); + + // Confirm items positioned correctly and indexes correct + int itemCount = findItems<QmlGraphicsItem>(viewport, "wrapper").count(); + for (int i = 3; i < model.count() && i < itemCount; ++i) { + QmlGraphicsItem *item = findItem<QmlGraphicsItem>(viewport, "wrapper", i); + if (!item) qWarning() << "Item" << i << "not found"; + QVERIFY(item); + QCOMPARE(item->x(), qreal((i%3)*80)); + QCOMPARE(item->y(), qreal((i/3)*60)); + QmlGraphicsText *name = findItem<QmlGraphicsText>(viewport, "textName", i); + QVERIFY(name != 0); + QCOMPARE(name->text(), model.name(i)); + QmlGraphicsText *number = findItem<QmlGraphicsText>(viewport, "textNumber", i); + QVERIFY(number != 0); + QCOMPARE(number->text(), model.number(i)); + } + + ctxt->setContextProperty("testTopToBottom", QVariant(true)); + QTest::qWait(500); + + // Confirm items positioned correctly and indexes correct + itemCount = findItems<QmlGraphicsItem>(viewport, "wrapper").count(); + for (int i = 3; i < model.count() && i < itemCount; ++i) { + QmlGraphicsItem *item = findItem<QmlGraphicsItem>(viewport, "wrapper", i); + if (!item) qWarning() << "Item" << i << "not found"; + QVERIFY(item); + QCOMPARE(item->x(), qreal((i/5)*80)); + QCOMPARE(item->y(), qreal((i%5)*60)); + QmlGraphicsText *name = findItem<QmlGraphicsText>(viewport, "textName", i); + QVERIFY(name != 0); + QCOMPARE(name->text(), model.name(i)); + QmlGraphicsText *number = findItem<QmlGraphicsText>(viewport, "textNumber", i); + QVERIFY(number != 0); + QCOMPARE(number->text(), model.number(i)); + } + delete canvas; } diff --git a/tests/auto/declarative/qmlgraphicsitem/data/keys.qml b/tests/auto/declarative/qmlgraphicsitem/data/keys.qml index 7c16559..f3c1f7b 100644 --- a/tests/auto/declarative/qmlgraphicsitem/data/keys.qml +++ b/tests/auto/declarative/qmlgraphicsitem/data/keys.qml @@ -5,7 +5,10 @@ Item { Keys.onPressed: keysTestObject.keyPress(event.key, event.text, event.modifiers) Keys.onReleased: { keysTestObject.keyRelease(event.key, event.text, event.modifiers); event.accepted = true; } Keys.onReturnPressed: keysTestObject.keyPress(event.key, "Return", event.modifiers) + Keys.onDigit0Pressed: keysTestObject.keyPress(event.key, event.text, event.modifiers) + Keys.onDigit9Pressed: { event.accepted = false; keysTestObject.keyPress(event.key, event.text, event.modifiers) } Keys.forwardTo: [ item2 ] + Keys.enabled: enableKeyHanding Item { id: item2 diff --git a/tests/auto/declarative/qmlgraphicsitem/tst_qmlgraphicsitem.cpp b/tests/auto/declarative/qmlgraphicsitem/tst_qmlgraphicsitem.cpp index b4b3eaf..66ef982 100644 --- a/tests/auto/declarative/qmlgraphicsitem/tst_qmlgraphicsitem.cpp +++ b/tests/auto/declarative/qmlgraphicsitem/tst_qmlgraphicsitem.cpp @@ -113,6 +113,8 @@ void tst_QmlGraphicsItem::keys() KeysTestObject *testObject = new KeysTestObject; canvas->rootContext()->setContextProperty("keysTestObject", testObject); + canvas->rootContext()->setContextProperty("enableKeyHanding", QVariant(true)); + canvas->execute(); canvas->show(); qApp->processEvents(); @@ -150,6 +152,35 @@ void tst_QmlGraphicsItem::keys() QVERIFY(testObject->mModifiers == Qt::NoModifier); QVERIFY(key.isAccepted()); + testObject->reset(); + + key = QKeyEvent(QEvent::KeyPress, Qt::Key_0, Qt::NoModifier, "0", false, 1); + QApplication::sendEvent(canvas, &key); + QCOMPARE(testObject->mKey, int(Qt::Key_0)); + QCOMPARE(testObject->mForwardedKey, int(Qt::Key_0)); + QCOMPARE(testObject->mText, QLatin1String("0")); + QVERIFY(testObject->mModifiers == Qt::NoModifier); + QVERIFY(key.isAccepted()); + + testObject->reset(); + + key = QKeyEvent(QEvent::KeyPress, Qt::Key_9, Qt::NoModifier, "9", false, 1); + QApplication::sendEvent(canvas, &key); + QCOMPARE(testObject->mKey, int(Qt::Key_9)); + QCOMPARE(testObject->mForwardedKey, int(Qt::Key_9)); + QCOMPARE(testObject->mText, QLatin1String("9")); + QVERIFY(testObject->mModifiers == Qt::NoModifier); + QVERIFY(!key.isAccepted()); + + testObject->reset(); + + canvas->rootContext()->setContextProperty("enableKeyHanding", QVariant(false)); + + key = QKeyEvent(QEvent::KeyPress, Qt::Key_Return, Qt::NoModifier, "", false, 1); + QApplication::sendEvent(canvas, &key); + QCOMPARE(testObject->mKey, 0); + QVERIFY(!key.isAccepted()); + delete canvas; delete testObject; } diff --git a/tests/auto/declarative/qmlgraphicslistview/data/listview-initCurrent.qml b/tests/auto/declarative/qmlgraphicslistview/data/listview-initCurrent.qml index 5b1fee6..65a9d8a 100644 --- a/tests/auto/declarative/qmlgraphicslistview/data/listview-initCurrent.qml +++ b/tests/auto/declarative/qmlgraphicslistview/data/listview-initCurrent.qml @@ -42,6 +42,7 @@ Rectangle { currentIndex: 3 width: 240 height: 320 + keyNavigationWraps: testWrap model: testModel delegate: myDelegate highlightMoveSpeed: 1000 diff --git a/tests/auto/declarative/qmlgraphicslistview/data/listview.qml b/tests/auto/declarative/qmlgraphicslistview/data/listview.qml index 075e464..280173b 100644 --- a/tests/auto/declarative/qmlgraphicslistview/data/listview.qml +++ b/tests/auto/declarative/qmlgraphicslistview/data/listview.qml @@ -79,7 +79,7 @@ Rectangle { width: 240 height: 320 model: testModel - delegate: animate ? myDelegate : animatedDelegate + delegate: testAnimate ? myDelegate : animatedDelegate highlightMoveSpeed: 1000 } } diff --git a/tests/auto/declarative/qmlgraphicslistview/tst_qmlgraphicslistview.cpp b/tests/auto/declarative/qmlgraphicslistview/tst_qmlgraphicslistview.cpp index dc339ea..83b8d79 100644 --- a/tests/auto/declarative/qmlgraphicslistview/tst_qmlgraphicslistview.cpp +++ b/tests/auto/declarative/qmlgraphicslistview/tst_qmlgraphicslistview.cpp @@ -242,6 +242,7 @@ void tst_QmlGraphicsListView::items() QmlContext *ctxt = canvas->rootContext(); ctxt->setContextProperty("testModel", &model); + ctxt->setContextProperty("testAnimate", QVariant(false)); canvas->execute(); qApp->processEvents(); @@ -289,6 +290,7 @@ void tst_QmlGraphicsListView::changed() QmlContext *ctxt = canvas->rootContext(); ctxt->setContextProperty("testModel", &model); + ctxt->setContextProperty("testAnimate", QVariant(false)); canvas->execute(); qApp->processEvents(); @@ -322,6 +324,7 @@ void tst_QmlGraphicsListView::inserted() QmlContext *ctxt = canvas->rootContext(); ctxt->setContextProperty("testModel", &model); + ctxt->setContextProperty("testAnimate", QVariant(false)); canvas->execute(); qApp->processEvents(); @@ -408,7 +411,7 @@ void tst_QmlGraphicsListView::removed(bool animated) QmlContext *ctxt = canvas->rootContext(); ctxt->setContextProperty("testModel", &model); - ctxt->setContextProperty("animate", QVariant(animated)); + ctxt->setContextProperty("testAnimate", QVariant(animated)); canvas->execute(); qApp->processEvents(); @@ -519,6 +522,7 @@ void tst_QmlGraphicsListView::moved() QmlContext *ctxt = canvas->rootContext(); ctxt->setContextProperty("testModel", &model); + ctxt->setContextProperty("testAnimate", QVariant(false)); canvas->execute(); qApp->processEvents(); @@ -621,6 +625,7 @@ void tst_QmlGraphicsListView::enforceRange() QCOMPARE(listview->preferredHighlightBegin(), 100.0); QCOMPARE(listview->preferredHighlightEnd(), 100.0); + QCOMPARE(listview->highlightRangeMode(), QmlGraphicsListView::StrictlyEnforceRange); QmlGraphicsItem *viewport = listview->viewport(); QVERIFY(viewport != 0); @@ -656,6 +661,7 @@ void tst_QmlGraphicsListView::spacing() QmlContext *ctxt = canvas->rootContext(); ctxt->setContextProperty("testModel", &model); + ctxt->setContextProperty("testAnimate", QVariant(false)); canvas->execute(); qApp->processEvents(); @@ -778,6 +784,7 @@ void tst_QmlGraphicsListView::currentIndex() QmlContext *ctxt = canvas->rootContext(); ctxt->setContextProperty("testModel", &model); + ctxt->setContextProperty("testWrap", QVariant(false)); QString filename(SRCDIR "/data/listview-initCurrent.qml"); QFile file(filename); @@ -794,9 +801,12 @@ void tst_QmlGraphicsListView::currentIndex() QmlGraphicsItem *viewport = listview->viewport(); QVERIFY(viewport != 0); + QTest::qWait(500); + // current item should be third item QCOMPARE(listview->currentIndex(), 3); QCOMPARE(listview->currentItem(), findItem<QmlGraphicsItem>(viewport, "wrapper", 3)); + QCOMPARE(listview->highlightItem()->y(), listview->currentItem()->y()); // no wrap listview->setCurrentIndex(0); @@ -811,7 +821,8 @@ void tst_QmlGraphicsListView::currentIndex() QCOMPARE(listview->currentIndex(), 0); // with wrap - listview->setWrapEnabled(true); + ctxt->setContextProperty("testWrap", QVariant(true)); + QVERIFY(listview->isWrapEnabled()); listview->decrementCurrentIndex(); QCOMPARE(listview->currentIndex(), model.count()-1); @@ -844,6 +855,18 @@ void tst_QmlGraphicsListView::currentIndex() QVERIFY(key.isAccepted()); QCOMPARE(listview->currentIndex(), 0); + // turn off auto highlight + listview->setHighlightFollowsCurrentItem(false); + QVERIFY(listview->highlightFollowsCurrentItem() == false); + + QTest::qWait(500); + QVERIFY(listview->highlightItem()); + qreal hlPos = listview->highlightItem()->y(); + + listview->setCurrentIndex(4); + QTest::qWait(500); + QCOMPARE(listview->highlightItem()->y(), hlPos); + delete canvas; } diff --git a/tests/auto/declarative/qmlgraphicstextedit/tst_qmlgraphicstextedit.cpp b/tests/auto/declarative/qmlgraphicstextedit/tst_qmlgraphicstextedit.cpp index 2b10df5..4dc036d 100644 --- a/tests/auto/declarative/qmlgraphicstextedit/tst_qmlgraphicstextedit.cpp +++ b/tests/auto/declarative/qmlgraphicstextedit/tst_qmlgraphicstextedit.cpp @@ -69,6 +69,9 @@ private slots: void vAlign(); void font(); void color(); + void textMargin(); + void persistentSelection(); + void focusOnPress(); void selection(); void cursorDelegate(); @@ -433,6 +436,55 @@ void tst_qmlgraphicstextedit::color() } } +void tst_qmlgraphicstextedit::textMargin() +{ + for(qreal i=0; i<=10; i+=0.3){ + QString componentStr = "import Qt 4.6\nTextEdit { textMargin: " + QString::number(i) + "; text: \"Hello World\" }"; + QmlComponent texteditComponent(&engine, componentStr.toLatin1(), QUrl()); + QmlGraphicsTextEdit *textEditObject = qobject_cast<QmlGraphicsTextEdit*>(texteditComponent.create()); + QVERIFY(textEditObject != 0); + QCOMPARE(textEditObject->textMargin(), i); + } +} + +void tst_qmlgraphicstextedit::persistentSelection() +{ + { + QString componentStr = "import Qt 4.6\nTextEdit { persistentSelection: true; text: \"Hello World\" }"; + QmlComponent texteditComponent(&engine, componentStr.toLatin1(), QUrl()); + QmlGraphicsTextEdit *textEditObject = qobject_cast<QmlGraphicsTextEdit*>(texteditComponent.create()); + QVERIFY(textEditObject != 0); + QCOMPARE(textEditObject->persistentSelection(), true); + } + + { + QString componentStr = "import Qt 4.6\nTextEdit { persistentSelection: false; text: \"Hello World\" }"; + QmlComponent texteditComponent(&engine, componentStr.toLatin1(), QUrl()); + QmlGraphicsTextEdit *textEditObject = qobject_cast<QmlGraphicsTextEdit*>(texteditComponent.create()); + QVERIFY(textEditObject != 0); + QCOMPARE(textEditObject->persistentSelection(), false); + } +} + +void tst_qmlgraphicstextedit::focusOnPress() +{ + { + QString componentStr = "import Qt 4.6\nTextEdit { focusOnPress: true; text: \"Hello World\" }"; + QmlComponent texteditComponent(&engine, componentStr.toLatin1(), QUrl()); + QmlGraphicsTextEdit *textEditObject = qobject_cast<QmlGraphicsTextEdit*>(texteditComponent.create()); + QVERIFY(textEditObject != 0); + QCOMPARE(textEditObject->focusOnPress(), true); + } + + { + QString componentStr = "import Qt 4.6\nTextEdit { focusOnPress: false; text: \"Hello World\" }"; + QmlComponent texteditComponent(&engine, componentStr.toLatin1(), QUrl()); + QmlGraphicsTextEdit *textEditObject = qobject_cast<QmlGraphicsTextEdit*>(texteditComponent.create()); + QVERIFY(textEditObject != 0); + QCOMPARE(textEditObject->focusOnPress(), false); + } +} + void tst_qmlgraphicstextedit::selection() { QString testStr = standard[0];//TODO: What should happen for multiline/rich text? diff --git a/tests/auto/declarative/qmlgraphicswebview/data/basic.ico b/tests/auto/declarative/qmlgraphicswebview/data/basic.ico Binary files differnew file mode 100644 index 0000000..8f3d05e --- /dev/null +++ b/tests/auto/declarative/qmlgraphicswebview/data/basic.ico diff --git a/tests/auto/declarative/qmlgraphicswebview/data/forward.html b/tests/auto/declarative/qmlgraphicswebview/data/forward.html new file mode 100644 index 0000000..030446a --- /dev/null +++ b/tests/auto/declarative/qmlgraphicswebview/data/forward.html @@ -0,0 +1,12 @@ +<html> +<head><title>Forward</title> +<link rel="icon" sizes="48x48" href="basic.png"> +</head> +<body leftmargin="0" marginwidth="0"> +<table width="123"> +<tbody> +<tr><td>This is more.</td></tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/auto/declarative/qmlgraphicswebview/data/javaScript.html b/tests/auto/declarative/qmlgraphicswebview/data/javaScript.html new file mode 100644 index 0000000..35270bc --- /dev/null +++ b/tests/auto/declarative/qmlgraphicswebview/data/javaScript.html @@ -0,0 +1,11 @@ +<html> +<head><title>JavaScript</title> +<link rel="icon" sizes="48x48" href="basic.png"> +<script type="text/javascript"> +<!-- +window.onload = function(){ window.status = "status here"; } +// --> +</script> +</head> +<body> +This is a JS test. diff --git a/tests/auto/declarative/qmlgraphicswebview/data/loadError.qml b/tests/auto/declarative/qmlgraphicswebview/data/loadError.qml new file mode 100644 index 0000000..1460f30 --- /dev/null +++ b/tests/auto/declarative/qmlgraphicswebview/data/loadError.qml @@ -0,0 +1,5 @@ +import Qt 4.6 + +WebView { + url: "does-not-exist.html" +} diff --git a/tests/auto/declarative/visual/ListView/data/itemlist.0.png b/tests/auto/declarative/visual/ListView/data/itemlist.0.png Binary files differnew file mode 100644 index 0000000..a1947ca --- /dev/null +++ b/tests/auto/declarative/visual/ListView/data/itemlist.0.png diff --git a/tests/auto/declarative/visual/ListView/data/itemlist.1.png b/tests/auto/declarative/visual/ListView/data/itemlist.1.png Binary files differnew file mode 100644 index 0000000..d27b7fa --- /dev/null +++ b/tests/auto/declarative/visual/ListView/data/itemlist.1.png diff --git a/tests/auto/declarative/visual/ListView/data/itemlist.2.png b/tests/auto/declarative/visual/ListView/data/itemlist.2.png Binary files differnew file mode 100644 index 0000000..fdab8c6 --- /dev/null +++ b/tests/auto/declarative/visual/ListView/data/itemlist.2.png diff --git a/tests/auto/declarative/visual/ListView/data/itemlist.3.png b/tests/auto/declarative/visual/ListView/data/itemlist.3.png Binary files differnew file mode 100644 index 0000000..dc321a8 --- /dev/null +++ b/tests/auto/declarative/visual/ListView/data/itemlist.3.png diff --git a/tests/auto/declarative/visual/ListView/data/itemlist.4.png b/tests/auto/declarative/visual/ListView/data/itemlist.4.png Binary files differnew file mode 100644 index 0000000..fdab8c6 --- /dev/null +++ b/tests/auto/declarative/visual/ListView/data/itemlist.4.png diff --git a/tests/auto/declarative/visual/ListView/data/itemlist.5.png b/tests/auto/declarative/visual/ListView/data/itemlist.5.png Binary files differnew file mode 100644 index 0000000..15b51cb --- /dev/null +++ b/tests/auto/declarative/visual/ListView/data/itemlist.5.png diff --git a/tests/auto/declarative/visual/ListView/data/itemlist.6.png b/tests/auto/declarative/visual/ListView/data/itemlist.6.png Binary files differnew file mode 100644 index 0000000..a1947ca --- /dev/null +++ b/tests/auto/declarative/visual/ListView/data/itemlist.6.png diff --git a/tests/auto/declarative/visual/ListView/data/itemlist.qml b/tests/auto/declarative/visual/ListView/data/itemlist.qml new file mode 100644 index 0000000..073749f --- /dev/null +++ b/tests/auto/declarative/visual/ListView/data/itemlist.qml @@ -0,0 +1,2203 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 32 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 48 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 64 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 80 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 96 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 112 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 128 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 144 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 160 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 176 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 192 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 208 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 224 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 240 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 256 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 272 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 288 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 304 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 320 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 336 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 352 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 368 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 384 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 400 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 416 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 432 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 448 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 464 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 480 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 496 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 512 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 528 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 544 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 560 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 576 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 592 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 608 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 624 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 640 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 656 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 672 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 688 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 704 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 720 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 736 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 752 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 768 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 784 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 800 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 816 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 832 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 848 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 864 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 880 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 896 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 912 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 928 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 944 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 960 + image: "itemlist.0.png" + } + Frame { + msec: 976 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 992 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1008 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1024 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1040 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1056 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1072 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1088 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1104 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1120 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1136 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1152 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1168 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1184 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1200 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1216 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1232 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1248 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1264 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1280 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1296 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1312 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1328 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1344 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1360 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1376 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1392 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1408 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1424 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1440 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1456 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1472 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1488 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1504 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1520 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1536 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1552 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1568 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1584 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1600 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1616 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1632 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1648 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 192; y: 111 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1664 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 191; y: 111 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1680 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 190; y: 112 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 187; y: 113 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1696 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 184; y: 113 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 180; y: 113 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1712 + hash: "a68b1bc6c2963ee92c3a45f500667b3b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 174; y: 114 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 167; y: 115 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1728 + hash: "7cda93e59466b3348e7ffe3895f89e86" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 160; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1744 + hash: "06e0008c78e919f7270402938d9d764b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 140; y: 121 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 132; y: 122 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1760 + hash: "9d8da9199efebb95f56e5d4ebc9a585e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 114; y: 126 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 98; y: 132 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1776 + hash: "54a60a4279911ba4a8a5741bcadfa783" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 91; y: 132 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 91; y: 132 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1792 + hash: "a1a19370a1a8ed78e475f0d0eb12311c" + } + Frame { + msec: 1808 + hash: "196a3b127cf7065614c34856bf8d8bca" + } + Frame { + msec: 1824 + hash: "5fbefbd7c7be4374382cc4c8b86ac78a" + } + Frame { + msec: 1840 + hash: "d6a544c622e504c1b931e1a8a1310a6e" + } + Frame { + msec: 1856 + hash: "20e76f0eb4ec5f691999faf8ad313370" + } + Frame { + msec: 1872 + hash: "7f84a3545907c754ae8a6a30ef61c98d" + } + Frame { + msec: 1888 + hash: "b544901eae32903ad054e8cdfed715eb" + } + Frame { + msec: 1904 + hash: "a010ed1e3312f4ca9f429b7e32cdcef9" + } + Frame { + msec: 1920 + image: "itemlist.1.png" + } + Frame { + msec: 1936 + hash: "93a731dc6f71b6ff5400bf74c87e6c46" + } + Frame { + msec: 1952 + hash: "c73f63d1a024ba956e693487b3ccc761" + } + Frame { + msec: 1968 + hash: "539d3d00fce2d0128cd697d86d237fe7" + } + Frame { + msec: 1984 + hash: "52752d7d6f2d0e085f7132313907b72b" + } + Frame { + msec: 2000 + hash: "f46dd5803a6075e979e0fc733d503bfb" + } + Frame { + msec: 2016 + hash: "b8734698a6bad00ecf019f85328c2c21" + } + Frame { + msec: 2032 + hash: "1cfc499ca756023430cc5b2fa95a599d" + } + Frame { + msec: 2048 + hash: "63a816548837c19f8f0494c137fc0174" + } + Frame { + msec: 2064 + hash: "1bce9b85235e9a1a472c079dfec70ec5" + } + Frame { + msec: 2080 + hash: "6677863e7f74c12648409883f73adbe2" + } + Frame { + msec: 2096 + hash: "98e707a3e39a5f7bd4a101c2ed83535c" + } + Frame { + msec: 2112 + hash: "c1f6d8842d14a9394d4b7797314f50e8" + } + Frame { + msec: 2128 + hash: "579758b477bcd2112b305a5aac7df338" + } + Frame { + msec: 2144 + hash: "4a7bb81090db246db53e2dbc56f710ea" + } + Frame { + msec: 2160 + hash: "074995cdd8a70817d1c8a7bb0ad4c542" + } + Frame { + msec: 2176 + hash: "bd8d7bda4d2e9ad1fba2895d568f36cc" + } + Frame { + msec: 2192 + hash: "40cce3d2d80ac470af44fc334cec1d5b" + } + Frame { + msec: 2208 + hash: "15cbc226b032d5a97199735ea7a1408b" + } + Frame { + msec: 2224 + hash: "12b296aea9b058a5402d0d0a620f8edc" + } + Frame { + msec: 2240 + hash: "6ffd2b79cf0e941a59e74bc6f9025bcb" + } + Frame { + msec: 2256 + hash: "589a58ef76ea709dc8d80390c9044f99" + } + Frame { + msec: 2272 + hash: "c009924bfa30153f22ab168b539494e9" + } + Frame { + msec: 2288 + hash: "4b83674a7c2daa68d735901ad40be2bd" + } + Frame { + msec: 2304 + hash: "0525908c0302ada989e28990bac3f2ca" + } + Frame { + msec: 2320 + hash: "89eb13976ba3ba4413cafeb0cc91c01b" + } + Frame { + msec: 2336 + hash: "75c1295ef99680784b2e11fb88fa1423" + } + Frame { + msec: 2352 + hash: "93d89165cf6a97c76ae6e7f75678a3cd" + } + Frame { + msec: 2368 + hash: "53064c1938f08a55603a99b0db225174" + } + Frame { + msec: 2384 + hash: "31db5684466c0c32128a9a8c7b1835e1" + } + Frame { + msec: 2400 + hash: "99d9e58697736198e0a00443d237e85b" + } + Frame { + msec: 2416 + hash: "6c1e860aef983367365d53f5849ad441" + } + Frame { + msec: 2432 + hash: "6c1e860aef983367365d53f5849ad441" + } + Frame { + msec: 2448 + hash: "6c1e860aef983367365d53f5849ad441" + } + Frame { + msec: 2464 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2480 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2496 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2512 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2528 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2544 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2560 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2576 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2592 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2608 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2624 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2640 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2656 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2672 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2688 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2704 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2720 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2736 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2752 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2768 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2784 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2800 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2816 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2832 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2848 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2864 + hash: "99f9988040a389576cb6420b5391f768" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 181; y: 104 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2880 + image: "itemlist.2.png" + } + Frame { + msec: 2896 + hash: "99f9988040a389576cb6420b5391f768" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 179; y: 105 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 177; y: 106 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2912 + hash: "99f9988040a389576cb6420b5391f768" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 174; y: 108 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 170; y: 110 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2928 + hash: "5bb06b4e74532ba5bc8c7bc38bf77d7f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 166; y: 112 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 160; y: 115 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2944 + hash: "b10a6206830a876017799ef2fcf61b1a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 154; y: 117 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 140; y: 123 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2960 + hash: "b2e24759ba10afd6cff90f4b1e04b496" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 124; y: 127 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 124; y: 127 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2976 + hash: "ccbcd6f45cb529c2db71504c0f69d73e" + } + Frame { + msec: 2992 + hash: "7b31c6d5931677f1aa1e8c7d48a4ff22" + } + Frame { + msec: 3008 + hash: "c52f691a0a6cf155118bdfea2dfea623" + } + Frame { + msec: 3024 + hash: "dd639d1df3d4a9b8f06718def63d588f" + } + Frame { + msec: 3040 + hash: "39d767b09a648ef6295cec2848f9226f" + } + Frame { + msec: 3056 + hash: "5dd46d5f386431e7b13348ac9a9630ed" + } + Frame { + msec: 3072 + hash: "0354e5183b0e66e7ba146d292c559df4" + } + Frame { + msec: 3088 + hash: "984aa6d7075e24de429e05b1b0eda94a" + } + Frame { + msec: 3104 + hash: "1af58a2f44f1f613712d4df85e38356d" + } + Frame { + msec: 3120 + hash: "6e4085e7f1fee724d78808753f04b471" + } + Frame { + msec: 3136 + hash: "73a019ef9057639d631cd99a431b3f3b" + } + Frame { + msec: 3152 + hash: "c9414a2e655a90dfdcb6fb288b4ba0ca" + } + Frame { + msec: 3168 + hash: "3f4c24f7ac89da982af22032309637fb" + } + Frame { + msec: 3184 + hash: "a50e6ada8f73a257657f4348ceaffcfd" + } + Frame { + msec: 3200 + hash: "a67bf40d09259bbd079c12ae4f49150f" + } + Frame { + msec: 3216 + hash: "a2fc512b7c234a9d0b2c1a83387a8a46" + } + Frame { + msec: 3232 + hash: "85090683ce9a3c9833b1cb0b3df076ee" + } + Frame { + msec: 3248 + hash: "275f3594a0e2cc4b6717f9f336e7e1b6" + } + Frame { + msec: 3264 + hash: "2473eb11f7b65a784a2b166114026488" + } + Frame { + msec: 3280 + hash: "4865c30dc45fbf5ca82047b77eca0912" + } + Frame { + msec: 3296 + hash: "54de88bca395449fbaea2c090c7a5d91" + } + Frame { + msec: 3312 + hash: "833f9295cf9a34934f001eac48551b59" + } + Frame { + msec: 3328 + hash: "5bf565f57ababa7380faeee94add91ca" + } + Frame { + msec: 3344 + hash: "6325578867f1eb3b2d47ed40b017b571" + } + Frame { + msec: 3360 + hash: "046a6114176b3a3206b7a2acd6e30b41" + } + Frame { + msec: 3376 + hash: "f8d4120a17f28c2d1d9c4be959098058" + } + Frame { + msec: 3392 + hash: "71356d2e48aad2900784ea6bc1a3d908" + } + Frame { + msec: 3408 + hash: "b84ad460fb81fdc4049abe8f3ff180bb" + } + Frame { + msec: 3424 + hash: "0354239f5eaea23474d9f81385392a8a" + } + Frame { + msec: 3440 + hash: "8ef0eef3393e07ae7605c865a95edc30" + } + Frame { + msec: 3456 + hash: "5b8b384cc8e3faf4310015e19b3eb487" + } + Frame { + msec: 3472 + hash: "77c18ac7dfff2a4e516915e3e3df0717" + } + Frame { + msec: 3488 + hash: "c1d3264384c26345eb8100de829309ca" + } + Frame { + msec: 3504 + hash: "6b21f71d0bedef4bbcb445a13f61e7a3" + } + Frame { + msec: 3520 + hash: "f619097356671f6eb54d3b1c481e709d" + } + Frame { + msec: 3536 + hash: "e56e3a90da446e0c482cb93717f6aacc" + } + Frame { + msec: 3552 + hash: "aa94ebdbb4b8423aff28c95daff0baf5" + } + Frame { + msec: 3568 + hash: "e1744d9cacd1a2c96af4cfdd5c486995" + } + Frame { + msec: 3584 + hash: "7f19ea52e9e41a3b1bd90bb2a144d305" + } + Frame { + msec: 3600 + hash: "7f19ea52e9e41a3b1bd90bb2a144d305" + } + Frame { + msec: 3616 + hash: "7f19ea52e9e41a3b1bd90bb2a144d305" + } + Frame { + msec: 3632 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3648 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3664 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3680 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3696 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3712 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3728 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3744 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3760 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3776 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3792 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3808 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3824 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3840 + image: "itemlist.3.png" + } + Frame { + msec: 3856 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3872 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3888 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3904 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3920 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3936 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3952 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3968 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3984 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4000 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4016 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4032 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4048 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4064 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4080 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4096 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 31; y: 137 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4112 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 32; y: 137 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4128 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 33; y: 136 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 36; y: 135 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4144 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 40; y: 134 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 46; y: 132 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4160 + hash: "c2c9c284b185a89faf4ddb5a7867f449" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 64; y: 130 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4176 + hash: "de1c18aeda5d2fbd6dad4554c78617bd" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 86; y: 126 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 110; y: 118 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 110; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4192 + hash: "a67bf40d09259bbd079c12ae4f49150f" + } + Frame { + msec: 4208 + hash: "94514668dafbe41c5890a578efd6dea4" + } + Frame { + msec: 4224 + hash: "2e97a74eb9ddb1c9613c89e2d78db018" + } + Frame { + msec: 4240 + hash: "4b5368f0d86bffeb6bd31b58aec88650" + } + Frame { + msec: 4256 + hash: "b459bde7bb4ce51e6ecdab58f64fcbb9" + } + Frame { + msec: 4272 + hash: "7bac8cc3ec64c9ad1c0da282e38c953e" + } + Frame { + msec: 4288 + hash: "a73a58c3d7a757547740a2a161f4c756" + } + Frame { + msec: 4304 + hash: "b35edcb1fa3568a3e770ab2364b82e75" + } + Frame { + msec: 4320 + hash: "d6c863ef57c5e5cb04cdac72f920db0b" + } + Frame { + msec: 4336 + hash: "0db5e4588ff851918b07796f0cf07382" + } + Frame { + msec: 4352 + hash: "71ec8c363ca6a6f7556afb70faccffe6" + } + Frame { + msec: 4368 + hash: "18d026e9c965ada1db67c643576d2a80" + } + Frame { + msec: 4384 + hash: "69f71c22dff981a4da8ec1edcf90e79f" + } + Frame { + msec: 4400 + hash: "680460f5e4d9e649931601041af046b2" + } + Frame { + msec: 4416 + hash: "3028763fd15de2607b20b1331b904a4a" + } + Frame { + msec: 4432 + hash: "333eb60e217fe1ea7469eab52ac461f1" + } + Frame { + msec: 4448 + hash: "ccbcd6f45cb529c2db71504c0f69d73e" + } + Frame { + msec: 4464 + hash: "3445df9b41a0a3e74738cbf328ab7d5c" + } + Frame { + msec: 4480 + hash: "bd2c072558479e9de7a97207e58cc57f" + } + Frame { + msec: 4496 + hash: "3d34b0b24a30eda93377dcb4585afed8" + } + Frame { + msec: 4512 + hash: "d3045703863b0c5a327b9355c23d69f2" + } + Frame { + msec: 4528 + hash: "2f2eb55f693415b840a317211b250e9f" + } + Frame { + msec: 4544 + hash: "791b9ca7d47a3343474c30a35e336d4b" + } + Frame { + msec: 4560 + hash: "73a0c02ebad6d3d5f939d9a00dd898bf" + } + Frame { + msec: 4576 + hash: "d5c11135d586711b12f236430a2c2795" + } + Frame { + msec: 4592 + hash: "34f9ea214fe714ff4e994f715ea6ea39" + } + Frame { + msec: 4608 + hash: "8e49afa00983b156b818533923fb6edd" + } + Frame { + msec: 4624 + hash: "e7e7bef17cee92eca9191fd734d7a577" + } + Frame { + msec: 4640 + hash: "e407f6ed7cb3c130365ab5515d6308c0" + } + Frame { + msec: 4656 + hash: "5bb06b4e74532ba5bc8c7bc38bf77d7f" + } + Frame { + msec: 4672 + hash: "0ad7411316031e22034c14e81ca3a806" + } + Frame { + msec: 4688 + hash: "dd81d7a9b48c922b4c42cba1b5f2b9d7" + } + Frame { + msec: 4704 + hash: "32bef6f5005ad94e29ff59165958fbdc" + } + Frame { + msec: 4720 + hash: "87758dd311f91193bf1e3536c2f58525" + } + Frame { + msec: 4736 + hash: "015be92a4ff4e735fcc3cbc7a8b9d763" + } + Frame { + msec: 4752 + hash: "d4c34ed49317c6692d71681fcd9842b6" + } + Frame { + msec: 4768 + hash: "abaa235bb946a8abaddd52981d632c2d" + } + Frame { + msec: 4784 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4800 + image: "itemlist.4.png" + } + Frame { + msec: 4816 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4832 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4848 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4864 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4880 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4896 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4912 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4928 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4944 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4960 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4976 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4992 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5008 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5024 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5040 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5056 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5072 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5088 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5104 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5120 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5136 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5152 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5168 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5184 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5200 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5216 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5232 + hash: "99f9988040a389576cb6420b5391f768" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 17; y: 120 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5248 + hash: "99f9988040a389576cb6420b5391f768" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 19; y: 120 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 21; y: 120 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5264 + hash: "99f9988040a389576cb6420b5391f768" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 24; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 28; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5280 + hash: "95b380c9ab6f8db7b822faf023d94546" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 35; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 44; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5296 + hash: "bb79e53556698c62ec30c75be9f6b7d7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 70; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 96; y: 117 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 96; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5312 + hash: "285cc2f0df1f59f25a0135560ab6edf2" + } + Frame { + msec: 5328 + hash: "93a731dc6f71b6ff5400bf74c87e6c46" + } + Frame { + msec: 5344 + hash: "eb555741ab128a50de5a18a454f2e639" + } + Frame { + msec: 5360 + hash: "5dbe6cf898c1e37fcaacecfcf57b2194" + } + Frame { + msec: 5376 + hash: "e7795610115593e78bb32f7bcc0ae2eb" + } + Frame { + msec: 5392 + hash: "20e76f0eb4ec5f691999faf8ad313370" + } + Frame { + msec: 5408 + hash: "d6a544c622e504c1b931e1a8a1310a6e" + } + Frame { + msec: 5424 + hash: "e7a3a21feed244c5b1c710a9254c15f0" + } + Frame { + msec: 5440 + hash: "5a4b1aca24f121d1373646e9d80b86fd" + } + Frame { + msec: 5456 + hash: "331d2ec7021655c86aa64e47718a1088" + } + Frame { + msec: 5472 + hash: "92096bc872e7395aa5b75c44646a0b60" + } + Frame { + msec: 5488 + hash: "0d9aa6cee4d21488cbb5153f8f3ed593" + } + Frame { + msec: 5504 + hash: "c1b943d43701605563fffffcb75f9fa7" + } + Frame { + msec: 5520 + hash: "1b680025d5ad1ddd8f8d5f570ba73e71" + } + Frame { + msec: 5536 + hash: "5539a3b9f60ea747c10ed8328b467cbf" + } + Frame { + msec: 5552 + hash: "0a1317bcb606cd3488c5b14ee5d96585" + } + Frame { + msec: 5568 + hash: "8844af68b11db7d92c69804c7371a746" + } + Frame { + msec: 5584 + hash: "28d7fd127739c6e3b8488651b725c802" + } + Frame { + msec: 5600 + hash: "0cf1a7d958a96aa2768995dddc5ccc09" + } + Frame { + msec: 5616 + hash: "64b902fe7ab4d89ef0c7b760974e3488" + } + Frame { + msec: 5632 + hash: "aba11c597eba550fc1eaddbf554057f6" + } + Frame { + msec: 5648 + hash: "1bacaa3bb9dc3cac9ffc7491cb4dc1a5" + } + Frame { + msec: 5664 + hash: "0ba8b582234d9f0c198c0c9e18e1cb02" + } + Frame { + msec: 5680 + hash: "f66eaf2b5c3529987c0d9d005351ed73" + } + Frame { + msec: 5696 + hash: "75b0bb720fa4c77da3783b3ff31c2fae" + } + Frame { + msec: 5712 + hash: "345b235bb7f13409378e5c0c370f2a41" + } + Frame { + msec: 5728 + hash: "83b7e902dce4e0fdc4ef5d629188c23c" + } + Frame { + msec: 5744 + hash: "04b9041c6f10969889d92e94785c7e88" + } + Frame { + msec: 5760 + image: "itemlist.5.png" + } + Frame { + msec: 5776 + hash: "4f3a902addc34ecdaf390e2427cc52e7" + } + Frame { + msec: 5792 + hash: "68d443f16c16821ffc9ca68b17c76034" + } + Frame { + msec: 5808 + hash: "9d25adc77befa761ee376a9b43595b5e" + } + Frame { + msec: 5824 + hash: "a68b1bc6c2963ee92c3a45f500667b3b" + } + Frame { + msec: 5840 + hash: "d5268cd58c222451d48038e715e83802" + } + Frame { + msec: 5856 + hash: "f37d461541a8ec7a4161b18748de6aea" + } + Frame { + msec: 5872 + hash: "805319ac7ca842feb3649e92f8b5b72f" + } + Frame { + msec: 5888 + hash: "73124472a05080891d4948d8ca273f8c" + } + Frame { + msec: 5904 + hash: "b6e433a23282a50db2e165a2447ba3f6" + } + Frame { + msec: 5920 + hash: "fd8d3f5688b1806998c6087e18c6c730" + } + Frame { + msec: 5936 + hash: "f132dd459950ef2d18aa93ca950d0692" + } + Frame { + msec: 5952 + hash: "ade5beb259b5277c333ca806fc9bdbec" + } + Frame { + msec: 5968 + hash: "ade5beb259b5277c333ca806fc9bdbec" + } + Frame { + msec: 5984 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6000 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6016 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6032 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6048 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6064 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6080 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6096 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6112 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6128 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6144 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6160 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6176 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6192 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6208 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6224 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6240 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6256 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6272 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6288 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6304 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6320 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6336 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6352 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6368 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6384 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6400 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6416 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6432 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6448 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6464 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6480 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6496 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6512 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6528 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6544 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6560 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6576 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6592 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6608 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6624 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6640 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6656 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6672 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6688 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6704 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6720 + image: "itemlist.6.png" + } + Frame { + msec: 6736 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6752 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6768 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6784 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6800 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6816 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6832 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6848 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6864 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6880 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6896 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6912 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6928 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6944 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6960 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6976 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6992 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7008 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7024 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7040 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7056 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7072 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7088 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7104 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7120 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7136 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7152 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7168 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7184 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7200 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7216 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7232 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7248 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7264 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7280 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7296 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7312 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } +} diff --git a/tests/auto/declarative/visual/ListView/itemlist.qml b/tests/auto/declarative/visual/ListView/itemlist.qml new file mode 100644 index 0000000..8cbbdb0 --- /dev/null +++ b/tests/auto/declarative/visual/ListView/itemlist.qml @@ -0,0 +1,40 @@ +// This example demonstrates placing items in a view using +// a VisualItemModel + +import Qt 4.6 + +Rectangle { + color: "lightgray" + width: 240 + height: 320 + + VisualItemModel { + id: itemModel + objectName: "itemModel" + Rectangle { + objectName: "item1" + height: view.height; width: view.width; color: "#FFFEF0" + } + Rectangle { + objectName: "item2" + height: view.height; width: view.width; color: "#F0FFF7" + } + Rectangle { + objectName: "item3" + height: view.height; width: view.width; color: "#F4F0FF" + } + } + + ListView { + id: view + objectName: "view" + anchors.fill: parent + anchors.bottomMargin: 30 + model: itemModel + preferredHighlightBegin: 0 + preferredHighlightEnd: 0 + highlightRangeMode: "StrictlyEnforceRange" + orientation: ListView.Horizontal + flickDeceleration: 2000 + } +} diff --git a/tests/auto/declarative/visual/flickable/Day.qml b/tests/auto/declarative/visual/flickable/Day.qml deleted file mode 100644 index 8416724..0000000 --- a/tests/auto/declarative/visual/flickable/Day.qml +++ /dev/null @@ -1,26 +0,0 @@ -import Qt 4.6 - -Rectangle { - property string day - - width: 200 - height: 300 - radius: 7 - border.color: "black" - id: Page - Image { - x: 10 - y: 10 - source: "cork.jpg" - } - Text { - x: 20 - y: 20 - height: 40 - font.pixelSize: 14 - font.bold: true - text: day - style: "Outline" - styleColor: "#dedede" - } -} diff --git a/tests/auto/declarative/visual/flickable/cork.jpg b/tests/auto/declarative/visual/flickable/cork.jpg Binary files differdeleted file mode 100644 index 6dc3a3f..0000000 --- a/tests/auto/declarative/visual/flickable/cork.jpg +++ /dev/null diff --git a/tests/auto/declarative/visual/flickable/data-X11/flickable.0.png b/tests/auto/declarative/visual/flickable/data-X11/flickable.0.png Binary files differdeleted file mode 100644 index 5da2f2a..0000000 --- a/tests/auto/declarative/visual/flickable/data-X11/flickable.0.png +++ /dev/null diff --git a/tests/auto/declarative/visual/flickable/data-X11/flickable.1.png b/tests/auto/declarative/visual/flickable/data-X11/flickable.1.png Binary files differdeleted file mode 100644 index 1c33ca6..0000000 --- a/tests/auto/declarative/visual/flickable/data-X11/flickable.1.png +++ /dev/null diff --git a/tests/auto/declarative/visual/flickable/data-X11/flickable.2.png b/tests/auto/declarative/visual/flickable/data-X11/flickable.2.png Binary files differdeleted file mode 100644 index 67cdf8f..0000000 --- a/tests/auto/declarative/visual/flickable/data-X11/flickable.2.png +++ /dev/null diff --git a/tests/auto/declarative/visual/flickable/data-X11/flickable.qml b/tests/auto/declarative/visual/flickable/data-X11/flickable.qml deleted file mode 100644 index 6a60409..0000000 --- a/tests/auto/declarative/visual/flickable/data-X11/flickable.qml +++ /dev/null @@ -1,791 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 32 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 48 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 64 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 80 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 96 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 112 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 128 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 144 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 160 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 176 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 192 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 208 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 224 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 240 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 256 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 272 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 288 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 304 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 320 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 336 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 352 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 368 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 384 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 400 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 416 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 432 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 448 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 464 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 480 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 496 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 512 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 528 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 544 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 560 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 576 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 592 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 608 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 624 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 640 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 656 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 672 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 688 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 704 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Frame { - msec: 720 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 517; y: 154 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 736 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Mouse { - type: 5 - button: 1 - buttons: 1 - x: 514; y: 154 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 752 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Mouse { - type: 5 - button: 1 - buttons: 1 - x: 509; y: 155 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 768 - hash: "2a07f4ab51ed6ac07c2efecfd561cdff" - } - Mouse { - type: 5 - button: 1 - buttons: 1 - x: 497; y: 155 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 784 - hash: "4f30ebc802a38cd4ad05018b6bc429a4" - } - Mouse { - type: 5 - button: 1 - buttons: 1 - x: 480; y: 155 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 800 - hash: "8d2e349b2aad07d98f11a30a33a5b409" - } - Mouse { - type: 5 - button: 1 - buttons: 1 - x: 443; y: 155 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 816 - hash: "09647796906da54345fffa18eb1b1f91" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 443; y: 155 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 832 - hash: "09647796906da54345fffa18eb1b1f91" - } - Frame { - msec: 848 - hash: "4a7dd2931129756437e38b3516474aa1" - } - Frame { - msec: 864 - hash: "bbec3d9d7ca38599b03e44ed3c2b68b6" - } - Frame { - msec: 880 - hash: "07214f888dba9ea84eae306cf92a0f7f" - } - Frame { - msec: 896 - hash: "0feac7c874f8caf11db319c13ed2250e" - } - Frame { - msec: 912 - hash: "7de76db129b4e9d17836d17fff687b99" - } - Frame { - msec: 928 - hash: "7f3414d54148afd7b01ed0fe54b60ba2" - } - Frame { - msec: 944 - hash: "692cde1197a0f37bee5a4e57160bff8b" - } - Frame { - msec: 960 - image: "flickable.0.png" - } - Frame { - msec: 976 - hash: "d0b879cb63d003c0fd00c14160e7d1a4" - } - Frame { - msec: 992 - hash: "9a0879e4e9b23ad3c9340d7c28eb6386" - } - Frame { - msec: 1008 - hash: "2b6f4cb48284a835f77bc6368566c187" - } - Frame { - msec: 1024 - hash: "53c094e3aa4f841195b2ce4e0fa34fae" - } - Frame { - msec: 1040 - hash: "3ef7530199a136d339adf677cf98f035" - } - Frame { - msec: 1056 - hash: "1a707788b43773ffa05d0ad88e6f156d" - } - Frame { - msec: 1072 - hash: "e51dc6702e59c68e6a34f4a8f6c5b5c5" - } - Frame { - msec: 1088 - hash: "1fe6d9b517ad1b9aaf16d005577ab45d" - } - Frame { - msec: 1104 - hash: "fac02bdb63d4aa7749a66f6aa91a7035" - } - Frame { - msec: 1120 - hash: "4bad8d93cee30c76a4b263981adc0c2f" - } - Frame { - msec: 1136 - hash: "8bcee1ab8a1ab66b22d59d975a265906" - } - Frame { - msec: 1152 - hash: "a68fa84e32d4ba44d4d53b476505ff6e" - } - Frame { - msec: 1168 - hash: "d7258071d6673ef22a8836a8fdc6c5a6" - } - Frame { - msec: 1184 - hash: "c708f62342663a4a879c86cd97448b75" - } - Frame { - msec: 1200 - hash: "2e28d213283f4791d051177f468d9246" - } - Frame { - msec: 1216 - hash: "beb36da1d54eedc62b65c47ba7c43f59" - } - Frame { - msec: 1232 - hash: "2cea7b5571c563a709e211fbb5684a9d" - } - Frame { - msec: 1248 - hash: "9ef0bafe8a9d52bc2fb7732c02ea9304" - } - Frame { - msec: 1264 - hash: "7a489611578c9590aaf1b85763d8ae2c" - } - Frame { - msec: 1280 - hash: "31b8e33b788821922d6d437f40c7811c" - } - Frame { - msec: 1296 - hash: "421ae01b4d757996aefb35641f167c2d" - } - Frame { - msec: 1312 - hash: "175c93fde4cb520881802a57bf10be5f" - } - Frame { - msec: 1328 - hash: "11602a6ca746c83c857524eafc4d9570" - } - Frame { - msec: 1344 - hash: "4f10b74a1bb8d65f3d371cc613a1641a" - } - Frame { - msec: 1360 - hash: "d8505ce7ad73683817ed4e3a7f3ab610" - } - Frame { - msec: 1376 - hash: "a800684370e06817e1a2a34ceb2fc651" - } - Frame { - msec: 1392 - hash: "267e184af16c63eefe290c6659917b34" - } - Frame { - msec: 1408 - hash: "354c5b04c0ed2288c23064debb4e261e" - } - Frame { - msec: 1424 - hash: "67d300a0f15f0642c4ba0c8bd7662c01" - } - Frame { - msec: 1440 - hash: "2fe12d1625140c2da1f0af17e1bf548b" - } - Frame { - msec: 1456 - hash: "fef2140a272d78f5c0e93ec3a4c6e6c9" - } - Frame { - msec: 1472 - hash: "b9331a586bad1619e51794bc66bf36fc" - } - Frame { - msec: 1488 - hash: "8ba04c015ca8c150e0bbb09769955b5d" - } - Frame { - msec: 1504 - hash: "09f573e1465533e67fa0d504e5481c8b" - } - Frame { - msec: 1520 - hash: "fe3e919aa08ddd51ee7b81ef405b10f4" - } - Frame { - msec: 1536 - hash: "e5d85427a2e02dd83d2932205e7aa6ac" - } - Frame { - msec: 1552 - hash: "4e97fda26cbb0273dd69e50cf134a147" - } - Frame { - msec: 1568 - hash: "7e13b494b5397b747eb6065f7555acce" - } - Frame { - msec: 1584 - hash: "fe9567c08f776bed903a74c9c21a18bb" - } - Frame { - msec: 1600 - hash: "086dd974228d51513e732c96c69dd07f" - } - Frame { - msec: 1616 - hash: "b43d5b4f44df55b1099c7ba339df1799" - } - Frame { - msec: 1632 - hash: "ce0e82fc42ff0017b40278e323682348" - } - Frame { - msec: 1648 - hash: "e28b9cee2047774d70df6510c83e9dfe" - } - Frame { - msec: 1664 - hash: "568d97ff98ac2d867981eb7330b831b1" - } - Frame { - msec: 1680 - hash: "10f38a5f95a91bc7380a13f5aa30f22f" - } - Frame { - msec: 1696 - hash: "2f9ec9b1843f2970fa8225f313781404" - } - Frame { - msec: 1712 - hash: "bdd8405a889ff9a6e33cce65416bdc43" - } - Frame { - msec: 1728 - hash: "9f57f8460ade9e6ff3db7a0a8d044f07" - } - Frame { - msec: 1744 - hash: "36d1e95a006c00b183b24a05c2acf12f" - } - Frame { - msec: 1760 - hash: "78d7f8b056c0341b442c0eabbf6da90b" - } - Frame { - msec: 1776 - hash: "f5786d9a77a28796908fcb376af2cc1f" - } - Frame { - msec: 1792 - hash: "38cfaf7a356163f8ff9708ba625907b7" - } - Frame { - msec: 1808 - hash: "989922a8c5e3c000811a994bfe183d7f" - } - Frame { - msec: 1824 - hash: "989922a8c5e3c000811a994bfe183d7f" - } - Frame { - msec: 1840 - hash: "989922a8c5e3c000811a994bfe183d7f" - } - Frame { - msec: 1856 - hash: "f5786d9a77a28796908fcb376af2cc1f" - } - Frame { - msec: 1872 - hash: "014cfc6573eb0a89acacd6f154098202" - } - Frame { - msec: 1888 - hash: "247fead2e4139421cb6e5f7a97fa1768" - } - Frame { - msec: 1904 - hash: "bdd8405a889ff9a6e33cce65416bdc43" - } - Frame { - msec: 1920 - image: "flickable.1.png" - } - Frame { - msec: 1936 - hash: "d64f65edf900912158634c88b5c0b5ca" - } - Frame { - msec: 1952 - hash: "d714183774f603269335b0675e0656f8" - } - Frame { - msec: 1968 - hash: "24f9e90f7789a7c5db65d59312d49fe1" - } - Frame { - msec: 1984 - hash: "ce0e82fc42ff0017b40278e323682348" - } - Frame { - msec: 2000 - hash: "f564293ff63ccc952597ac228c6437dc" - } - Frame { - msec: 2016 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2032 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2048 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2064 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2080 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2096 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2112 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2128 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2144 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2160 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2176 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2192 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2208 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2224 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2240 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2256 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2272 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2288 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2304 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2320 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2336 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2352 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2368 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2384 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2400 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2416 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2432 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2448 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2464 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2480 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2496 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2512 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2528 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2544 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2560 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2576 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2592 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2608 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2624 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2640 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2656 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2672 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2688 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2704 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2720 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2736 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2752 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2768 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2784 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2800 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2816 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2832 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2848 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2864 - hash: "555d97eac7e8b06cb81f4af74098ce65" - } - Frame { - msec: 2880 - image: "flickable.2.png" - } -} diff --git a/tests/auto/declarative/visual/flickable/data/flickable.0.png b/tests/auto/declarative/visual/flickable/data/flickable.0.png Binary files differdeleted file mode 100644 index b7ddf5a..0000000 --- a/tests/auto/declarative/visual/flickable/data/flickable.0.png +++ /dev/null diff --git a/tests/auto/declarative/visual/flickable/data/flickable.1.png b/tests/auto/declarative/visual/flickable/data/flickable.1.png Binary files differdeleted file mode 100644 index ef48b85..0000000 --- a/tests/auto/declarative/visual/flickable/data/flickable.1.png +++ /dev/null diff --git a/tests/auto/declarative/visual/flickable/data/flickable.2.png b/tests/auto/declarative/visual/flickable/data/flickable.2.png Binary files differdeleted file mode 100644 index 60c357b..0000000 --- a/tests/auto/declarative/visual/flickable/data/flickable.2.png +++ /dev/null diff --git a/tests/auto/declarative/visual/flickable/data/flickable.qml b/tests/auto/declarative/visual/flickable/data/flickable.qml deleted file mode 100644 index 730c128..0000000 --- a/tests/auto/declarative/visual/flickable/data/flickable.qml +++ /dev/null @@ -1,791 +0,0 @@ -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: "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: "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: "flickable.2.png" - } -} diff --git a/tests/auto/declarative/visual/flickable/flickable.qml b/tests/auto/declarative/visual/flickable/flickable.qml deleted file mode 100644 index 42bd5b3..0000000 --- a/tests/auto/declarative/visual/flickable/flickable.qml +++ /dev/null @@ -1,55 +0,0 @@ -import Qt 4.6 - -Rectangle { - color: "lightSteelBlue" - width: 600 - height: 300 - ListModel { - id: List - ListElement { - name: "Sunday" - dayColor: "#808080" - } - ListElement { - name: "Monday" - dayColor: "blue" - } - ListElement { - name: "Tuesday" - dayColor: "yellow" - } - ListElement { - name: "Wednesday" - dayColor: "purple" - } - ListElement { - name: "Thursday" - dayColor: "blue" - } - ListElement { - name: "Friday" - dayColor: "green" - } - ListElement { - name: "Saturday" - dayColor: "orange" - } - } - Flickable { - id: Flick - anchors.fill: parent - viewportWidth: Lay.width - Row { - id: Lay - Repeater { - model: List - Component { - Day { - day: name - color: dayColor - } - } - } - } - } -} diff --git a/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-horizontal.0.png b/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-horizontal.0.png Binary files differnew file mode 100644 index 0000000..d58afd8 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-horizontal.0.png diff --git a/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-horizontal.1.png b/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-horizontal.1.png Binary files differnew file mode 100644 index 0000000..6271bfb --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-horizontal.1.png diff --git a/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-horizontal.2.png b/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-horizontal.2.png Binary files differnew file mode 100644 index 0000000..b6f0241 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-horizontal.2.png diff --git a/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-horizontal.3.png b/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-horizontal.3.png Binary files differnew file mode 100644 index 0000000..d58afd8 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-horizontal.3.png diff --git a/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-horizontal.qml b/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-horizontal.qml new file mode 100644 index 0000000..d5f67bf --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-horizontal.qml @@ -0,0 +1,1199 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 32 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 48 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 64 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 80 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 96 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 112 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 128 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 144 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 160 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 176 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 192 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 208 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 224 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 240 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 256 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 272 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 288 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 304 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 320 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 336 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 352 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 368 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 384 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 400 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 416 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 432 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 448 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 464 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 480 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 496 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 512 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 528 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 544 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 560 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 576 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 592 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 608 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 624 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 640 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 656 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 672 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 688 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 704 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 720 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 736 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 752 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 768 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 784 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 800 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 816 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 832 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 848 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 864 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 880 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 896 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 912 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 928 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 944 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 477; y: 171 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 960 + image: "flickable-horizontal.0.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 473; y: 171 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 976 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 463; y: 171 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 992 + hash: "c4d91a9e7f785ccd50db55f697d75cb9" + } + Frame { + msec: 1008 + hash: "c4d91a9e7f785ccd50db55f697d75cb9" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 449; y: 171 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1024 + hash: "4f054038668f56cf3fc46dee08504b24" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 425; y: 172 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1040 + hash: "e6ae6e2a8e5fb7204ae1f559b5dc4a63" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 393; y: 172 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 393; y: 172 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1056 + hash: "3bfaaef12ca852421ad179d8598a306d" + } + Frame { + msec: 1072 + hash: "e00ff5e13a9a97bc11e041f89e4782f5" + } + Frame { + msec: 1088 + hash: "ae10ada837b21365936672e9a4b4b175" + } + Frame { + msec: 1104 + hash: "63566d7f1707025c9ec37e398d0e69ef" + } + Frame { + msec: 1120 + hash: "20e9d299cd867d680cf85f99e06cd200" + } + Frame { + msec: 1136 + hash: "4d3a19b3c50a20ba1d93a8bcd178a424" + } + Frame { + msec: 1152 + hash: "d373ab5240e438e8234ae05f935c1ef8" + } + Frame { + msec: 1168 + hash: "2f9c00aa1f8a8cc5d10e6c6a0baee366" + } + Frame { + msec: 1184 + hash: "0fd8203b0a33fd8243ecd878f04f9b42" + } + Frame { + msec: 1200 + hash: "24a197df4209c7076d68031e5dd4fd9e" + } + Frame { + msec: 1216 + hash: "9e4271eacdc875183e3c8e7a1eb098c2" + } + Frame { + msec: 1232 + hash: "cdf7aac4ff7e5df806977eb38392f5bc" + } + Frame { + msec: 1248 + hash: "1ace4a1312cad6f173a04c388624a97f" + } + Frame { + msec: 1264 + hash: "193d6d6838ac1d5ddb941fbb340ec506" + } + Frame { + msec: 1280 + hash: "ed82807a48f28610ba9bda0c7ab91ce4" + } + Frame { + msec: 1296 + hash: "e1168bb9a88a972decb0c537d86d7758" + } + Frame { + msec: 1312 + hash: "828ba428b04826687c6ef19b72318924" + } + Frame { + msec: 1328 + hash: "7dae52c428253cf44045ffaabaadd2f4" + } + Frame { + msec: 1344 + hash: "06e2a81e1a2421523642cfcf17ec22e4" + } + Frame { + msec: 1360 + hash: "283997835a54e80c0ab8a0321bd03ce7" + } + Frame { + msec: 1376 + hash: "6354f9379b7b25c8fabda4e5bc3cdf6a" + } + Frame { + msec: 1392 + hash: "6bc87dfd21d59efd3397e3cfb0d00d25" + } + Frame { + msec: 1408 + hash: "4f97fc9aa1f79a6b007a00459386b9ff" + } + Frame { + msec: 1424 + hash: "2b5c711ede124c9e97d3ef83a3fdcc8b" + } + Frame { + msec: 1440 + hash: "5a8cbd4ac3fcd920f2aea6e2cfa96467" + } + Frame { + msec: 1456 + hash: "5b32961cb36e519f5b1d50386e796d3e" + } + Frame { + msec: 1472 + hash: "c91f95cccd38cbd1a16ee65abffd40ab" + } + Frame { + msec: 1488 + hash: "25108050298d3ffc850113971bcf54da" + } + Frame { + msec: 1504 + hash: "6a236881f2a1cb487ee1945c279e020b" + } + Frame { + msec: 1520 + hash: "2df1824df1cf20022595f64d26adb4ad" + } + Frame { + msec: 1536 + hash: "4ca4a0a4b4fd9f9c4846adebcdc8fd67" + } + Frame { + msec: 1552 + hash: "1696ef0862ff4772f960d203c43fbddf" + } + Frame { + msec: 1568 + hash: "c5846835b8eb5d98c481ee5811344ea1" + } + Frame { + msec: 1584 + hash: "fbcb044ee53302de573321b43f068e65" + } + Frame { + msec: 1600 + hash: "d369e0a6c4a3e63102be29a7362ef9eb" + } + Frame { + msec: 1616 + hash: "e93131b881805d4aa44949c69f486821" + } + Frame { + msec: 1632 + hash: "b7aeee9e5065f1d4656e451b542ecf6a" + } + Frame { + msec: 1648 + hash: "05521ca19960c070d5f3dd72c5ade0e4" + } + Frame { + msec: 1664 + hash: "2c68cb3291cf1f892c8b8eb28b409e4d" + } + Frame { + msec: 1680 + hash: "5a0908aea91df2b9e65d222829c2b0ba" + } + Frame { + msec: 1696 + hash: "0d4ff147517eee8b3dbcd51a708b2aa7" + } + Frame { + msec: 1712 + hash: "521e1075de1de89c6e25f469d2728ab7" + } + Frame { + msec: 1728 + hash: "c543447f98ae608058c6c02c8c8665e6" + } + Frame { + msec: 1744 + hash: "ac259db754b7dfb8cce8548527c72e4b" + } + Frame { + msec: 1760 + hash: "bc5b68d5ecfb583ae41001e326b7aa9b" + } + Frame { + msec: 1776 + hash: "e08051cb1ab2d8f979a52dc86411f78f" + } + Frame { + msec: 1792 + hash: "b1746ad9563359f0d70a1aaee62e9bd8" + } + Frame { + msec: 1808 + hash: "5d6bc33ff2857fb8db582362bf7c19c7" + } + Frame { + msec: 1824 + hash: "83f2c3a7124f9be4dbe883a27ca7df8e" + } + Frame { + msec: 1840 + hash: "189f7cfb5ede1f8380b1a05b7e3d942e" + } + Frame { + msec: 1856 + hash: "07b1a4e5ca156e6aa1f3e76b825807ce" + } + Frame { + msec: 1872 + hash: "48b25f0acfe6eb3bc2cb9eb16e6595d0" + } + Frame { + msec: 1888 + hash: "15ae05f5ed098021073c4593587949ea" + } + Frame { + msec: 1904 + hash: "b300f2c75f4aebcf84ed37ad424ca9fa" + } + Frame { + msec: 1920 + image: "flickable-horizontal.1.png" + } + Frame { + msec: 1936 + hash: "7d8ea492fb1c664502e95e085896c569" + } + Frame { + msec: 1952 + hash: "7513b077e073d78b387309b56e1fd44c" + } + Frame { + msec: 1968 + hash: "ed1ac5cf6d4b081983a8e16258f431bf" + } + Frame { + msec: 1984 + hash: "fbb31f23ba6e5d02011363abfb4b3f18" + } + Frame { + msec: 2000 + hash: "6f01df424b38036b9921b4ee1491a1c1" + } + Frame { + msec: 2016 + hash: "11f706dfacbec5c0be0c2f3c5442f717" + } + Frame { + msec: 2032 + hash: "0a70348986f4987f43db3e55af63fca5" + } + Frame { + msec: 2048 + hash: "6f8b7aaad846f83c6349836d7af34662" + } + Frame { + msec: 2064 + hash: "44723b22aad6d2d814e074ff9324f3c4" + } + Frame { + msec: 2080 + hash: "44723b22aad6d2d814e074ff9324f3c4" + } + Frame { + msec: 2096 + hash: "44723b22aad6d2d814e074ff9324f3c4" + } + Frame { + msec: 2112 + hash: "1c12d2c68223324f040b7a693cef2074" + } + Frame { + msec: 2128 + hash: "0a70348986f4987f43db3e55af63fca5" + } + Frame { + msec: 2144 + hash: "bf4de7baf2730cdaf83887d50d577986" + } + Frame { + msec: 2160 + hash: "23ddb2c0793d7161a0d8c5b2a777dceb" + } + Frame { + msec: 2176 + hash: "7513b077e073d78b387309b56e1fd44c" + } + Frame { + msec: 2192 + hash: "83fa82362057466dff6a243a95d423db" + } + Frame { + msec: 2208 + hash: "0e60b632ce511109cb01d2e5ff6945f8" + } + Frame { + msec: 2224 + hash: "78c25194827c4243a16807491f798cdf" + } + Frame { + msec: 2240 + hash: "4c9dc46794d4a32e654395bb9d78409e" + } + Frame { + msec: 2256 + hash: "e996d4f3a0b3a4a4ed29ec23a1ad5615" + } + Frame { + msec: 2272 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2288 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2304 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2320 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2336 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2352 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2368 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2384 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2400 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2416 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2432 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2448 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2464 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2480 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2496 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2512 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2528 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2544 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2560 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2576 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2592 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2608 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2624 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2640 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2656 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2672 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2688 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2704 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2720 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2736 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2752 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2768 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 152; y: 189 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2784 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2800 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2816 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 154; y: 190 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2832 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 169; y: 191 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2848 + hash: "edd015434d7ead96c03a51a2b1c9e527" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 202; y: 192 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2864 + hash: "ea0eda505daea4171e27aac358aa6a4a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 256; y: 192 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2880 + image: "flickable-horizontal.2.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 331; y: 192 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2896 + hash: "34f70dfe1c226e63300112aa9a4a6968" + } + Frame { + msec: 2912 + hash: "34f70dfe1c226e63300112aa9a4a6968" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 395; y: 194 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 395; y: 194 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2928 + hash: "dd61e0ae58d7a344908a10bb97cfcb39" + } + Frame { + msec: 2944 + hash: "14a384c4bdd3e89808761d1e86976170" + } + Frame { + msec: 2960 + hash: "0e82a4920a53239f117448cd0e0b27f2" + } + Frame { + msec: 2976 + hash: "711e29bf6fbbeb7882064adb0619f4ac" + } + Frame { + msec: 2992 + hash: "43307cbfe1688daf300fafc8df0082b8" + } + Frame { + msec: 3008 + hash: "46d788d926c03d85a68b66252e73ae90" + } + Frame { + msec: 3024 + hash: "a0042935ad2d5557c906050d4a3581c9" + } + Frame { + msec: 3040 + hash: "b618a40490ca0aea310f08b452fa8c68" + } + Frame { + msec: 3056 + hash: "e2aaad7f160a6d77dd788c76bb8cb8a7" + } + Frame { + msec: 3072 + hash: "ab5c27fa790c67a6678db0bbae1ae477" + } + Frame { + msec: 3088 + hash: "b43ed7af838cd6edd32393fc56cf8fb1" + } + Frame { + msec: 3104 + hash: "88ac50602c9f27fb5b882ad32d14ff46" + } + Frame { + msec: 3120 + hash: "259af2e080ed93e16cb633fa940c7c08" + } + Frame { + msec: 3136 + hash: "d05bec2351068d552b7bbbf47cf82fad" + } + Frame { + msec: 3152 + hash: "5354b8e07f1ed22950687187ee7a0290" + } + Frame { + msec: 3168 + hash: "3bfaaef12ca852421ad179d8598a306d" + } + Frame { + msec: 3184 + hash: "40d3a77fce7a9a9ca7ae6023fc4cfc10" + } + Frame { + msec: 3200 + hash: "5837c0122aa6b28518f1b7043ead99a9" + } + Frame { + msec: 3216 + hash: "9514d8530275e4642810ac441e8de353" + } + Frame { + msec: 3232 + hash: "3b720882f52340549d8e1b9659443461" + } + Frame { + msec: 3248 + hash: "4de5b95c8f4949a4f1ee9a119940e80a" + } + Frame { + msec: 3264 + hash: "a35097c00483e0b481222e4ad220c7a4" + } + Frame { + msec: 3280 + hash: "82ac348a63a4e358a877a2e45d48e2b1" + } + Frame { + msec: 3296 + hash: "1322108409d1fa87d128f0c44c81ab4b" + } + Frame { + msec: 3312 + hash: "f6b030effcca891ab20073f106b22d73" + } + Frame { + msec: 3328 + hash: "a7ccd998ac2ff2777d9423d704ddef48" + } + Frame { + msec: 3344 + hash: "b6d971a4f3321b7f3632e778ce733589" + } + Frame { + msec: 3360 + hash: "b6d971a4f3321b7f3632e778ce733589" + } + Frame { + msec: 3376 + hash: "b6d971a4f3321b7f3632e778ce733589" + } + Frame { + msec: 3392 + hash: "82ef6700a513e39508fb6de5ef07f1e7" + } + Frame { + msec: 3408 + hash: "9e4c4d479bc0b1a61566eae12416bea6" + } + Frame { + msec: 3424 + hash: "f6b030effcca891ab20073f106b22d73" + } + Frame { + msec: 3440 + hash: "8968acd022a9ba6fcc3ea52bdd7268c4" + } + Frame { + msec: 3456 + hash: "de8f1a1fd680af475173d5f81e85b26c" + } + Frame { + msec: 3472 + hash: "82e8c0c7cb7c2b1e8d7a5fc019533e6b" + } + Frame { + msec: 3488 + hash: "f820d250252cd910af97e5c9be181457" + } + Frame { + msec: 3504 + hash: "a40558c1fbf328d3c891b473b2454020" + } + Frame { + msec: 3520 + hash: "0ef9e64bad67670102e1e4d9ef0e96f3" + } + Frame { + msec: 3536 + hash: "1d8013765ac2d3fe09ccaa6db098a208" + } + Frame { + msec: 3552 + hash: "1d8013765ac2d3fe09ccaa6db098a208" + } + Frame { + msec: 3568 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3584 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3600 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3616 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3632 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3648 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3664 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3680 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3696 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3712 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3728 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3744 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3760 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3776 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3792 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3808 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3824 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3840 + image: "flickable-horizontal.3.png" + } + Frame { + msec: 3856 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3872 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3888 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3904 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3920 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3936 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3952 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3968 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3984 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4000 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4016 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4032 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4048 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4064 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4080 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4096 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4112 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4128 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4144 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4160 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 4176 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4192 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4208 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4224 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4240 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4256 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } +} diff --git a/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-vertical.0.png b/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-vertical.0.png Binary files differnew file mode 100644 index 0000000..2187f8e --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-vertical.0.png diff --git a/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-vertical.1.png b/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-vertical.1.png Binary files differnew file mode 100644 index 0000000..cf3e770 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-vertical.1.png diff --git a/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-vertical.2.png b/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-vertical.2.png Binary files differnew file mode 100644 index 0000000..8a1554a --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-vertical.2.png diff --git a/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-vertical.qml b/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-vertical.qml new file mode 100644 index 0000000..cb8df62 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsflickable/data/flickable-vertical.qml @@ -0,0 +1,1107 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 32 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 48 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 64 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 80 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 96 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 112 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 128 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 144 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 160 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 176 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 192 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 208 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 224 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 240 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 256 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 272 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 288 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 304 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 320 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 336 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 352 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 368 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 384 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 400 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 416 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 432 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 448 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 464 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 480 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 496 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 512 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 528 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 544 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 560 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 576 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 592 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 608 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 624 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 640 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 656 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 672 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 688 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 704 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 720 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 736 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 752 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 768 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 784 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 800 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 202; y: 486 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 816 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 832 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 202; y: 484 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 848 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 202; y: 476 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 864 + hash: "7ee6361319fa538204cece6cfdfd6ec0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 202; y: 466 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 880 + hash: "aac822b5bfed36a6574b00e1c2da7768" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 204; y: 448 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 896 + hash: "356a2162d597298c5295e2d62ee6f185" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 207; y: 420 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 912 + hash: "cc72b8b9fe2f8f2a14559f3e1ef07b62" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 208; y: 380 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 928 + hash: "38e6fdcd1ed7d93369a2585172e693a5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 208; y: 334 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 208; y: 334 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 944 + hash: "5060aa07416f909ce62debcb7dc41f59" + } + Frame { + msec: 960 + image: "flickable-vertical.0.png" + } + Frame { + msec: 976 + hash: "ff2a52636ef08cc1c50017a932d1d7a2" + } + Frame { + msec: 992 + hash: "951e80e2015f0ea4d3a4a625453df725" + } + Frame { + msec: 1008 + hash: "9cb54b41349e62192e4f58b458d02114" + } + Frame { + msec: 1024 + hash: "b2e2bb3805facc5051d1a07d9a2c1148" + } + Frame { + msec: 1040 + hash: "00e22e1a119d50c111b33473530aed79" + } + Frame { + msec: 1056 + hash: "1226183cd5118b785ae3dd0d45417434" + } + Frame { + msec: 1072 + hash: "50d41bff31234d7b3fa5081ae418ffba" + } + Frame { + msec: 1088 + hash: "8ecc7dc39bd17c6baecd0998fbf6937e" + } + Frame { + msec: 1104 + hash: "40ae10e92f7bcc791bf433ab8de538b9" + } + Frame { + msec: 1120 + hash: "6fb7d01b1c9d486100af56121eff60d5" + } + Frame { + msec: 1136 + hash: "fa5f7adad0a1e5ff06902860aa4f8248" + } + Frame { + msec: 1152 + hash: "67081124a7f909b9366cce1cbc89b03c" + } + Frame { + msec: 1168 + hash: "7ccee35625f4daf9b97c0929f9eb14ae" + } + Frame { + msec: 1184 + hash: "db9b8bab0f2c71be0fb8d10d57199533" + } + Frame { + msec: 1200 + hash: "81a01620e28817c476fdda383183dc0e" + } + Frame { + msec: 1216 + hash: "8f99dd630d547c3ffb74048b5e557dab" + } + Frame { + msec: 1232 + hash: "15b90b0f3f0ecbea02c1c0a096b0375c" + } + Frame { + msec: 1248 + hash: "411d7b73389bf23019f4db6e4e8aec40" + } + Frame { + msec: 1264 + hash: "8cb8d626658d5a244be2efceb6cc0caa" + } + Frame { + msec: 1280 + hash: "a4c09ac39ce6fd73e374fb7830362d28" + } + Frame { + msec: 1296 + hash: "34f372f9f4edef7eaf806312178b6229" + } + Frame { + msec: 1312 + hash: "e60a578e183a8b0f650d55f5ae53af47" + } + Frame { + msec: 1328 + hash: "92ad03e47c3011594cbe9eacea96b567" + } + Frame { + msec: 1344 + hash: "8c11b1658e99644966586672f0ed795a" + } + Frame { + msec: 1360 + hash: "ee39e7ef14ac135d893c309395c7325b" + } + Frame { + msec: 1376 + hash: "f4569fa1ae5d06bcf6a3d7fa07a79d36" + } + Frame { + msec: 1392 + hash: "5b3a74d2e33848d27bc39ac68b18f1cb" + } + Frame { + msec: 1408 + hash: "3037e5c910247bfa05664fc4f88b329a" + } + Frame { + msec: 1424 + hash: "134ff2884f7a4ccb5b0b5022331ac981" + } + Frame { + msec: 1440 + hash: "8e8335263e26f24bb88df0b86ccdef1e" + } + Frame { + msec: 1456 + hash: "c976d8abcd6511dc263bada0de531535" + } + Frame { + msec: 1472 + hash: "8b09b7bffc48df791f8044fa8fd8c810" + } + Frame { + msec: 1488 + hash: "ff82a1f8070f76e8de314ef8cd800031" + } + Frame { + msec: 1504 + hash: "98f720a9ab7cc824c0971d6e29954863" + } + Frame { + msec: 1520 + hash: "98f720a9ab7cc824c0971d6e29954863" + } + Frame { + msec: 1536 + hash: "98a1cad92ec9d8eeae93eb3894ee65ef" + } + Frame { + msec: 1552 + hash: "6d0a08623d30aa0bbca1acd6f84db84f" + } + Frame { + msec: 1568 + hash: "473e40326f5e2059a2bf3d6d03a96aca" + } + Frame { + msec: 1584 + hash: "c976d8abcd6511dc263bada0de531535" + } + Frame { + msec: 1600 + hash: "196df7fdcb6ee4cfafb724b72a9dbab5" + } + Frame { + msec: 1616 + hash: "8cf6ecc49e016f1543529826cad71e20" + } + Frame { + msec: 1632 + hash: "63ce337f006b71999e9b07f5feacfc3f" + } + Frame { + msec: 1648 + hash: "3ac7c056389764e33c77df0b08b3fb3d" + } + Frame { + msec: 1664 + hash: "ef788c78a0e35d70e219af3a46b93a23" + } + Frame { + msec: 1680 + hash: "0ea550b3f88a925b0293153ce3044fc3" + } + Frame { + msec: 1696 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 1712 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 1728 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 1744 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 1760 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 1776 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 1792 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 1808 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 1824 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 1840 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 1856 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 1872 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 1888 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 1904 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 1920 + image: "flickable-vertical.1.png" + } + Frame { + msec: 1936 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 1952 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 1968 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 1984 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 2000 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 2016 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 2032 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 2048 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 2064 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 2080 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 2096 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 2112 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 2128 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 2144 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 2160 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 209; y: 122 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 208; y: 122 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2176 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 208; y: 124 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2192 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Frame { + msec: 2208 + hash: "9ca67bbd73fefc521819df517e6a0ecf" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 207; y: 130 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 206; y: 141 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2224 + hash: "2121160b0cab27b1b5f1d29b463f4c15" + } + Frame { + msec: 2240 + hash: "2121160b0cab27b1b5f1d29b463f4c15" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 205; y: 160 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2256 + hash: "22ea9a42269540113c3f83eb1e8d47af" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 204; y: 188 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2272 + hash: "e0534106f487317ed11ce5c0cc41315f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 204; y: 226 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2288 + hash: "fcfca6b84764d04f6750754e3e880703" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 207; y: 272 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2304 + hash: "939e7ee0446e39926531e202a1117968" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 210; y: 322 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 210; y: 322 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2320 + hash: "301ab8202173c104a5eada9ff98e9972" + } + Frame { + msec: 2336 + hash: "c8fe58c0ab2afbd7afe0887143b52fc4" + } + Frame { + msec: 2352 + hash: "8a1d3c0f7e1ad817ba9bfd28272afa08" + } + Frame { + msec: 2368 + hash: "28f48036d03696abb890fed65adeb4e8" + } + Frame { + msec: 2384 + hash: "963d9bf16016c191be09a325575e4939" + } + Frame { + msec: 2400 + hash: "fb69cf91ae5cae41692e97e7dd670ef8" + } + Frame { + msec: 2416 + hash: "451552f0598cc9ebf7abc682450716bb" + } + Frame { + msec: 2432 + hash: "ea15dd0b1fd64608d56cd89cf85758cb" + } + Frame { + msec: 2448 + hash: "f3810b0a2e3bd1965648d2f8aac071e4" + } + Frame { + msec: 2464 + hash: "2d049055ac110f3fb9889a5aa8c7e40f" + } + Frame { + msec: 2480 + hash: "58cb05fb96601e068d94839e23fe5d5c" + } + Frame { + msec: 2496 + hash: "7bf16d64e31f7689852ecd30edde91a5" + } + Frame { + msec: 2512 + hash: "07f8a7336649e7bd0175033af61e7c13" + } + Frame { + msec: 2528 + hash: "5f14c8d4d4df78bb980316d5504b18c5" + } + Frame { + msec: 2544 + hash: "dfd747f34771af04f53509975ad2e55a" + } + Frame { + msec: 2560 + hash: "b81eb1626f100a52d9da05c79f24d83b" + } + Frame { + msec: 2576 + hash: "1febbc750e271153a93c61a244723b34" + } + Frame { + msec: 2592 + hash: "b604470f6621930b3022c7b1d1190ab1" + } + Frame { + msec: 2608 + hash: "0563d86b925b1f32542efd6c5012df9f" + } + Frame { + msec: 2624 + hash: "2d92ae71cc424a8d5bd20de4664b37ae" + } + Frame { + msec: 2640 + hash: "f9122195cd14c767ca373090f2ecec87" + } + Frame { + msec: 2656 + hash: "74c6e3a107666609054737252df1ad86" + } + Frame { + msec: 2672 + hash: "8845ca88445b5317863ac50db511b9fb" + } + Frame { + msec: 2688 + hash: "0fed9f5fe46073fd0cbacdf66e9d8619" + } + Frame { + msec: 2704 + hash: "caaec9b6f8d17a72224eb14bd7dccc84" + } + Frame { + msec: 2720 + hash: "e41245a9c1d8ebbf2ebd695e06e5ea09" + } + Frame { + msec: 2736 + hash: "f0ec12f7a8a5c5f82afbd5db71a22945" + } + Frame { + msec: 2752 + hash: "286fc5815c3097c88ad5059c88f54ecb" + } + Frame { + msec: 2768 + hash: "b4ffa4c9aebdcbf9bbf19e0de70142dd" + } + Frame { + msec: 2784 + hash: "758675faec11cd74517c95255a7f64e2" + } + Frame { + msec: 2800 + hash: "758675faec11cd74517c95255a7f64e2" + } + Frame { + msec: 2816 + hash: "8f7cae2c23f1becfde192934db12ba03" + } + Frame { + msec: 2832 + hash: "286fc5815c3097c88ad5059c88f54ecb" + } + Frame { + msec: 2848 + hash: "2e3e8e53074ddef149367edffe7b430e" + } + Frame { + msec: 2864 + hash: "8765816b08838bf96415879faf094830" + } + Frame { + msec: 2880 + image: "flickable-vertical.2.png" + } + Frame { + msec: 2896 + hash: "7a55c3562be2471f91268ccf76f0a6d8" + } + Frame { + msec: 2912 + hash: "1258f71c1c27a2101e600785a19fa305" + } + Frame { + msec: 2928 + hash: "9a0e0ac06bbe83987ece38124c7ada92" + } + Frame { + msec: 2944 + hash: "0fed9f5fe46073fd0cbacdf66e9d8619" + } + Frame { + msec: 2960 + hash: "04cd9d6996e4ce039646d1ce87cb5882" + } + Frame { + msec: 2976 + hash: "04cd9d6996e4ce039646d1ce87cb5882" + } + Frame { + msec: 2992 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3008 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3024 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3040 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3056 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3072 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3088 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3104 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3120 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3136 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3152 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3168 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3184 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3200 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3216 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3232 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3248 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3264 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3280 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3296 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3312 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3328 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3344 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3360 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3376 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3392 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3408 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3424 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3440 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3456 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3472 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3488 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3504 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3520 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3536 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3552 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3568 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3584 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3600 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 3616 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3632 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3648 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3664 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3680 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3696 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3712 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } + Frame { + msec: 3728 + hash: "12f8ae38d58e978d78bf83c7c339537d" + } +} diff --git a/tests/auto/declarative/visual/qmlgraphicsflickable/flickable-horizontal.qml b/tests/auto/declarative/visual/qmlgraphicsflickable/flickable-horizontal.qml new file mode 100644 index 0000000..2b4f55d --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsflickable/flickable-horizontal.qml @@ -0,0 +1,37 @@ +import Qt 4.6 + +Rectangle { + color: "lightSteelBlue" + width: 600; height: 300 + + ListModel { + id: List + ListElement { dayColor: "steelblue" } + ListElement { dayColor: "blue" } + ListElement { dayColor: "yellow" } + ListElement { dayColor: "purple" } + ListElement { dayColor: "red" } + ListElement { dayColor: "green" } + ListElement { dayColor: "orange" } + } + + Flickable { + id: Flick + anchors.fill: parent; viewportWidth: row.width + + Row { + id: row + Repeater { + model: List + Rectangle { width: 200; height: 300; color: dayColor } + } + } + } + Rectangle { + radius: 3 + y: Flick.height-8 + height: 8 + x: Flick.visibleArea.xPosition * Flick.width + width: Flick.visibleArea.widthRatio * Flick.width + } +} diff --git a/tests/auto/declarative/visual/qmlgraphicsflickable/flickable-vertical.qml b/tests/auto/declarative/visual/qmlgraphicsflickable/flickable-vertical.qml new file mode 100644 index 0000000..0d6bbed --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsflickable/flickable-vertical.qml @@ -0,0 +1,37 @@ +import Qt 4.6 + +Rectangle { + color: "lightSteelBlue" + width: 300; height: 600 + + ListModel { + id: List + ListElement { dayColor: "steelblue" } + ListElement { dayColor: "blue" } + ListElement { dayColor: "yellow" } + ListElement { dayColor: "purple" } + ListElement { dayColor: "red" } + ListElement { dayColor: "green" } + ListElement { dayColor: "orange" } + } + + Flickable { + id: Flick + anchors.fill: parent; viewportHeight: column.height + + Column { + id: column + Repeater { + model: List + Rectangle { width: 300; height: 200; color: dayColor } + } + } + } + Rectangle { + radius: 3 + x: Flick.width-8 + width: 8 + y: Flick.visibleArea.yPosition * Flick.height + height: Flick.visibleArea.heightRatio * Flick.height + } +} diff --git a/tests/auto/declarative/visual/webview/zooming/renderControl.html b/tests/auto/declarative/visual/webview/zooming/renderControl.html new file mode 100644 index 0000000..1a01a33 --- /dev/null +++ b/tests/auto/declarative/visual/webview/zooming/renderControl.html @@ -0,0 +1,7 @@ +<html> +<body> +<h1>Render Control</h1> +<p> +This test shows how zooming and panning can be +optimized for speed over quality by delaying rendering. +<img src="qtlogo.png"> |