summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
diff options
context:
space:
mode:
authorPeter Varga <pvarga@inf.u-szeged.hu>2017-02-15 11:49:25 +0100
committerPeter Varga <pvarga@inf.u-szeged.hu>2017-03-03 05:51:25 +0000
commit78d8985c6bdb7bf9d04fa5e6936aadab5174c6d2 (patch)
tree49d4a45b617b105704bc942274fc4195c61180da /tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
parentc7edb365f6c9c3d614fb6bb2fe03de3dd6d2d5a8 (diff)
Rework change locale tests for 55-based Chromium
Error pages no longer have useful titles in Chromium 55. Test the error page content instead. Tests have been also stabilized. Task-number: QTBUG-58022 Change-Id: If5c3e2b1df2cb3ee8b48d651e6f19360fa484f17 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp')
-rw-r--r--tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp50
1 files changed, 27 insertions, 23 deletions
diff --git a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
index 3b683e541..8057b5beb 100644
--- a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
+++ b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
@@ -865,37 +865,41 @@ void tst_QWebEngineView::focusOnNavigation()
void tst_QWebEngineView::changeLocale()
{
- QSKIP("Error pages no longer have useful titles in Chromium 55");
+ QStringList errorLines;
QUrl url("http://non.existent/");
QLocale::setDefault(QLocale("de"));
QWebEngineView viewDE;
- viewDE.setUrl(url);
+ QSignalSpy loadFinishedSpyDE(&viewDE, SIGNAL(loadFinished(bool)));
+ viewDE.load(url);
+ QTRY_COMPARE_WITH_TIMEOUT(loadFinishedSpyDE.count(), 1, 12000);
- QSignalSpy spyTitleChangedDE(&viewDE, &QWebEngineView::titleChanged);
- QVERIFY(spyTitleChangedDE.wait());
- QSignalSpy spyFinishedDE(&viewDE, &QWebEngineView::loadFinished);
- QVERIFY(spyFinishedDE.wait());
- QCOMPARE(viewDE.title(), QStringLiteral("Nicht verf\u00FCgbar: %1").arg(url.toString()));
+ QTRY_VERIFY(!toPlainTextSync(viewDE.page()).isEmpty());
+ errorLines = toPlainTextSync(viewDE.page()).split(QRegExp("[\r\n]"), QString::SkipEmptyParts);
+ QCOMPARE(errorLines.first(), QStringLiteral("Diese Website ist nicht erreichbar"));
QLocale::setDefault(QLocale("en"));
QWebEngineView viewEN;
- viewEN.setUrl(url);
-
- QSignalSpy spyTitleChangedEN(&viewEN, &QWebEngineView::titleChanged);
- QVERIFY(spyTitleChangedEN.wait());
- QSignalSpy spyFinishedEN(&viewEN, &QWebEngineView::loadFinished);
- QVERIFY(spyFinishedEN.wait());
- QCOMPARE(viewEN.title(), QStringLiteral("%1 is not available").arg(url.toString()));
-
- viewDE.setUrl(QUrl("about:blank"));
- QVERIFY(spyFinishedDE.wait());
-
- viewDE.setUrl(url);
-
- QVERIFY(spyTitleChangedDE.wait());
- QVERIFY(spyFinishedDE.wait());
- QCOMPARE(viewDE.title(), QStringLiteral("Nicht verf\u00FCgbar: %1").arg(url.toString()));
+ QSignalSpy loadFinishedSpyEN(&viewEN, SIGNAL(loadFinished(bool)));
+ viewEN.load(url);
+ QTRY_COMPARE_WITH_TIMEOUT(loadFinishedSpyEN.count(), 1, 12000);
+
+ QTRY_VERIFY(!toPlainTextSync(viewEN.page()).isEmpty());
+ errorLines = toPlainTextSync(viewEN.page()).split(QRegExp("[\r\n]"), QString::SkipEmptyParts);
+ QCOMPARE(errorLines.first(), QStringLiteral("This site can\u2019t be reached"));
+
+ // Reset error page
+ viewDE.load(QUrl("about:blank"));
+ QVERIFY(loadFinishedSpyDE.wait());
+ loadFinishedSpyDE.clear();
+
+ // Check whether an existing QWebEngineView keeps the language settings after changing the default locale
+ viewDE.load(url);
+ QTRY_COMPARE_WITH_TIMEOUT(loadFinishedSpyDE.count(), 1, 12000);
+
+ QTRY_VERIFY(!toPlainTextSync(viewDE.page()).isEmpty());
+ errorLines = toPlainTextSync(viewDE.page()).split(QRegExp("[\r\n]"), QString::SkipEmptyParts);
+ QCOMPARE(errorLines.first(), QStringLiteral("Diese Website ist nicht erreichbar"));
}
void tst_QWebEngineView::inputMethodsTextFormat_data()