diff options
Diffstat (limited to 'tests/auto/qtquick1/qdeclarativeloader')
27 files changed, 0 insertions, 868 deletions
diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/AnchoredLoader.qml b/tests/auto/qtquick1/qdeclarativeloader/data/AnchoredLoader.qml deleted file mode 100644 index 7654c07408..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/AnchoredLoader.qml +++ /dev/null @@ -1,14 +0,0 @@ -import QtQuick 1.0 - -Rectangle { - width: 300 - height: 200 - color: "blue" - Loader { - objectName: "loader" - anchors.fill: parent - sourceComponent: Component { - Rectangle { color: "red"; objectName: "sourceElement" } - } - } -} diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/BlueRect.qml b/tests/auto/qtquick1/qdeclarativeloader/data/BlueRect.qml deleted file mode 100644 index d2da64d263..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/BlueRect.qml +++ /dev/null @@ -1,8 +0,0 @@ -import QtQuick 1.0 - -Rectangle { - objectName: "blue" - width: 100 - height: 100 - color: "blue" -} diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/CreationContextLoader.qml b/tests/auto/qtquick1/qdeclarativeloader/data/CreationContextLoader.qml deleted file mode 100644 index bfc9a8dd8a..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/CreationContextLoader.qml +++ /dev/null @@ -1,15 +0,0 @@ -import QtQuick 1.0 - -Loader { - id: myLoader - property int testProperty: 1912 - sourceComponent: loaderComponent - Component { - id: loaderComponent - Item { - Component.onCompleted: { - test = (myLoader.testProperty == 1912); - } - } - } -} diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/GraphicsWidget250x250.qml b/tests/auto/qtquick1/qdeclarativeloader/data/GraphicsWidget250x250.qml deleted file mode 100644 index 139657bf2c..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/GraphicsWidget250x250.qml +++ /dev/null @@ -1,5 +0,0 @@ -import QtQuick 1.0 - -QGraphicsWidget { - size: "250x250" -} diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/GreenRect.qml b/tests/auto/qtquick1/qdeclarativeloader/data/GreenRect.qml deleted file mode 100644 index 5aeb81e918..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/GreenRect.qml +++ /dev/null @@ -1,7 +0,0 @@ -import QtQuick 1.0 - -Rectangle { - width: 100; height: 100 - color: "green" - Component.onCompleted: myLoader.source = "BlueRect.qml" -} diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/NoResize.qml b/tests/auto/qtquick1/qdeclarativeloader/data/NoResize.qml deleted file mode 100644 index bb1030ef9d..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/NoResize.qml +++ /dev/null @@ -1,8 +0,0 @@ -import QtQuick 1.0 - -Item { - width: 200; height: 80 - Loader { - source: "Rect120x60.qml" - } -} diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/NoResizeGraphicsWidget.qml b/tests/auto/qtquick1/qdeclarativeloader/data/NoResizeGraphicsWidget.qml deleted file mode 100644 index 5a31eff545..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/NoResizeGraphicsWidget.qml +++ /dev/null @@ -1,9 +0,0 @@ -import QtQuick 1.0 - -Item { - width: 200 - height: 80 - Loader { - source: "GraphicsWidget250x250.qml" - } -} diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/QTBUG_16928.qml b/tests/auto/qtquick1/qdeclarativeloader/data/QTBUG_16928.qml deleted file mode 100644 index 9949e346f9..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/QTBUG_16928.qml +++ /dev/null @@ -1,23 +0,0 @@ -import QtQuick 1.1 - -Rectangle { - color: "green" - width: loader.implicitWidth+50 - height: loader.implicitHeight+50 - - Loader { - id: loader - sourceComponent: Item { - anchors.centerIn: parent - - implicitWidth: 200 - implicitHeight: 200 - Rectangle { - color: "red" - anchors.fill: parent - } - } - anchors.fill: parent - anchors.margins: 15 - } -} diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/QTBUG_17114.qml b/tests/auto/qtquick1/qdeclarativeloader/data/QTBUG_17114.qml deleted file mode 100644 index 8a49733a8c..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/QTBUG_17114.qml +++ /dev/null @@ -1,18 +0,0 @@ -import QtQuick 1.1 - -Rectangle { - property real loaderWidth: loader.width - property real loaderHeight: loader.height - width: 200 - height: 200 - - Loader { - id: loader - sourceComponent: Item { - property real iwidth: 32 - property real iheight: 32 - width: iwidth - height: iheight - } - } -} diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/Rect120x60.qml b/tests/auto/qtquick1/qdeclarativeloader/data/Rect120x60.qml deleted file mode 100644 index 5a352844c3..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/Rect120x60.qml +++ /dev/null @@ -1,6 +0,0 @@ -import QtQuick 1.0 - -Rectangle { - width: 120 - height:60 -} diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/SetSourceComponent.qml b/tests/auto/qtquick1/qdeclarativeloader/data/SetSourceComponent.qml deleted file mode 100644 index fa2d3cb325..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/SetSourceComponent.qml +++ /dev/null @@ -1,9 +0,0 @@ -import QtQuick 1.0 - -Item { - function clear() { - loader.sourceComponent = undefined - } - Component { id: comp; Rectangle { width: 100; height: 50 } } - Loader { id: loader; sourceComponent: comp } -} diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/SizeGraphicsWidgetToLoader.qml b/tests/auto/qtquick1/qdeclarativeloader/data/SizeGraphicsWidgetToLoader.qml deleted file mode 100644 index a855947c59..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/SizeGraphicsWidgetToLoader.qml +++ /dev/null @@ -1,7 +0,0 @@ -import QtQuick 1.0 - -Loader { - width: 200 - height: 80 - source: "GraphicsWidget250x250.qml" -} diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/SizeLoaderToGraphicsWidget.qml b/tests/auto/qtquick1/qdeclarativeloader/data/SizeLoaderToGraphicsWidget.qml deleted file mode 100644 index b6fd57f590..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/SizeLoaderToGraphicsWidget.qml +++ /dev/null @@ -1,5 +0,0 @@ -import QtQuick 1.0 - -Loader { - source: "GraphicsWidget250x250.qml" -} diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/SizeToItem.qml b/tests/auto/qtquick1/qdeclarativeloader/data/SizeToItem.qml deleted file mode 100644 index 36ce9912f1..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/SizeToItem.qml +++ /dev/null @@ -1,5 +0,0 @@ -import QtQuick 1.0 - -Loader { - source: "Rect120x60.qml" -} diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/SizeToLoader.qml b/tests/auto/qtquick1/qdeclarativeloader/data/SizeToLoader.qml deleted file mode 100644 index 4fa945b300..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/SizeToLoader.qml +++ /dev/null @@ -1,6 +0,0 @@ -import QtQuick 1.0 - -Loader { - width: 200; height: 80 - source: "Rect120x60.qml" -} diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/VmeError.qml b/tests/auto/qtquick1/qdeclarativeloader/data/VmeError.qml deleted file mode 100644 index a36c246260..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/VmeError.qml +++ /dev/null @@ -1,7 +0,0 @@ -import QtQuick 1.0 - -Rectangle { - width: 100; height: 100; color: "red" - signal somethingHappened - onSomethingHappened: QtObject {} -} diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/crash.qml b/tests/auto/qtquick1/qdeclarativeloader/data/crash.qml deleted file mode 100644 index c7a4407add..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/crash.qml +++ /dev/null @@ -1,14 +0,0 @@ -import QtQuick 1.0 - -Rectangle { - width: 400 - height: 400 - - function setLoaderSource() { - myLoader.source = "GreenRect.qml" - } - - Loader { - id: myLoader - } -} diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/creationContext.qml b/tests/auto/qtquick1/qdeclarativeloader/data/creationContext.qml deleted file mode 100644 index 529797867f..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/creationContext.qml +++ /dev/null @@ -1,8 +0,0 @@ -import QtQuick 1.0 - -Item { - property bool test: false - - CreationContextLoader { - } -} diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/differentorigin.qml b/tests/auto/qtquick1/qdeclarativeloader/data/differentorigin.qml deleted file mode 100644 index 043ce5555e..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/differentorigin.qml +++ /dev/null @@ -1,3 +0,0 @@ -import QtQuick 1.0 - -Loader { source: "http://evil.place/evil.qml" } diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/implicitSize.qml b/tests/auto/qtquick1/qdeclarativeloader/data/implicitSize.qml deleted file mode 100644 index 53aad97ae1..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/implicitSize.qml +++ /dev/null @@ -1,28 +0,0 @@ -import QtQuick 1.1 - -Rectangle { - property real implWidth: 0 - property real implHeight: 0 - color: "green" - width: loader.implicitWidth+50 - height: loader.implicitHeight+50 - - Loader { - id: loader - sourceComponent: Item { - anchors.centerIn: parent - - implicitWidth: 100 - implicitHeight: 100 - Rectangle { - color: "red" - anchors.fill: parent - } - } - - anchors.fill: parent - anchors.margins: 50 - onImplicitWidthChanged: implWidth = implicitWidth - onImplicitHeightChanged: implHeight = loader.implicitHeight - } -} diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/nonItem.qml b/tests/auto/qtquick1/qdeclarativeloader/data/nonItem.qml deleted file mode 100644 index 1d0ab5c10d..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/nonItem.qml +++ /dev/null @@ -1,5 +0,0 @@ -import QtQuick 1.0 - -Loader { - sourceComponent: QtObject {} -} diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/qmldir b/tests/auto/qtquick1/qdeclarativeloader/data/qmldir deleted file mode 100644 index bf42b507c0..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/qmldir +++ /dev/null @@ -1 +0,0 @@ -# For tst_QDeclarativeLoader::networkRequestUrl; no types needed though. diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/sameorigin-load.qml b/tests/auto/qtquick1/qdeclarativeloader/data/sameorigin-load.qml deleted file mode 100644 index dbea969395..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/sameorigin-load.qml +++ /dev/null @@ -1,3 +0,0 @@ -import QtQuick 1.0 - -Item { } diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/sameorigin.qml b/tests/auto/qtquick1/qdeclarativeloader/data/sameorigin.qml deleted file mode 100644 index 8ba13a0493..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/sameorigin.qml +++ /dev/null @@ -1,3 +0,0 @@ -import QtQuick 1.0 - -Loader { source: "sameorigin-load.qml" } diff --git a/tests/auto/qtquick1/qdeclarativeloader/data/vmeErrors.qml b/tests/auto/qtquick1/qdeclarativeloader/data/vmeErrors.qml deleted file mode 100644 index cfced31da5..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/data/vmeErrors.qml +++ /dev/null @@ -1,6 +0,0 @@ -import QtQuick 1.0 - -Loader { - source: "VmeError.qml" -} - diff --git a/tests/auto/qtquick1/qdeclarativeloader/qdeclarativeloader.pro b/tests/auto/qtquick1/qdeclarativeloader/qdeclarativeloader.pro deleted file mode 100644 index 0e4df8d3da..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/qdeclarativeloader.pro +++ /dev/null @@ -1,14 +0,0 @@ -CONFIG += testcase -TARGET = tst_qdeclarativeloader -macx:CONFIG -= app_bundle - -INCLUDEPATH += ../../shared/ -HEADERS += ../../shared/testhttpserver.h -SOURCES += tst_qdeclarativeloader.cpp \ - ../../shared/testhttpserver.cpp - -DEFINES += SRCDIR=\\\"$$PWD\\\" - -CONFIG += parallel_test - -QT += core-private gui-private widgets-private declarative-private qtquick1-private network testlib diff --git a/tests/auto/qtquick1/qdeclarativeloader/tst_qdeclarativeloader.cpp b/tests/auto/qtquick1/qdeclarativeloader/tst_qdeclarativeloader.cpp deleted file mode 100644 index 6f98cf39a8..0000000000 --- a/tests/auto/qtquick1/qdeclarativeloader/tst_qdeclarativeloader.cpp +++ /dev/null @@ -1,631 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this -** file. Please review the following information to ensure the GNU Lesser -** General Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU General -** Public License version 3.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of this -** file. Please review the following information to ensure the GNU General -** Public License version 3.0 requirements will be met: -** http://www.gnu.org/copyleft/gpl.html. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#include <qtest.h> -#include <QtWidgets/QGraphicsWidget> -#include <QtWidgets/QGraphicsScene> - -#include <QSignalSpy> -#include <QtDeclarative/qdeclarativeengine.h> -#include <QtDeclarative/qdeclarativecomponent.h> -#include <QtQuick1/private/qdeclarativeloader_p.h> -#include "testhttpserver.h" - -#define SERVER_PORT 14450 - -inline QUrl TEST_FILE(const QString &filename) -{ - return QUrl::fromLocalFile(QLatin1String(SRCDIR) + QLatin1String("/data/") + filename); -} - -class tst_QDeclarative1Loader : public QObject - -{ - Q_OBJECT -public: - tst_QDeclarative1Loader(); - -private slots: - void sourceOrComponent(); - void sourceOrComponent_data(); - void clear(); - void urlToComponent(); - void componentToUrl(); - void anchoredLoader(); - void sizeLoaderToItem(); - void sizeItemToLoader(); - void noResize(); - void sizeLoaderToGraphicsWidget(); - void sizeGraphicsWidgetToLoader(); - void noResizeGraphicsWidget(); - void networkRequestUrl(); - void failNetworkRequest(); -// void networkComponent(); - - void deleteComponentCrash(); - void nonItem(); - void vmeErrors(); - void creationContext(); - void QTBUG_16928(); - void implicitSize(); - void QTBUG_17114(); - -private: - QDeclarativeEngine engine; -}; - - -tst_QDeclarative1Loader::tst_QDeclarative1Loader() -{ -} - -void tst_QDeclarative1Loader::sourceOrComponent() -{ - QFETCH(QString, sourceDefinition); - QFETCH(QUrl, sourceUrl); - QFETCH(QString, errorString); - - bool error = !errorString.isEmpty(); - if (error) - QTest::ignoreMessage(QtWarningMsg, errorString.toUtf8().constData()); - - QDeclarativeComponent component(&engine); - component.setData(QByteArray( - "import QtQuick 1.0\n" - "Loader {\n" - " property int onItemChangedCount: 0\n" - " property int onSourceChangedCount: 0\n" - " property int onStatusChangedCount: 0\n" - " property int onProgressChangedCount: 0\n" - " property int onLoadedCount: 0\n") - + sourceDefinition.toUtf8() - + QByteArray( - " onItemChanged: onItemChangedCount += 1\n" - " onSourceChanged: onSourceChangedCount += 1\n" - " onStatusChanged: onStatusChangedCount += 1\n" - " onProgressChanged: onProgressChangedCount += 1\n" - " onLoaded: onLoadedCount += 1\n" - "}") - , TEST_FILE("")); - - QDeclarative1Loader *loader = qobject_cast<QDeclarative1Loader*>(component.create()); - QVERIFY(loader != 0); - QCOMPARE(loader->item() == 0, error); - QCOMPARE(loader->source(), sourceUrl); - QCOMPARE(loader->progress(), 1.0); - - QCOMPARE(loader->status(), error ? QDeclarative1Loader::Error : QDeclarative1Loader::Ready); - QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), error ? 0: 1); - - if (!error) { - QDeclarativeComponent *c = qobject_cast<QDeclarativeComponent*>(loader->QGraphicsObject::children().at(0)); - QVERIFY(c); - QCOMPARE(loader->sourceComponent(), c); - } - - QCOMPARE(loader->property("onSourceChangedCount").toInt(), 1); - QCOMPARE(loader->property("onStatusChangedCount").toInt(), 1); - QCOMPARE(loader->property("onProgressChangedCount").toInt(), 1); - - QCOMPARE(loader->property("onItemChangedCount").toInt(), error ? 0 : 1); - QCOMPARE(loader->property("onLoadedCount").toInt(), error ? 0 : 1); - - delete loader; -} - -void tst_QDeclarative1Loader::sourceOrComponent_data() -{ - QTest::addColumn<QString>("sourceDefinition"); - QTest::addColumn<QUrl>("sourceUrl"); - QTest::addColumn<QString>("errorString"); - - QTest::newRow("source") << "source: 'Rect120x60.qml'\n" << QUrl::fromLocalFile(SRCDIR "/data/Rect120x60.qml") << ""; - QTest::newRow("sourceComponent") << "Component { id: comp; Rectangle { width: 100; height: 50 } }\n sourceComponent: comp\n" << QUrl() << ""; - - QTest::newRow("invalid source") << "source: 'IDontExist.qml'\n" << QUrl::fromLocalFile(SRCDIR "/data/IDontExist.qml") - << QString(QUrl::fromLocalFile(SRCDIR "/data/IDontExist.qml").toString() + ": File not found"); -} - -void tst_QDeclarative1Loader::clear() -{ - { - QDeclarativeComponent component(&engine); - component.setData(QByteArray( - "import QtQuick 1.0\n" - " Loader { id: loader\n" - " source: 'Rect120x60.qml'\n" - " Timer { interval: 200; running: true; onTriggered: loader.source = '' }\n" - " }") - , TEST_FILE("")); - QDeclarative1Loader *loader = qobject_cast<QDeclarative1Loader*>(component.create()); - QVERIFY(loader != 0); - QVERIFY(loader->item()); - QCOMPARE(loader->progress(), 1.0); - QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 1); - - QTRY_VERIFY(loader->item() == 0); - QCOMPARE(loader->progress(), 0.0); - QCOMPARE(loader->status(), QDeclarative1Loader::Null); - QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 0); - - delete loader; - } - { - QDeclarativeComponent component(&engine, TEST_FILE("/SetSourceComponent.qml")); - QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(component.create()); - QVERIFY(item); - - QDeclarative1Loader *loader = qobject_cast<QDeclarative1Loader*>(item->QGraphicsObject::children().at(1)); - QVERIFY(loader); - QVERIFY(loader->item()); - QCOMPARE(loader->progress(), 1.0); - QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 1); - - loader->setSourceComponent(0); - - QVERIFY(loader->item() == 0); - QCOMPARE(loader->progress(), 0.0); - QCOMPARE(loader->status(), QDeclarative1Loader::Null); - QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 0); - - delete item; - } - { - QDeclarativeComponent component(&engine, TEST_FILE("/SetSourceComponent.qml")); - QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(component.create()); - QVERIFY(item); - - QDeclarative1Loader *loader = qobject_cast<QDeclarative1Loader*>(item->QGraphicsObject::children().at(1)); - QVERIFY(loader); - QVERIFY(loader->item()); - QCOMPARE(loader->progress(), 1.0); - QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 1); - - QMetaObject::invokeMethod(item, "clear"); - - QVERIFY(loader->item() == 0); - QCOMPARE(loader->progress(), 0.0); - QCOMPARE(loader->status(), QDeclarative1Loader::Null); - QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 0); - - delete item; - } -} - -void tst_QDeclarative1Loader::urlToComponent() -{ - QDeclarativeComponent component(&engine); - component.setData(QByteArray("import QtQuick 1.0\n" - "Loader {\n" - " id: loader\n" - " Component { id: myComp; Rectangle { width: 10; height: 10 } }\n" - " source: \"Rect120x60.qml\"\n" - " Timer { interval: 100; running: true; onTriggered: loader.sourceComponent = myComp }\n" - "}" ) - , TEST_FILE("")); - QDeclarative1Loader *loader = qobject_cast<QDeclarative1Loader*>(component.create()); - QTest::qWait(200); - QTRY_VERIFY(loader != 0); - QVERIFY(loader->item()); - QCOMPARE(loader->progress(), 1.0); - QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 1); - QCOMPARE(loader->width(), 10.0); - QCOMPARE(loader->height(), 10.0); - - delete loader; -} - -void tst_QDeclarative1Loader::componentToUrl() -{ - QDeclarativeComponent component(&engine, TEST_FILE("/SetSourceComponent.qml")); - QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(component.create()); - QVERIFY(item); - - QDeclarative1Loader *loader = qobject_cast<QDeclarative1Loader*>(item->QGraphicsObject::children().at(1)); - QVERIFY(loader); - QVERIFY(loader->item()); - QCOMPARE(loader->progress(), 1.0); - QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 1); - - loader->setSource(TEST_FILE("/Rect120x60.qml")); - QVERIFY(loader->item()); - QCOMPARE(loader->progress(), 1.0); - QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 1); - QCOMPARE(loader->width(), 120.0); - QCOMPARE(loader->height(), 60.0); - - delete item; -} - -void tst_QDeclarative1Loader::anchoredLoader() -{ - QDeclarativeComponent component(&engine, TEST_FILE("/AnchoredLoader.qml")); - QDeclarativeItem *rootItem = qobject_cast<QDeclarativeItem*>(component.create()); - QVERIFY(rootItem != 0); - QDeclarativeItem *loader = rootItem->findChild<QDeclarativeItem*>("loader"); - QDeclarativeItem *sourceElement = rootItem->findChild<QDeclarativeItem*>("sourceElement"); - - QVERIFY(loader != 0); - QVERIFY(sourceElement != 0); - - QCOMPARE(rootItem->width(), 300.0); - QCOMPARE(rootItem->height(), 200.0); - - QCOMPARE(loader->width(), 300.0); - QCOMPARE(loader->height(), 200.0); - - QCOMPARE(sourceElement->width(), 300.0); - QCOMPARE(sourceElement->height(), 200.0); -} - -void tst_QDeclarative1Loader::sizeLoaderToItem() -{ - QDeclarativeComponent component(&engine, TEST_FILE("/SizeToItem.qml")); - QDeclarative1Loader *loader = qobject_cast<QDeclarative1Loader*>(component.create()); - QVERIFY(loader != 0); - QCOMPARE(loader->width(), 120.0); - QCOMPARE(loader->height(), 60.0); - - // Check resize - QDeclarativeItem *rect = qobject_cast<QDeclarativeItem*>(loader->item()); - QVERIFY(rect); - rect->setWidth(150); - rect->setHeight(45); - QCOMPARE(loader->width(), 150.0); - QCOMPARE(loader->height(), 45.0); - - // Check explicit width - loader->setWidth(200.0); - QCOMPARE(loader->width(), 200.0); - QCOMPARE(rect->width(), 200.0); - rect->setWidth(100.0); // when rect changes ... - QCOMPARE(rect->width(), 100.0); // ... it changes - QCOMPARE(loader->width(), 200.0); // ... but loader stays the same - - // Check explicit height - loader->setHeight(200.0); - QCOMPARE(loader->height(), 200.0); - QCOMPARE(rect->height(), 200.0); - rect->setHeight(100.0); // when rect changes ... - QCOMPARE(rect->height(), 100.0); // ... it changes - QCOMPARE(loader->height(), 200.0); // ... but loader stays the same - - // Switch mode - loader->setWidth(180); - loader->setHeight(30); - QCOMPARE(rect->width(), 180.0); - QCOMPARE(rect->height(), 30.0); - - delete loader; -} - -void tst_QDeclarative1Loader::sizeItemToLoader() -{ - QDeclarativeComponent component(&engine, TEST_FILE("/SizeToLoader.qml")); - QDeclarative1Loader *loader = qobject_cast<QDeclarative1Loader*>(component.create()); - QVERIFY(loader != 0); - QCOMPARE(loader->width(), 200.0); - QCOMPARE(loader->height(), 80.0); - - QDeclarativeItem *rect = qobject_cast<QDeclarativeItem*>(loader->item()); - QVERIFY(rect); - QCOMPARE(rect->width(), 200.0); - QCOMPARE(rect->height(), 80.0); - - // Check resize - loader->setWidth(180); - loader->setHeight(30); - QCOMPARE(rect->width(), 180.0); - QCOMPARE(rect->height(), 30.0); - - // Switch mode - loader->resetWidth(); // reset explicit size - loader->resetHeight(); - rect->setWidth(160); - rect->setHeight(45); - QCOMPARE(loader->width(), 160.0); - QCOMPARE(loader->height(), 45.0); - - delete loader; -} - -void tst_QDeclarative1Loader::noResize() -{ - QDeclarativeComponent component(&engine, TEST_FILE("/NoResize.qml")); - QDeclarativeItem* item = qobject_cast<QDeclarativeItem*>(component.create()); - QVERIFY(item != 0); - QCOMPARE(item->width(), 200.0); - QCOMPARE(item->height(), 80.0); - - delete item; -} - -void tst_QDeclarative1Loader::sizeLoaderToGraphicsWidget() -{ - QDeclarativeComponent component(&engine, TEST_FILE("/SizeLoaderToGraphicsWidget.qml")); - QDeclarative1Loader *loader = qobject_cast<QDeclarative1Loader*>(component.create()); - QGraphicsScene scene; - scene.addItem(loader); - - QVERIFY(loader != 0); - QCOMPARE(loader->width(), 250.0); - QCOMPARE(loader->height(), 250.0); - - // Check resize - QGraphicsWidget *widget = qobject_cast<QGraphicsWidget*>(loader->item()); - QVERIFY(widget); - widget->resize(QSizeF(150,45)); - QCOMPARE(loader->width(), 150.0); - QCOMPARE(loader->height(), 45.0); - - // Switch mode - loader->setWidth(180); - loader->setHeight(30); - QCOMPARE(widget->size().width(), 180.0); - QCOMPARE(widget->size().height(), 30.0); - - delete loader; -} - -void tst_QDeclarative1Loader::sizeGraphicsWidgetToLoader() -{ - QDeclarativeComponent component(&engine, TEST_FILE("/SizeGraphicsWidgetToLoader.qml")); - QDeclarative1Loader *loader = qobject_cast<QDeclarative1Loader*>(component.create()); - QGraphicsScene scene; - scene.addItem(loader); - - QVERIFY(loader != 0); - QCOMPARE(loader->width(), 200.0); - QCOMPARE(loader->height(), 80.0); - - QGraphicsWidget *widget = qobject_cast<QGraphicsWidget*>(loader->item()); - QVERIFY(widget); - QCOMPARE(widget->size().width(), 200.0); - QCOMPARE(widget->size().height(), 80.0); - - // Check resize - loader->setWidth(180); - loader->setHeight(30); - QCOMPARE(widget->size().width(), 180.0); - QCOMPARE(widget->size().height(), 30.0); - - // Switch mode - loader->resetWidth(); // reset explicit size - loader->resetHeight(); - widget->resize(QSizeF(160,45)); - QCOMPARE(loader->width(), 160.0); - QCOMPARE(loader->height(), 45.0); - - delete loader; -} - -void tst_QDeclarative1Loader::noResizeGraphicsWidget() -{ - QDeclarativeComponent component(&engine, TEST_FILE("/NoResizeGraphicsWidget.qml")); - QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(component.create()); - QGraphicsScene scene; - scene.addItem(item); - - QVERIFY(item != 0); - QCOMPARE(item->width(), 200.0); - QCOMPARE(item->height(), 80.0); - - delete item; -} - -void tst_QDeclarative1Loader::networkRequestUrl() -{ - TestHTTPServer server(SERVER_PORT); - QVERIFY(server.isValid()); - server.serveDirectory(SRCDIR "/data"); - - QDeclarativeComponent component(&engine); - component.setData(QByteArray("import QtQuick 1.0\nLoader { property int signalCount : 0; source: \"http://127.0.0.1:14450/Rect120x60.qml\"; onLoaded: signalCount += 1 }"), QUrl::fromLocalFile(SRCDIR "/dummy.qml")); - if (component.isError()) - qDebug() << component.errors(); - QDeclarative1Loader *loader = qobject_cast<QDeclarative1Loader*>(component.create()); - QVERIFY(loader != 0); - - QTRY_VERIFY(loader->status() == QDeclarative1Loader::Ready); - - QVERIFY(loader->item()); - QCOMPARE(loader->progress(), 1.0); - QCOMPARE(loader->property("signalCount").toInt(), 1); - QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 1); - - delete loader; -} - -/* XXX Component waits until all dependencies are loaded. Is this actually possible? -void tst_QDeclarative1Loader::networkComponent() -{ - TestHTTPServer server(SERVER_PORT); - QVERIFY(server.isValid()); - server.serveDirectory("slowdata", TestHTTPServer::Delay); - - QDeclarativeComponent component(&engine); - component.setData(QByteArray( - "import QtQuick 1.0\n" - "import \"http://127.0.0.1:14450/\" as NW\n" - "Item {\n" - " Component { id: comp; NW.SlowRect {} }\n" - " Loader { sourceComponent: comp } }") - , TEST_FILE("")); - - QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(component.create()); - QVERIFY(item); - - QDeclarative1Loader *loader = qobject_cast<QDeclarative1Loader*>(item->QGraphicsObject::children().at(1)); - QVERIFY(loader); - QTRY_VERIFY(loader->status() == QDeclarative1Loader::Ready); - - QVERIFY(loader->item()); - QCOMPARE(loader->progress(), 1.0); - QCOMPARE(loader->status(), QDeclarative1Loader::Ready); - QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 1); - - delete loader; -} -*/ - -void tst_QDeclarative1Loader::failNetworkRequest() -{ - TestHTTPServer server(SERVER_PORT); - QVERIFY(server.isValid()); - server.serveDirectory(SRCDIR "/data"); - - QTest::ignoreMessage(QtWarningMsg, "http://127.0.0.1:14450/IDontExist.qml: File not found"); - - QDeclarativeComponent component(&engine); - component.setData(QByteArray("import QtQuick 1.0\nLoader { property int did_load: 123; source: \"http://127.0.0.1:14450/IDontExist.qml\"; onLoaded: did_load=456 }"), QUrl::fromLocalFile("http://127.0.0.1:14450/dummy.qml")); - QDeclarative1Loader *loader = qobject_cast<QDeclarative1Loader*>(component.create()); - QVERIFY(loader != 0); - - QTRY_VERIFY(loader->status() == QDeclarative1Loader::Error); - - QVERIFY(loader->item() == 0); - QCOMPARE(loader->progress(), 0.0); - QCOMPARE(loader->property("did_load").toInt(), 123); - QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 0); - - delete loader; -} - -// QTBUG-9241 -void tst_QDeclarative1Loader::deleteComponentCrash() -{ - QDeclarativeComponent component(&engine, TEST_FILE("crash.qml")); - QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(component.create()); - QVERIFY(item); - - item->metaObject()->invokeMethod(item, "setLoaderSource"); - - QDeclarative1Loader *loader = qobject_cast<QDeclarative1Loader*>(item->QGraphicsObject::children().at(0)); - QVERIFY(loader); - QVERIFY(loader->item()); - QCOMPARE(loader->item()->objectName(), QLatin1String("blue")); - QCOMPARE(loader->progress(), 1.0); - QCOMPARE(loader->status(), QDeclarative1Loader::Ready); - QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 1); - QVERIFY(loader->source() == QUrl::fromLocalFile(SRCDIR "/data/BlueRect.qml")); - - delete item; -} - -void tst_QDeclarative1Loader::nonItem() -{ - QDeclarativeComponent component(&engine, TEST_FILE("nonItem.qml")); - QString err = QUrl::fromLocalFile(SRCDIR).toString() + "/data/nonItem.qml:3:1: QML Loader: Loader does not support loading non-visual elements."; - - QTest::ignoreMessage(QtWarningMsg, err.toLatin1().constData()); - QDeclarative1Loader *loader = qobject_cast<QDeclarative1Loader*>(component.create()); - QVERIFY(loader); - QVERIFY(loader->item() == 0); - - delete loader; -} - -void tst_QDeclarative1Loader::vmeErrors() -{ - QDeclarativeComponent component(&engine, TEST_FILE("vmeErrors.qml")); - QString err = QUrl::fromLocalFile(SRCDIR).toString() + "/data/VmeError.qml:6: Cannot assign object type QObject with no default method"; - QTest::ignoreMessage(QtWarningMsg, err.toLatin1().constData()); - QDeclarative1Loader *loader = qobject_cast<QDeclarative1Loader*>(component.create()); - QVERIFY(loader); - QVERIFY(loader->item() == 0); - - delete loader; -} - -// QTBUG-13481 -void tst_QDeclarative1Loader::creationContext() -{ - QDeclarativeComponent component(&engine, TEST_FILE("creationContext.qml")); - - QObject *o = component.create(); - QVERIFY(o != 0); - - QCOMPARE(o->property("test").toBool(), true); - - delete o; -} - -void tst_QDeclarative1Loader::QTBUG_16928() -{ - QDeclarativeComponent component(&engine, TEST_FILE("QTBUG_16928.qml")); - QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(component.create()); - QVERIFY(item); - - QCOMPARE(item->width(), 250.); - QCOMPARE(item->height(), 250.); - - delete item; -} - -void tst_QDeclarative1Loader::implicitSize() -{ - QDeclarativeComponent component(&engine, TEST_FILE("implicitSize.qml")); - QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(component.create()); - QVERIFY(item); - - QCOMPARE(item->width(), 150.); - QCOMPARE(item->height(), 150.); - - QCOMPARE(item->property("implHeight").toReal(), 100.); - QCOMPARE(item->property("implWidth").toReal(), 100.); - - delete item; -} - -void tst_QDeclarative1Loader::QTBUG_17114() -{ - QDeclarativeComponent component(&engine, TEST_FILE("QTBUG_17114.qml")); - QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(component.create()); - QVERIFY(item); - - QCOMPARE(item->property("loaderWidth").toReal(), 32.); - QCOMPARE(item->property("loaderHeight").toReal(), 32.); - - delete item; -} - -QTEST_MAIN(tst_QDeclarative1Loader) - -#include "tst_qdeclarativeloader.moc" |