diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-05-10 14:39:15 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-05-12 12:46:13 +0200 |
commit | 4629185e555e6c891d6308ae7cafa584ce6d731f (patch) | |
tree | 1ed9f01ec7fdb6f52a607cab0a31b60bb60179d2 /tests/auto/widgets/qwebengineview | |
parent | f8527fa9427984082cd425d304d29fd030ff5b1a (diff) | |
parent | 5d41d39b82acb3e2da597df0588fb906e212d608 (diff) |
Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
examples/webenginewidgets/printme/printhandler.cpp
src/3rdparty
src/core/api/qwebenginepage_p.h
src/core/content_browser_client_qt.h
src/core/web_contents_adapter_client.h
src/core/web_contents_delegate_qt.cpp
src/core/web_contents_delegate_qt.h
src/webenginequick/api/qquickwebengineview_p_p.h
tests/auto/quick/qmltests/data/tst_download.qml
tests/auto/quick/qmltests/data/tst_viewSoure.qml
tests/auto/widgets/loadsignals/tst_loadsignals.cpp
tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
Change-Id: I9c1819ec15e13d4f8e244defe860e26274b5d4be
Diffstat (limited to 'tests/auto/widgets/qwebengineview')
-rw-r--r-- | tests/auto/widgets/qwebengineview/BLACKLIST | 3 | ||||
-rw-r--r-- | tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp | 49 |
2 files changed, 38 insertions, 14 deletions
diff --git a/tests/auto/widgets/qwebengineview/BLACKLIST b/tests/auto/widgets/qwebengineview/BLACKLIST index 05ebee4ce..c1a46e16d 100644 --- a/tests/auto/widgets/qwebengineview/BLACKLIST +++ b/tests/auto/widgets/qwebengineview/BLACKLIST @@ -6,3 +6,6 @@ windows [horizontalScrollbarTest] osx + +[mixLangLocale:eu_ES] +* diff --git a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp index 7af08dbde..284f84d9f 100644 --- a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp +++ b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp @@ -124,6 +124,7 @@ private Q_SLOTS: void doNotBreakLayout(); void changeLocale(); + void mixLangLocale_data(); void mixLangLocale(); void inputMethodsTextFormat_data(); void inputMethodsTextFormat(); @@ -1213,26 +1214,46 @@ void tst_QWebEngineView::changeLocale() QCOMPARE(errorLines.first().toUtf8(), QByteArrayLiteral("Die Website ist nicht erreichbar")); } +void tst_QWebEngineView::mixLangLocale_data() +{ + QTest::addColumn<QString>("locale"); + QTest::addColumn<QByteArray>("formattedNumber"); + QTest::newRow("en_DK") << "en-DK" << QByteArray("1.234.567.890"); + QTest::newRow("de") << "de" << QByteArray("1.234.567.890"); + QTest::newRow("de_CH") << "de-CH" << QByteArray("1’234’567’890"); + QTest::newRow("eu_ES") << "eu-ES" << QByteArray("1.234.567.890"); + QTest::newRow("hu_HU") << "hu-HU" << QByteArray("1\xC2\xA0""234\xC2\xA0""567\xC2\xA0""890"); // no-break spaces +} + void tst_QWebEngineView::mixLangLocale() { - for (QString locale : { "en_DK", "de_CH", "eu_ES" }) { - QLocale::setDefault(QLocale(locale)); - QWebEngineView view; - QSignalSpy loadSpy(&view, &QWebEngineView::loadFinished); + QFETCH(QString, locale); + QFETCH(QByteArray, formattedNumber); - bool terminated = false; - auto sc = connect(view.page(), &QWebEnginePage::renderProcessTerminated, [&] () { terminated = true; }); + QLocale::setDefault(QLocale(locale)); - view.load(QUrl("qrc:///resources/dummy.html")); - QTRY_VERIFY(terminated || loadSpy.count() == 1); + QWebEngineView view; + QSignalSpy loadSpy(&view, &QWebEngineView::loadFinished); - QVERIFY2(!terminated, - qPrintable(QString("Locale [%1] terminated: %2, loaded: %3").arg(locale).arg(terminated).arg(loadSpy.count()))); - QVERIFY(loadSpy.first().first().toBool()); + bool terminated = false; + auto sc = connect(view.page(), &QWebEnginePage::renderProcessTerminated, [&] () { terminated = true; }); + + view.load(QUrl("qrc:///resources/dummy.html")); + QTRY_VERIFY(terminated || loadSpy.count() == 1); + + QVERIFY2(!terminated, + qPrintable(QString("Locale [%1] terminated: %2, loaded: %3").arg(locale).arg(terminated).arg(loadSpy.count()))); + QVERIFY(loadSpy.first().first().toBool()); + + QString content = toPlainTextSync(view.page()); + QVERIFY2(!content.isEmpty() && content.contains("test content"), qPrintable(content)); + + QCOMPARE(evaluateJavaScriptSync(view.page(), "navigator.language").toString(), QLocale().bcp47Name()); + + if (locale == "eu-ES") + QEXPECT_FAIL("", "Basque number formatting is somehow dependent on environment", Continue); + QCOMPARE(evaluateJavaScriptSync(view.page(), "Number(1234567890).toLocaleString()").toByteArray(), formattedNumber); - QString content = toPlainTextSync(view.page()); - QVERIFY2(!content.isEmpty() && content.contains("test content"), qPrintable(content)); - } QLocale::setDefault(QLocale("en")); } |