summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/webengine/api/qquickwebenginetestsupport.cpp50
-rw-r--r--src/webengine/api/qquickwebenginetestsupport_p.h25
-rw-r--r--src/webengine/api/qquickwebengineview.cpp6
-rw-r--r--src/webengine/plugin/testsupport/plugin.cpp2
-rw-r--r--tests/auto/quick/qmltests/data/alert.html3
-rw-r--r--tests/auto/quick/qmltests/data/confirm.html17
-rw-r--r--tests/auto/quick/qmltests/data/prompt.html5
-rw-r--r--tests/auto/quick/qmltests/data/tst_javaScriptDialogs.qml61
-rw-r--r--tests/auto/quick/qmltests/mock-delegates/QtWebEngine/UIDelegates/AlertDialog.qml40
-rw-r--r--tests/auto/quick/qmltests/mock-delegates/QtWebEngine/UIDelegates/ConfirmDialog.qml57
-rw-r--r--tests/auto/quick/qmltests/mock-delegates/QtWebEngine/UIDelegates/PromptDialog.qml60
-rw-r--r--tests/auto/quick/qmltests/mock-delegates/QtWebEngine/UIDelegates/qmldir4
-rw-r--r--tests/auto/quick/qmltests/mock-delegates/TestParams/JSDialogParams.qml45
-rw-r--r--tests/auto/quick/qmltests/mock-delegates/TestParams/qmldir4
-rw-r--r--tests/auto/quick/qmltests/qmltests.pro6
-rw-r--r--tests/auto/quick/qmltests/tst_qmltests.cpp15
-rw-r--r--tests/auto/quick/shared/qt_webengine_quicktest.h12
17 files changed, 258 insertions, 154 deletions
diff --git a/src/webengine/api/qquickwebenginetestsupport.cpp b/src/webengine/api/qquickwebenginetestsupport.cpp
index 0bb16ae14..d85e56e59 100644
--- a/src/webengine/api/qquickwebenginetestsupport.cpp
+++ b/src/webengine/api/qquickwebenginetestsupport.cpp
@@ -39,34 +39,6 @@
#include "qquickwebengineloadrequest_p.h"
QT_BEGIN_NAMESPACE
-using namespace QtWebEngineCore;
-
-QQuickWebEngineJavaScriptDialog::QQuickWebEngineJavaScriptDialog(QSharedPointer<JavaScriptDialogController> controller)
-{
- m_dialogController = controller;
-}
-
-QString QQuickWebEngineJavaScriptDialog::message() const
-{
- return m_dialogController->message();
-}
-
-QString QQuickWebEngineJavaScriptDialog::defaultValue() const
-{
- return m_dialogController->defaultPrompt();
-}
-
-void QQuickWebEngineJavaScriptDialog::reject()
-{
- QMetaObject::invokeMethod(m_dialogController.data(), "reject");
-}
-
-void QQuickWebEngineJavaScriptDialog::accept(const QString &input)
-{
- if (!input.isNull())
- QMetaObject::invokeMethod(m_dialogController.data(), "textProvided", Q_ARG(QString, input));
- QMetaObject::invokeMethod(m_dialogController.data(), "accept");
-}
QQuickWebEngineErrorPage::QQuickWebEngineErrorPage()
{
@@ -98,28 +70,6 @@ QQuickWebEngineErrorPage *QQuickWebEngineTestSupport::errorPage() const
return m_errorPage.data();
}
-void QQuickWebEngineTestSupport::testDialog(QSharedPointer<JavaScriptDialogController> dialogController)
-{
- Q_ASSERT(!dialogController.isNull());
-
- QQuickWebEngineJavaScriptDialog dialog(dialogController);
- switch (dialogController->type()) {
- case WebContentsAdapterClient::AlertDialog:
- Q_EMIT alertDialog(&dialog);
- break;
- case WebContentsAdapterClient::ConfirmDialog:
- Q_EMIT confirmDialog(&dialog);
- break;
- case WebContentsAdapterClient::PromptDialog:
- Q_EMIT promptDialog(&dialog);
- break;
- case WebContentsAdapterClient::InternalAuthorizationDialog:
- break;
- default:
- Q_UNREACHABLE();
- }
-}
-
QT_END_NAMESPACE
#include "moc_qquickwebenginetestsupport_p.cpp"
diff --git a/src/webengine/api/qquickwebenginetestsupport_p.h b/src/webengine/api/qquickwebenginetestsupport_p.h
index 06950e416..832ac2803 100644
--- a/src/webengine/api/qquickwebenginetestsupport_p.h
+++ b/src/webengine/api/qquickwebenginetestsupport_p.h
@@ -39,7 +39,6 @@
#include <private/qtwebengineglobal_p.h>
-#include "javascript_dialog_controller.h"
#include <QObject>
#include <QUrl>
@@ -47,24 +46,6 @@ QT_BEGIN_NAMESPACE
class QQuickWebEngineLoadRequest;
-class Q_WEBENGINE_PRIVATE_EXPORT QQuickWebEngineJavaScriptDialog : public QObject {
- Q_OBJECT
- Q_PROPERTY(QString message READ message CONSTANT)
- Q_PROPERTY(QString defaultValue READ defaultValue CONSTANT)
-
-public:
- QQuickWebEngineJavaScriptDialog(QSharedPointer<QtWebEngineCore::JavaScriptDialogController>);
- QString message() const;
- QString defaultValue() const;
-
-public Q_SLOTS:
- void reject();
- void accept(const QString &input = QString());
-
-private:
- QSharedPointer<QtWebEngineCore::JavaScriptDialogController> m_dialogController;
-};
-
class Q_WEBENGINE_PRIVATE_EXPORT QQuickWebEngineErrorPage : public QObject {
Q_OBJECT
@@ -85,12 +66,6 @@ class Q_WEBENGINE_PRIVATE_EXPORT QQuickWebEngineTestSupport : public QObject {
public:
QQuickWebEngineTestSupport();
QQuickWebEngineErrorPage *errorPage() const;
- void testDialog(QSharedPointer<QtWebEngineCore::JavaScriptDialogController> dialog);
-
-Q_SIGNALS:
- void alertDialog(QQuickWebEngineJavaScriptDialog *dialog);
- void confirmDialog(QQuickWebEngineJavaScriptDialog *dialog);
- void promptDialog(QQuickWebEngineJavaScriptDialog *dialog);
private:
QScopedPointer<QQuickWebEngineErrorPage> m_errorPage;
diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp
index 72ccb128a..bbab3a66f 100644
--- a/src/webengine/api/qquickwebengineview.cpp
+++ b/src/webengine/api/qquickwebengineview.cpp
@@ -229,12 +229,6 @@ void QQuickWebEngineViewPrivate::navigationRequested(int navigationType, const Q
void QQuickWebEngineViewPrivate::javascriptDialog(QSharedPointer<JavaScriptDialogController> dialog)
{
-#ifdef ENABLE_QML_TESTSUPPORT_API
- if (m_testSupport) {
- m_testSupport->testDialog(dialog);
- return;
- }
-#endif
ui()->showDialog(dialog);
}
diff --git a/src/webengine/plugin/testsupport/plugin.cpp b/src/webengine/plugin/testsupport/plugin.cpp
index 667ffffd6..60e56062c 100644
--- a/src/webengine/plugin/testsupport/plugin.cpp
+++ b/src/webengine/plugin/testsupport/plugin.cpp
@@ -55,8 +55,6 @@ public:
qmlRegisterType<QQuickWebEngineTestSupport>(uri, 1, 0, "WebEngineTestSupport");
qmlRegisterUncreatableType<QQuickWebEngineErrorPage>(uri, 1, 0, "WebEngineErrorPage",
QObject::tr("Cannot create a separate instance of WebEngineErrorPage"));
- qmlRegisterUncreatableType<QQuickWebEngineJavaScriptDialog>(uri, 1, 0, "WebEngineJavaScriptDialog",
- QObject::tr("Cannot create a separate instance of WebEngineJavaScriptDialog"));
}
};
diff --git a/tests/auto/quick/qmltests/data/alert.html b/tests/auto/quick/qmltests/data/alert.html
index 39a853519..89715a727 100644
--- a/tests/auto/quick/qmltests/data/alert.html
+++ b/tests/auto/quick/qmltests/data/alert.html
@@ -1,8 +1,5 @@
-<!doctype html>
<html>
<head>
<script> alert("Hello Qt"); </script>
</head>
-<body>
-</body>
</html>
diff --git a/tests/auto/quick/qmltests/data/confirm.html b/tests/auto/quick/qmltests/data/confirm.html
index d7256a883..a4fc5b532 100644
--- a/tests/auto/quick/qmltests/data/confirm.html
+++ b/tests/auto/quick/qmltests/data/confirm.html
@@ -1,19 +1,10 @@
-<!doctype html>
<html>
<head>
<script>
- document.title = "";
- function updateTitle(accepted) {
- if (accepted)
- document.title += " ACCEPTED";
- else
- document.title += " REJECTED";
- }
-
- updateTitle(confirm("ACCEPT"));
- updateTitle(confirm("REJECT"));
+ if (confirm("Confirm test"))
+ document.title += " ACCEPTED";
+ else
+ document.title += " REJECTED";
</script>
</head>
-<body>
-</body>
</html>
diff --git a/tests/auto/quick/qmltests/data/prompt.html b/tests/auto/quick/qmltests/data/prompt.html
index ae5fbd07a..3293c0dcf 100644
--- a/tests/auto/quick/qmltests/data/prompt.html
+++ b/tests/auto/quick/qmltests/data/prompt.html
@@ -1,12 +1,7 @@
-<!doctype html>
<html>
<head>
<script>
document.title = prompt("Please, reverse the default value", "Hello Qt");
- if (prompt("REJECT") !== null)
- document.title = "FAIL";
</script>
</head>
-<body>
-</body>
</html>
diff --git a/tests/auto/quick/qmltests/data/tst_javaScriptDialogs.qml b/tests/auto/quick/qmltests/data/tst_javaScriptDialogs.qml
index da04fbd92..d6c85ad86 100644
--- a/tests/auto/quick/qmltests/data/tst_javaScriptDialogs.qml
+++ b/tests/auto/quick/qmltests/data/tst_javaScriptDialogs.qml
@@ -42,68 +42,55 @@
import QtQuick 2.0
import QtTest 1.0
import QtWebEngine 1.0
-import QtWebEngine.testsupport 1.0
+import "../mock-delegates/TestParams" 1.0
TestWebEngineView {
id: webEngineView
- property string messageFromAlertDialog: ""
- property int confirmCount: 0
- property int promptCount: 0
-
- testSupport: WebEngineTestSupport {
- onAlertDialog: {
- webEngineView.messageFromAlertDialog = dialog.message
- dialog.accept()
- }
-
- onConfirmDialog: {
- webEngineView.confirmCount += 1
- if (dialog.message == "ACCEPT")
- dialog.accept()
- else
- dialog.reject()
- }
-
- onPromptDialog: {
- webEngineView.promptCount += 1
- if (dialog.message == "REJECT")
- dialog.reject()
- else {
- var reversedDefaultValue = dialog.defaultValue.split("").reverse().join("")
- dialog.accept(reversedDefaultValue)
- }
- }
- }
-
TestCase {
id: test
name: "WebEngineViewJavaScriptDialogs"
function init() {
- webEngineView.messageFromAlertDialog = ""
- webEngineView.confirmCount = 0
- webEngineView.promptCount = 0
+ JSDialogParams.dialogMessage = "";
+ JSDialogParams.dialogTitle = "";
+ JSDialogParams.dialogCount = 0;
+ JSDialogParams.shouldAcceptDialog = true;
}
function test_alert() {
webEngineView.url = Qt.resolvedUrl("alert.html")
verify(webEngineView.waitForLoadSucceeded())
- compare(webEngineView.messageFromAlertDialog, "Hello Qt")
+ compare(JSDialogParams.dialogCount, 1)
+ compare(JSDialogParams.dialogMessage, "Hello Qt")
+ verify(JSDialogParams.dialogTitle.indexOf("Javascript Alert -") === 0)
}
function test_confirm() {
webEngineView.url = Qt.resolvedUrl("confirm.html")
verify(webEngineView.waitForLoadSucceeded())
- compare(webEngineView.confirmCount, 2)
- compare(webEngineView.title, "ACCEPTED REJECTED")
+ compare(JSDialogParams.dialogMessage, "Confirm test")
+ compare(JSDialogParams.dialogCount, 1)
+ compare(webEngineView.title, "ACCEPTED")
+ JSDialogParams.shouldAcceptDialog = false
+ webEngineView.reload()
+ verify(webEngineView.waitForLoadSucceeded())
+ compare(JSDialogParams.dialogCount, 2)
+ compare(webEngineView.title, "REJECTED")
+
}
function test_prompt() {
+ JSDialogParams.inputForPrompt = "tQ olleH"
webEngineView.url = Qt.resolvedUrl("prompt.html")
verify(webEngineView.waitForLoadSucceeded())
- compare(webEngineView.promptCount, 2)
+ compare(JSDialogParams.dialogCount, 1)
compare(webEngineView.title, "tQ olleH")
+ JSDialogParams.shouldAcceptDialog = false
+ webEngineView.reload()
+ verify(webEngineView.waitForLoadSucceeded())
+ compare(JSDialogParams.dialogCount, 2)
+ compare(webEngineView.title, "prompt.html")
}
}
}
diff --git a/tests/auto/quick/qmltests/mock-delegates/QtWebEngine/UIDelegates/AlertDialog.qml b/tests/auto/quick/qmltests/mock-delegates/QtWebEngine/UIDelegates/AlertDialog.qml
new file mode 100644
index 000000000..887962a5a
--- /dev/null
+++ b/tests/auto/quick/qmltests/mock-delegates/QtWebEngine/UIDelegates/AlertDialog.qml
@@ -0,0 +1,40 @@
+/****************************************************************************
+**
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the QtWebEngine module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPLv3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or later 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 2.0 requirements will be
+** met: http://www.gnu.org/licenses/gpl-2.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+// Both dialogs are basically expected to behave in the same way from an API point of view
+ConfirmDialog
+{
+}
diff --git a/tests/auto/quick/qmltests/mock-delegates/QtWebEngine/UIDelegates/ConfirmDialog.qml b/tests/auto/quick/qmltests/mock-delegates/QtWebEngine/UIDelegates/ConfirmDialog.qml
new file mode 100644
index 000000000..192272e3d
--- /dev/null
+++ b/tests/auto/quick/qmltests/mock-delegates/QtWebEngine/UIDelegates/ConfirmDialog.qml
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the QtWebEngine module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPLv3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or later 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 2.0 requirements will be
+** met: http://www.gnu.org/licenses/gpl-2.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQml 2.0
+import QtTest 1.0
+import "../../TestParams" 1.0
+
+QtObject {
+ property string text;
+ property string title;
+ signal accepted();
+ signal rejected();
+
+ function open() {
+ JSDialogParams.dialogTitle = title;
+ JSDialogParams.dialogMessage = text;
+ JSDialogParams.dialogCount++;
+ if (JSDialogParams.shouldAcceptDialog)
+ accepted()
+ else
+ rejected()
+ }
+}
+
diff --git a/tests/auto/quick/qmltests/mock-delegates/QtWebEngine/UIDelegates/PromptDialog.qml b/tests/auto/quick/qmltests/mock-delegates/QtWebEngine/UIDelegates/PromptDialog.qml
new file mode 100644
index 000000000..197987928
--- /dev/null
+++ b/tests/auto/quick/qmltests/mock-delegates/QtWebEngine/UIDelegates/PromptDialog.qml
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the QtWebEngine module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPLv3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or later 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 2.0 requirements will be
+** met: http://www.gnu.org/licenses/gpl-2.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQml 2.0
+import QtTest 1.0
+import "../../TestParams" 1.0
+
+QtObject {
+ property string text;
+ property string title;
+ signal accepted();
+ signal rejected();
+ signal input(string text);
+ signal closing();
+
+ function open() {
+ JSDialogParams.dialogTitle = title;
+ JSDialogParams.dialogMessage = text;
+ JSDialogParams.dialogCount++;
+ if (JSDialogParams.shouldAcceptDialog) {
+ input(JSDialogParams.inputForPrompt)
+ accepted()
+ } else {
+ rejected()
+ }
+ }
+}
diff --git a/tests/auto/quick/qmltests/mock-delegates/QtWebEngine/UIDelegates/qmldir b/tests/auto/quick/qmltests/mock-delegates/QtWebEngine/UIDelegates/qmldir
new file mode 100644
index 000000000..1ebabd335
--- /dev/null
+++ b/tests/auto/quick/qmltests/mock-delegates/QtWebEngine/UIDelegates/qmldir
@@ -0,0 +1,4 @@
+module QtWebEngine.UIDelegates
+AlertDialog 1.0 AlertDialog.qml
+ConfirmDialog 1.0 ConfirmDialog.qml
+PromptDialog 1.0 PromptDialog.qml
diff --git a/tests/auto/quick/qmltests/mock-delegates/TestParams/JSDialogParams.qml b/tests/auto/quick/qmltests/mock-delegates/TestParams/JSDialogParams.qml
new file mode 100644
index 000000000..e1370640b
--- /dev/null
+++ b/tests/auto/quick/qmltests/mock-delegates/TestParams/JSDialogParams.qml
@@ -0,0 +1,45 @@
+/****************************************************************************
+**
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the QtWebEngine module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPLv3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or later 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 2.0 requirements will be
+** met: http://www.gnu.org/licenses/gpl-2.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+pragma Singleton
+import QtQml 2.0
+
+QtObject {
+ property string dialogMessage: "";
+ property string dialogTitle: "";
+ property bool shouldAcceptDialog: true;
+ property string inputForPrompt;
+ property int dialogCount: 0
+}
diff --git a/tests/auto/quick/qmltests/mock-delegates/TestParams/qmldir b/tests/auto/quick/qmltests/mock-delegates/TestParams/qmldir
new file mode 100644
index 000000000..f2ed87a75
--- /dev/null
+++ b/tests/auto/quick/qmltests/mock-delegates/TestParams/qmldir
@@ -0,0 +1,4 @@
+# QML module so that the autotests can set testing parameters
+module TestParams
+singleton JSDialogParams 1.0 JSDialogParams.qml
+
diff --git a/tests/auto/quick/qmltests/qmltests.pro b/tests/auto/quick/qmltests/qmltests.pro
index 4b6795ae1..c2e915c35 100644
--- a/tests/auto/quick/qmltests/qmltests.pro
+++ b/tests/auto/quick/qmltests/qmltests.pro
@@ -37,6 +37,12 @@ OTHER_FILES += \
$$PWD/data/tst_runJavaScript.qml \
$$PWD/data/tst_titleChanged.qml \
$$PWD/data/tst_keyboardModifierMapping.qml \
+ $$PWD/mock-delegates/QtWebEngine/UIDelegates/AlertDialog.qml \
+ $$PWD/mock-delegates/QtWebEngine/UIDelegates/ConfirmDialog.qml \
+ $$PWD/mock-delegates/QtWebEngine/UIDelegates/PromptDialog.qml \
+ $$PWD/mock-delegates/QtWebEngine/UIDelegates/qmldir \
+ $$PWD/mock-delegates/TestParams/JSDialogParams.qml \
+ $$PWD/mock-delegates/TestParams/qmldir \
load(qt_build_paths)
diff --git a/tests/auto/quick/qmltests/tst_qmltests.cpp b/tests/auto/quick/qmltests/tst_qmltests.cpp
index d9fc128df..43f481673 100644
--- a/tests/auto/quick/qmltests/tst_qmltests.cpp
+++ b/tests/auto/quick/qmltests/tst_qmltests.cpp
@@ -39,6 +39,19 @@
**
****************************************************************************/
+#include <QtCore/QScopedPointer>
#include <QtQuickTest/quicktest.h>
#include "qt_webengine_quicktest.h"
-QT_WEBENGINE_TEST_MAIN(qmltests);
+
+int main(int argc, char **argv)
+{
+ // Inject the mock ui delegates module
+ qputenv("QML2_IMPORT_PATH", QByteArray(TESTS_SOURCE_DIR "qmltests/mock-delegates"));
+ QScopedPointer<Application> app;
+
+ if (!QCoreApplication::instance())
+ app.reset(new Application(argc, argv));
+ QtWebEngine::initialize();
+ int i = quick_test_main(argc, argv, "qmltests", QUICK_TEST_SOURCE_DIR);
+ return i;
+}
diff --git a/tests/auto/quick/shared/qt_webengine_quicktest.h b/tests/auto/quick/shared/qt_webengine_quicktest.h
index 4d515c394..8193775e3 100644
--- a/tests/auto/quick/shared/qt_webengine_quicktest.h
+++ b/tests/auto/quick/shared/qt_webengine_quicktest.h
@@ -65,18 +65,6 @@ QT_BEGIN_NAMESPACE
#define Application QGuiApplication
#endif
-#define QT_WEBENGINE_TEST_MAIN(name) \
- int main(int argc, char **argv) \
- { \
- Application* app = 0; \
- if (!QCoreApplication::instance()) \
- app = new Application(argc, argv); \
- QtWebEngine::initialize(); \
- int i = quick_test_main(argc, argv, #name, QUICK_TEST_SOURCE_DIR); \
- delete app; \
- return i; \
- }
-
QT_END_NAMESPACE
#endif // QT_WEBENGINE_QUICKTEST_H