diff options
author | Peter Varga <pvarga@inf.u-szeged.hu> | 2017-02-15 11:49:25 +0100 |
---|---|---|
committer | Peter Varga <pvarga@inf.u-szeged.hu> | 2017-03-03 05:51:25 +0000 |
commit | 78d8985c6bdb7bf9d04fa5e6936aadab5174c6d2 (patch) | |
tree | 49d4a45b617b105704bc942274fc4195c61180da /tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp | |
parent | c7edb365f6c9c3d614fb6bb2fe03de3dd6d2d5a8 (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.cpp | 50 |
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() |