summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMatthew Vogt <matthew.vogt@nokia.com>2012-02-14 13:39:13 +1000
committerQt by Nokia <qt-info@nokia.com>2012-02-15 04:07:11 +0100
commite4fec8ece464dd7055505b4c90afad5c9a6390cf (patch)
tree0abdd782d2ab1966b35be004413ff8b734838a60 /tests
parentb05039d5efcaec69d01d3737ccb5f0199765632b (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')
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/plugin.2.1/plugin.2.1.pro2
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/plugin.2.1/qmldir (renamed from tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlPluginType.2.1/qmldir)0
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/plugin.2/plugin.2.pro2
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/plugin.2/qmldir (renamed from tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlPluginType.2/qmldir)0
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/plugin/plugin.pro2
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/plugin/qmldir (renamed from tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlPluginType/qmldir)0
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pluginMixed/Foo.qml (renamed from tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlMixedPluginType/Foo.qml)0
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pluginMixed/pluginMixed.pro23
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pluginMixed/qmldir (renamed from tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlMixedPluginType/qmldir)0
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pluginVersion/pluginVersion.pro2
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pluginVersion/qmldir (renamed from tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlVersionPluginType/qmldir)0
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pluginWithQmlFile/MyQmlFile.qml (renamed from tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestPluginWithQmlFile/MyQmlFile.qml)0
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pluginWithQmlFile/pluginWithQmlFile.pro23
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pluginWithQmlFile/qmldir (renamed from tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestPluginWithQmlFile/qmldir)0
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pluginWrongCase/pluginWrongCase.pro2
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pluginWrongCase/qmldir (renamed from tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/WrongCase/qmldir)0
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pureQml/ComponentA.qml (renamed from tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/PureQmlModule/ComponentA.qml)0
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pureQml/ComponentB.qml (renamed from tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/PureQmlModule/ComponentB.qml)0
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pureQml/plugin.cpp75
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pureQml/pureQml.pro52
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pureQml/qmldir (renamed from tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/PureQmlModule/qmldir)0
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/qdeclarativemoduleplugin.pro2
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/qmldir_copier.pri19
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp18
-rw-r--r--tests/auto/declarative/shared/qdeclarativedatatest.cpp6
-rw-r--r--tests/auto/declarative/shared/qdeclarativedatatest.h6
-rw-r--r--tests/auto/declarative/shared/qdeclarativedatatest.pri3
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\\\"