diff options
author | Szabolcs David <davidsz@inf.u-szeged.hu> | 2015-03-10 07:18:31 -0700 |
---|---|---|
committer | Szabolcs David <davidsz@inf.u-szeged.hu> | 2015-03-11 15:57:51 +0000 |
commit | d3905d85925a950ca32aa78eead6db7228be1330 (patch) | |
tree | 19c09ceafa14c87bf335b52992d98a90b3fbaddf /src/webengine/api/qquickwebenginetestsupport.cpp | |
parent | 769b3a61f5d2abcb3f694ade95e1e8f1c505b75a (diff) |
Add tst_javaScriptDialogs QML testv5.5.0-alpha1
Test alert, confirm and prompt dialogs via test support API.
Change-Id: I9057a887491ac68e86ccd87181d4091323f6ee6f
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
Diffstat (limited to 'src/webengine/api/qquickwebenginetestsupport.cpp')
-rw-r--r-- | src/webengine/api/qquickwebenginetestsupport.cpp | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/webengine/api/qquickwebenginetestsupport.cpp b/src/webengine/api/qquickwebenginetestsupport.cpp index d85e56e59..0bb16ae14 100644 --- a/src/webengine/api/qquickwebenginetestsupport.cpp +++ b/src/webengine/api/qquickwebenginetestsupport.cpp @@ -39,6 +39,34 @@ #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() { @@ -70,6 +98,28 @@ 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" |