diff options
author | Matthew Vogt <matthew.vogt@nokia.com> | 2012-02-14 13:39:13 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-15 04:07:11 +0100 |
commit | e4fec8ece464dd7055505b4c90afad5c9a6390cf (patch) | |
tree | 0abdd782d2ab1966b35be004413ff8b734838a60 /tests | |
parent | b05039d5efcaec69d01d3737ccb5f0199765632b (diff) |
Copy qmldir files into build tree with associated plugins.
The qdeclarativemoduleplugin test verifies that the plugins it
constructs are correctly imported. Ths requires that the qmldir
files that describe the plugins are copied into the build tree
along with the plugins they refer to.
QML (and .js, where relevant) files must also be copied into
the same directory if they form part of the imported module.
Change-Id: I827a0b678a17cac42aadc4f2176fdd8bd693aab1
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Diffstat (limited to 'tests')
27 files changed, 224 insertions, 13 deletions
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/plugin.2.1/plugin.2.1.pro b/tests/auto/declarative/qdeclarativemoduleplugin/plugin.2.1/plugin.2.1.pro index e9dcb87f..568b6c65 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/plugin.2.1/plugin.2.1.pro +++ b/tests/auto/declarative/qdeclarativemoduleplugin/plugin.2.1/plugin.2.1.pro @@ -4,6 +4,8 @@ SOURCES = plugin.cpp QT = core quick1 DESTDIR = ../imports/com/nokia/AutoTestQmlPluginType.2.1 +include(../qmldir_copier.pri) + symbian: { TARGET.EPOCALLOWDLLDATA=1 } diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlPluginType.2.1/qmldir b/tests/auto/declarative/qdeclarativemoduleplugin/plugin.2.1/qmldir index 0a8b5d46..0a8b5d46 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlPluginType.2.1/qmldir +++ b/tests/auto/declarative/qdeclarativemoduleplugin/plugin.2.1/qmldir diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/plugin.2/plugin.2.pro b/tests/auto/declarative/qdeclarativemoduleplugin/plugin.2/plugin.2.pro index ff667b80..ed9759dd 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/plugin.2/plugin.2.pro +++ b/tests/auto/declarative/qdeclarativemoduleplugin/plugin.2/plugin.2.pro @@ -4,6 +4,8 @@ SOURCES = plugin.cpp QT = core quick1 DESTDIR = ../imports/com/nokia/AutoTestQmlPluginType.2 +include(../qmldir_copier.pri) + symbian: { TARGET.EPOCALLOWDLLDATA=1 } diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlPluginType.2/qmldir b/tests/auto/declarative/qdeclarativemoduleplugin/plugin.2/qmldir index 0a8b5d46..0a8b5d46 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlPluginType.2/qmldir +++ b/tests/auto/declarative/qdeclarativemoduleplugin/plugin.2/qmldir diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/plugin/plugin.pro b/tests/auto/declarative/qdeclarativemoduleplugin/plugin/plugin.pro index 5ccaf8d3..6db60cba 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/plugin/plugin.pro +++ b/tests/auto/declarative/qdeclarativemoduleplugin/plugin/plugin.pro @@ -4,6 +4,8 @@ SOURCES = plugin.cpp QT = core quick1 DESTDIR = ../imports/com/nokia/AutoTestQmlPluginType +include(../qmldir_copier.pri) + symbian: { TARGET.EPOCALLOWDLLDATA=1 } diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlPluginType/qmldir b/tests/auto/declarative/qdeclarativemoduleplugin/plugin/qmldir index 0a8b5d46..0a8b5d46 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlPluginType/qmldir +++ b/tests/auto/declarative/qdeclarativemoduleplugin/plugin/qmldir diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlMixedPluginType/Foo.qml b/tests/auto/declarative/qdeclarativemoduleplugin/pluginMixed/Foo.qml index ce51cbd2..ce51cbd2 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlMixedPluginType/Foo.qml +++ b/tests/auto/declarative/qdeclarativemoduleplugin/pluginMixed/Foo.qml diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/pluginMixed/pluginMixed.pro b/tests/auto/declarative/qdeclarativemoduleplugin/pluginMixed/pluginMixed.pro index d83ab1e0..df0712e7 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/pluginMixed/pluginMixed.pro +++ b/tests/auto/declarative/qdeclarativemoduleplugin/pluginMixed/pluginMixed.pro @@ -4,6 +4,29 @@ SOURCES = plugin.cpp QT = core quick1 DESTDIR = ../imports/com/nokia/AutoTestQmlMixedPluginType +include(../qmldir_copier.pri) + +# Copy the necessary QML files to the build tree +FOO_IN_FILE = $${_PRO_FILE_PWD_}/Foo.qml +FOO_OUT_FILE = $$OUT_PWD/$$DESTDIR/Foo.qml + +FOO_OUT_DIR = $$OUT_PWD/$$DESTDIR +FOO_OUT_DIR ~= s,/,$$QMAKE_DIR_SEP, + +copyFoo.input = FOO_IN_FILE +copyFoo.output = $$FOO_OUT_FILE +!contains(TEMPLATE_PREFIX, vc):copyFoo.variable_out = PRE_TARGETDEPS +win32 { + copyFoo.commands = ( $$QMAKE_CHK_DIR_EXISTS $$FOO_OUT_DIR $(MKDIR) $$FOO_OUT_DIR ) && $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} +} else { + copyFoo.commands = $(MKDIR) $$FOO_OUT_DIR && $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} +} +copyFoo.name = COPY ${QMAKE_FILE_IN} +copyFoo.CONFIG += no_link +# `clean' should leave the build in a runnable state, which means it shouldn't delete +copyFoo.CONFIG += no_clean +QMAKE_EXTRA_COMPILERS += copyFoo + symbian: { TARGET.EPOCALLOWDLLDATA=1 } diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlMixedPluginType/qmldir b/tests/auto/declarative/qdeclarativemoduleplugin/pluginMixed/qmldir index 065dc3b2..065dc3b2 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlMixedPluginType/qmldir +++ b/tests/auto/declarative/qdeclarativemoduleplugin/pluginMixed/qmldir diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/pluginVersion/pluginVersion.pro b/tests/auto/declarative/qdeclarativemoduleplugin/pluginVersion/pluginVersion.pro index 33334d9b..ef0176ac 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/pluginVersion/pluginVersion.pro +++ b/tests/auto/declarative/qdeclarativemoduleplugin/pluginVersion/pluginVersion.pro @@ -4,6 +4,8 @@ SOURCES = plugin.cpp QT = core quick1 DESTDIR = ../imports/com/nokia/AutoTestQmlVersionPluginType +include(../qmldir_copier.pri) + symbian: { TARGET.EPOCALLOWDLLDATA=1 } diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlVersionPluginType/qmldir b/tests/auto/declarative/qdeclarativemoduleplugin/pluginVersion/qmldir index 640967fe..640967fe 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlVersionPluginType/qmldir +++ b/tests/auto/declarative/qdeclarativemoduleplugin/pluginVersion/qmldir diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestPluginWithQmlFile/MyQmlFile.qml b/tests/auto/declarative/qdeclarativemoduleplugin/pluginWithQmlFile/MyQmlFile.qml index 18dcd26f..18dcd26f 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestPluginWithQmlFile/MyQmlFile.qml +++ b/tests/auto/declarative/qdeclarativemoduleplugin/pluginWithQmlFile/MyQmlFile.qml diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/pluginWithQmlFile/pluginWithQmlFile.pro b/tests/auto/declarative/qdeclarativemoduleplugin/pluginWithQmlFile/pluginWithQmlFile.pro index 62f090a6..b9472bdc 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/pluginWithQmlFile/pluginWithQmlFile.pro +++ b/tests/auto/declarative/qdeclarativemoduleplugin/pluginWithQmlFile/pluginWithQmlFile.pro @@ -4,6 +4,29 @@ SOURCES = plugin.cpp QT = core quick1 DESTDIR = ../imports/com/nokia/AutoTestPluginWithQmlFile +include(../qmldir_copier.pri) + +# Copy the necessary QML files to the build tree +QML_IN_FILE = $${_PRO_FILE_PWD_}/MyQmlFile.qml +QML_OUT_FILE = $$OUT_PWD/$$DESTDIR/MyQmlFile.qml + +QML_OUT_DIR = $$OUT_PWD/$$DESTDIR +QML_OUT_DIR ~= s,/,$$QMAKE_DIR_SEP, + +copyMyQmlFile.input = QML_IN_FILE +copyMyQmlFile.output = $$QML_OUT_FILE +!contains(TEMPLATE_PREFIX, vc):copyMyQmlFile.variable_out = PRE_TARGETDEPS +win32 { + copyMyQmlFile.commands = ( $$QMAKE_CHK_DIR_EXISTS $$QML_OUT_DIR $(MKDIR) $$QML_OUT_DIR ) && $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} +} else { + copyMyQmlFile.commands = $(MKDIR) $$QML_OUT_DIR && $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} +} +copyMyQmlFile.name = COPY ${QMAKE_FILE_IN} +copyMyQmlFile.CONFIG += no_link +# `clean' should leave the build in a runnable state, which means it shouldn't delete +copyMyQmlFile.CONFIG += no_clean +QMAKE_EXTRA_COMPILERS += copyMyQmlFile + symbian: { TARGET.EPOCALLOWDLLDATA=1 } diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestPluginWithQmlFile/qmldir b/tests/auto/declarative/qdeclarativemoduleplugin/pluginWithQmlFile/qmldir index 858ba145..858ba145 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestPluginWithQmlFile/qmldir +++ b/tests/auto/declarative/qdeclarativemoduleplugin/pluginWithQmlFile/qmldir diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/pluginWrongCase/pluginWrongCase.pro b/tests/auto/declarative/qdeclarativemoduleplugin/pluginWrongCase/pluginWrongCase.pro index 31a4464d..37d19f44 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/pluginWrongCase/pluginWrongCase.pro +++ b/tests/auto/declarative/qdeclarativemoduleplugin/pluginWrongCase/pluginWrongCase.pro @@ -5,6 +5,8 @@ QT = core quick1 TARGET = Plugin DESTDIR = ../imports/com/nokia/WrongCase +include(../qmldir_copier.pri) + symbian: { TARGET.EPOCALLOWDLLDATA=1 } diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/WrongCase/qmldir b/tests/auto/declarative/qdeclarativemoduleplugin/pluginWrongCase/qmldir index 6c878749..6c878749 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/WrongCase/qmldir +++ b/tests/auto/declarative/qdeclarativemoduleplugin/pluginWrongCase/qmldir diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/PureQmlModule/ComponentA.qml b/tests/auto/declarative/qdeclarativemoduleplugin/pureQml/ComponentA.qml index 49613aab..49613aab 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/PureQmlModule/ComponentA.qml +++ b/tests/auto/declarative/qdeclarativemoduleplugin/pureQml/ComponentA.qml diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/PureQmlModule/ComponentB.qml b/tests/auto/declarative/qdeclarativemoduleplugin/pureQml/ComponentB.qml index f19a336d..f19a336d 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/PureQmlModule/ComponentB.qml +++ b/tests/auto/declarative/qdeclarativemoduleplugin/pureQml/ComponentB.qml diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/pureQml/plugin.cpp b/tests/auto/declarative/qdeclarativemoduleplugin/pureQml/plugin.cpp new file mode 100644 index 00000000..48dca0ae --- /dev/null +++ b/tests/auto/declarative/qdeclarativemoduleplugin/pureQml/plugin.cpp @@ -0,0 +1,75 @@ +/**************************************************************************** +** +** 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 <QStringList> +#include <QtQuick1/qdeclarativeextensionplugin.h> +#include <QtQuick1/qdeclarative.h> +#include <QDebug> + +// Note: this plugin is unused! + +class DummyPluginType : public QObject +{ + Q_OBJECT +public: + DummyPluginType(QObject *parent=0) : QObject(parent) + { + qWarning("import worked"); + } +}; + + +class DummyPlugin : public QDeclarativeExtensionPlugin +{ + Q_OBJECT +public: + DummyPlugin() + { + qWarning("plugin created"); + } + + void registerTypes(const char *uri) + { + } +}; + +#include "plugin.moc" + +Q_EXPORT_PLUGIN2(plugin, DummyPlugin); diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/pureQml/pureQml.pro b/tests/auto/declarative/qdeclarativemoduleplugin/pureQml/pureQml.pro new file mode 100644 index 00000000..0be2608b --- /dev/null +++ b/tests/auto/declarative/qdeclarativemoduleplugin/pureQml/pureQml.pro @@ -0,0 +1,52 @@ +TEMPLATE = lib +CONFIG += plugin +SOURCES = plugin.cpp +QT = core quick1 +DESTDIR = ../imports/com/nokia/PureQmlModule + +include(../qmldir_copier.pri) + +# Copy the necessary QML files to the build tree +COMPONENTA_IN_FILE = $${_PRO_FILE_PWD_}/ComponentA.qml +COMPONENTA_OUT_FILE = $$OUT_PWD/$$DESTDIR/ComponentA.qml + +COMPONENTA_OUT_DIR = $$OUT_PWD/$$DESTDIR +COMPONENTA_OUT_DIR ~= s,/,$$QMAKE_DIR_SEP, + +copyComponentA.input = COMPONENTA_IN_FILE +copyComponentA.output = $$COMPONENTA_OUT_FILE +!contains(TEMPLATE_PREFIX, vc):copyComponentA.variable_out = PRE_TARGETDEPS +win32 { + copyComponentA.commands = ( $$QMAKE_CHK_DIR_EXISTS $$COMPONENTA_OUT_DIR $(MKDIR) $$COMPONENTA_OUT_DIR ) && $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} +} else { + copyComponentA.commands = $(MKDIR) $$COMPONENTA_OUT_DIR && $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} +} +copyComponentA.name = COPY ${QMAKE_FILE_IN} +copyComponentA.CONFIG += no_link +# `clean' should leave the build in a runnable state, which means it shouldn't delete +copyComponentA.CONFIG += no_clean +QMAKE_EXTRA_COMPILERS += copyComponentA + +COMPONENTB_IN_FILE = $${_PRO_FILE_PWD_}/ComponentB.qml +COMPONENTB_OUT_FILE = $$OUT_PWD/$$DESTDIR/ComponentB.qml + +COMPONENTB_OUT_DIR = $$OUT_PWD/$$DESTDIR +COMPONENTB_OUT_DIR ~= s,/,$$QMAKE_DIR_SEP, + +copyComponentB.input = COMPONENTB_IN_FILE +copyComponentB.output = $$COMPONENTB_OUT_FILE +!contains(TEMPLATE_PREFIX, vc):copyComponentB.variable_out = PRE_TARGETDEPS +win32 { + copyComponentB.commands = ( $$QMAKE_CHK_DIR_EXISTS $$COMPONENTB_OUT_DIR $(MKDIR) $$COMPONENTB_OUT_DIR ) && $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} +} else { + copyComponentB.commands = $(MKDIR) $$COMPONENTB_OUT_DIR && $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} +} +copyComponentB.name = COPY ${QMAKE_FILE_IN} +copyComponentB.CONFIG += no_link +# `clean' should leave the build in a runnable state, which means it shouldn't delete +copyComponentB.CONFIG += no_clean +QMAKE_EXTRA_COMPILERS += copyComponentB + +symbian: { + TARGET.EPOCALLOWDLLDATA=1 +} diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/PureQmlModule/qmldir b/tests/auto/declarative/qdeclarativemoduleplugin/pureQml/qmldir index 167bb10c..167bb10c 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/PureQmlModule/qmldir +++ b/tests/auto/declarative/qdeclarativemoduleplugin/pureQml/qmldir diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/qdeclarativemoduleplugin.pro b/tests/auto/declarative/qdeclarativemoduleplugin/qdeclarativemoduleplugin.pro index 248da333..702dcfd6 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/qdeclarativemoduleplugin.pro +++ b/tests/auto/declarative/qdeclarativemoduleplugin/qdeclarativemoduleplugin.pro @@ -1,6 +1,6 @@ QT = core testlib TEMPLATE = subdirs -SUBDIRS = plugin plugin.2 plugin.2.1 pluginWrongCase pluginWithQmlFile pluginMixed pluginVersion +SUBDIRS = plugin plugin.2 plugin.2.1 pluginWrongCase pluginWithQmlFile pluginMixed pluginVersion pureQml tst_qdeclarativemoduleplugin_pro.depends += plugin SUBDIRS += tst_qdeclarativemoduleplugin.pro diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/qmldir_copier.pri b/tests/auto/declarative/qdeclarativemoduleplugin/qmldir_copier.pri new file mode 100644 index 00000000..034919fa --- /dev/null +++ b/tests/auto/declarative/qdeclarativemoduleplugin/qmldir_copier.pri @@ -0,0 +1,19 @@ +COPY_IN_FILE = $${_PRO_FILE_PWD_}/qmldir +COPY_OUT_FILE = $$OUT_PWD/$$DESTDIR/qmldir + +COPY_OUT_DIR = $$OUT_PWD/$$DESTDIR +COPY_OUT_DIR ~= s,/,$$QMAKE_DIR_SEP, + +copy2build.input = COPY_IN_FILE +copy2build.output = $$COPY_OUT_FILE +!contains(TEMPLATE_PREFIX, vc):copy2build.variable_out = PRE_TARGETDEPS +win32 { + copy2build.commands = ( $$QMAKE_CHK_DIR_EXISTS $$COPY_OUT_DIR $(MKDIR) $$COPY_OUT_DIR ) && $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} +} else { + copy2build.commands = $(MKDIR) $$COPY_OUT_DIR && $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} +} +copy2build.name = COPY ${QMAKE_FILE_IN} +copy2build.CONFIG += no_link +# `clean' should leave the build in a runnable state, which means it shouldn't delete qmldir +copy2build.CONFIG += no_clean +QMAKE_EXTRA_COMPILERS += copy2build diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp b/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp index 9dc29226..f24052fb 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp +++ b/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp @@ -112,7 +112,7 @@ private slots: void tst_qdeclarativemoduleplugin::importsPlugin() { QDeclarativeEngine engine; - engine.addImportPath(directory() + QDir::separator() + QLatin1String("imports")); + engine.addImportPath(importsDirectory()); QTest::ignoreMessage(QtWarningMsg, "plugin created"); QTest::ignoreMessage(QtWarningMsg, "import worked"); QDeclarativeComponent component(&engine, testFileUrl("works.qml")); @@ -128,7 +128,7 @@ void tst_qdeclarativemoduleplugin::importsPlugin() void tst_qdeclarativemoduleplugin::importsPlugin2() { QDeclarativeEngine engine; - engine.addImportPath(directory() + QDir::separator() + QLatin1String("imports")); + engine.addImportPath(importsDirectory()); QTest::ignoreMessage(QtWarningMsg, "plugin2 created"); QTest::ignoreMessage(QtWarningMsg, "import2 worked"); QDeclarativeComponent component(&engine, testFileUrl("works2.qml")); @@ -144,7 +144,7 @@ void tst_qdeclarativemoduleplugin::importsPlugin2() void tst_qdeclarativemoduleplugin::importsPlugin21() { QDeclarativeEngine engine; - engine.addImportPath(directory() + QDir::separator() + QLatin1String("imports")); + engine.addImportPath(importsDirectory()); QTest::ignoreMessage(QtWarningMsg, "plugin2.1 created"); QTest::ignoreMessage(QtWarningMsg, "import2.1 worked"); QDeclarativeComponent component(&engine, testFileUrl("works21.qml")); @@ -160,7 +160,7 @@ void tst_qdeclarativemoduleplugin::importsPlugin21() void tst_qdeclarativemoduleplugin::incorrectPluginCase() { QDeclarativeEngine engine; - engine.addImportPath(directory() + QDir::separator() + QLatin1String("imports")); + engine.addImportPath(importsDirectory()); QDeclarativeComponent component(&engine, testFileUrl("incorrectCase.qml")); @@ -183,7 +183,7 @@ void tst_qdeclarativemoduleplugin::incorrectPluginCase() void tst_qdeclarativemoduleplugin::importPluginWithQmlFile() { - QString path = directory() + QDir::separator() + QLatin1String("imports"); + QString path = importsDirectory(); // QTBUG-16885: adding an import path with a lower-case "c:" causes assert failure // (this only happens if the plugin includes pure QML files) @@ -208,7 +208,7 @@ void tst_qdeclarativemoduleplugin::remoteImportWithQuotedUrl() { TestHTTPServer server(SERVER_PORT); QVERIFY(server.isValid()); - server.serveDirectory(directory() + QStringLiteral("/imports")); + server.serveDirectory(importsDirectory()); QDeclarativeEngine engine; QDeclarativeComponent component(&engine); @@ -232,7 +232,7 @@ void tst_qdeclarativemoduleplugin::remoteImportWithUnquotedUri() server.serveDirectory(directory() + QStringLiteral("/imports")); QDeclarativeEngine engine; - engine.addImportPath(directory() + QDir::separator() + QLatin1String("imports")); + engine.addImportPath(importsDirectory()); QDeclarativeComponent component(&engine); component.setData("import com.nokia.PureQmlModule 1.0 \nComponentA { width: 300; ComponentB{} }", QUrl()); @@ -252,7 +252,7 @@ void tst_qdeclarativemoduleplugin::remoteImportWithUnquotedUri() void tst_qdeclarativemoduleplugin::importsMixedQmlCppPlugin() { QDeclarativeEngine engine; - engine.addImportPath(directory() + QDir::separator() + QLatin1String("imports")); + engine.addImportPath(importsDirectory()); { QDeclarativeComponent component(&engine, testFileUrl("importsMixedQmlCppPlugin.qml")); @@ -291,7 +291,7 @@ void tst_qdeclarativemoduleplugin::versionNotInstalled() QFETCH(QString, errorFile); QDeclarativeEngine engine; - engine.addImportPath(directory() + QDir::separator() + QLatin1String("imports")); + engine.addImportPath(importsDirectory()); QDeclarativeComponent component(&engine, testFileUrl(file)); VERIFY_ERRORS(errorFile.toLatin1().constData()); diff --git a/tests/auto/declarative/shared/qdeclarativedatatest.cpp b/tests/auto/declarative/shared/qdeclarativedatatest.cpp index 12fc9d13..626da488 100644 --- a/tests/auto/declarative/shared/qdeclarativedatatest.cpp +++ b/tests/auto/declarative/shared/qdeclarativedatatest.cpp @@ -52,11 +52,13 @@ QDeclarativeDataTest *QDeclarativeDataTest::m_instance = 0; QDeclarativeDataTest::QDeclarativeDataTest() : #ifdef QT_TESTCASE_BUILDDIR m_dataDirectory(QTest::qFindTestData("data", QT_DECLARATIVETEST_DATADIR, 0, QT_TESTCASE_BUILDDIR)), + m_importsDirectory(QTest::qFindTestData("imports", QT_DECLARATIVETEST_IMPORTSDIR, 0, QT_TESTCASE_BUILDDIR)), #else m_dataDirectory(QTest::qFindTestData("data", QT_DECLARATIVETEST_DATADIR, 0)), + m_importsDirectory(QTest::qFindTestData("imports", QT_DECLARATIVETEST_IMPORTSDIR, 0)), #endif - - m_dataDirectoryUrl(QUrl::fromLocalFile(m_dataDirectory + QLatin1Char('/'))) + m_dataDirectoryUrl(QUrl::fromLocalFile(m_dataDirectory + QLatin1Char('/'))), + m_importsDirectoryUrl(QUrl::fromLocalFile(m_importsDirectory + QLatin1Char('/'))) { m_instance = this; } diff --git a/tests/auto/declarative/shared/qdeclarativedatatest.h b/tests/auto/declarative/shared/qdeclarativedatatest.h index 9f73d9eb..78341335 100644 --- a/tests/auto/declarative/shared/qdeclarativedatatest.h +++ b/tests/auto/declarative/shared/qdeclarativedatatest.h @@ -69,6 +69,10 @@ public: inline QString dataDirectory() const { return m_dataDirectory; } inline QUrl dataDirectoryUrl() const { return m_dataDirectoryUrl; } + + inline QString importsDirectory() const { return m_importsDirectory; } + inline QUrl importsDirectoryUrl() const { return m_importsDirectoryUrl; } + inline QString directory() const { return m_directory; } static inline QDeclarativeDataTest *instance() { return m_instance; } @@ -83,7 +87,9 @@ private: static QDeclarativeDataTest *m_instance; const QString m_dataDirectory; + const QString m_importsDirectory; const QUrl m_dataDirectoryUrl; + const QUrl m_importsDirectoryUrl; QString m_directory; }; diff --git a/tests/auto/declarative/shared/qdeclarativedatatest.pri b/tests/auto/declarative/shared/qdeclarativedatatest.pri index 9275f50d..6f712fd2 100644 --- a/tests/auto/declarative/shared/qdeclarativedatatest.pri +++ b/tests/auto/declarative/shared/qdeclarativedatatest.pri @@ -3,4 +3,5 @@ SOURCES += $$PWD/qdeclarativedatatest.cpp INCLUDEPATH += $$PWD -DEFINES += QT_DECLARATIVETEST_DATADIR=\\\"$${_PRO_FILE_PWD_}/data\\\" +DEFINES += QT_DECLARATIVETEST_DATADIR=\\\"$${_PRO_FILE_PWD_}/data\\\" \ + QT_DECLARATIVETEST_IMPORTSDIR=\\\"$${_PRO_FILE_PWD_}/imports\\\" |