diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/quick/qquickwebengineview/tst_qquickwebengineview.cpp | 37 | ||||
-rw-r--r-- | tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp | 32 |
2 files changed, 69 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickwebengineview/tst_qquickwebengineview.cpp b/tests/auto/quick/qquickwebengineview/tst_qquickwebengineview.cpp index 1c5461fa7..d59fa92e9 100644 --- a/tests/auto/quick/qquickwebengineview/tst_qquickwebengineview.cpp +++ b/tests/auto/quick/qquickwebengineview/tst_qquickwebengineview.cpp @@ -76,6 +76,8 @@ private Q_SLOTS: void stopSettingFocusWhenDisabled_data(); void inputEventForwardingDisabledWhenActiveFocusOnPressDisabled(); + void changeLocale(); + private: inline QQuickWebEngineView *newWebEngineView(); inline QQuickWebEngineView *webEngineView() const; @@ -652,5 +654,40 @@ void tst_QQuickWebEngineView::inputEventForwardingDisabledWhenActiveFocusOnPress QTRY_COMPARE_WITH_TIMEOUT(view->hasActiveFocus(), true, 1000); } +void tst_QQuickWebEngineView::changeLocale() +{ + QUrl url("http://non.existent/"); + + QLocale::setDefault(QLocale("de")); + QQuickWebEngineView *viewDE = newWebEngineView(); + QSignalSpy titleSpyHU(viewDE, SIGNAL(titleChanged())); + + viewDE->setUrl(url); + QVERIFY(waitForLoadFailed(viewDE)); + QTRY_COMPARE(titleSpyHU.size(), 2); + QCOMPARE(viewDE->title(), QStringLiteral("Nicht verf\u00FCgbar: %1").arg(url.toString())); + + QLocale::setDefault(QLocale("en")); + QQuickWebEngineView *viewEN = newWebEngineView(); + QSignalSpy titleSpyEN(viewEN, SIGNAL(titleChanged())); + + viewEN->setUrl(url); + QVERIFY(waitForLoadFailed(viewEN)); + QTRY_COMPARE(titleSpyEN.size(), 2); + QCOMPARE(viewEN->title(), QStringLiteral("%1 is not available").arg(url.toString())); + + viewDE->setUrl(QUrl("about:blank")); + QVERIFY(waitForLoadSucceeded(viewDE)); + titleSpyHU.clear(); + + viewDE->setUrl(url); + QVERIFY(waitForLoadFailed(viewDE)); + QTRY_COMPARE(titleSpyHU.size(), 2); + QCOMPARE(viewDE->title(), QStringLiteral("Nicht verf\u00FCgbar: %1").arg(url.toString())); + + delete viewDE; + delete viewEN; +} + QTEST_MAIN(tst_QQuickWebEngineView) #include "tst_qquickwebengineview.moc" diff --git a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp index 52a696d66..e3ca30ef5 100644 --- a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp +++ b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp @@ -74,6 +74,8 @@ private Q_SLOTS: void doNotSendMouseKeyboardEventsWhenDisabled_data(); void stopSettingFocusWhenDisabled(); void stopSettingFocusWhenDisabled_data(); + + void changeLocale(); }; // This will be called before the first test function is executed. @@ -741,5 +743,35 @@ void tst_QWebEngineView::stopSettingFocusWhenDisabled_data() QTest::newRow("disabled view does not get focus") << false << false; } +void tst_QWebEngineView::changeLocale() +{ + QUrl url("http://non.existent/"); + + QLocale::setDefault(QLocale("de")); + QWebEngineView viewDE; + viewDE.setUrl(url); + + QVERIFY(waitForSignal(&viewDE, SIGNAL(titleChanged(QString)))); + QVERIFY(waitForSignal(&viewDE, SIGNAL(loadFinished(bool)))); + QCOMPARE(viewDE.title(), QStringLiteral("Nicht verf\u00FCgbar: %1").arg(url.toString())); + + QLocale::setDefault(QLocale("en")); + QWebEngineView viewEN; + viewEN.setUrl(url); + + QVERIFY(waitForSignal(&viewEN, SIGNAL(titleChanged(QString)))); + QVERIFY(waitForSignal(&viewEN, SIGNAL(loadFinished(bool)))); + QCOMPARE(viewEN.title(), QStringLiteral("%1 is not available").arg(url.toString())); + + viewDE.setUrl(QUrl("about:blank")); + QVERIFY(waitForSignal(&viewDE, SIGNAL(loadFinished(bool)))); + + viewDE.setUrl(url); + + QVERIFY(waitForSignal(&viewDE, SIGNAL(titleChanged(QString)))); + QVERIFY(waitForSignal(&viewDE, SIGNAL(loadFinished(bool)))); + QCOMPARE(viewDE.title(), QStringLiteral("Nicht verf\u00FCgbar: %1").arg(url.toString())); +} + QTEST_MAIN(tst_QWebEngineView) #include "tst_qwebengineview.moc" |