summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre Rossi <pierre.rossi@digia.com>2014-01-28 15:17:12 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-30 11:57:59 +0100
commitb0a705a965e80a7db0694f0f6d9f7df74841ff72 (patch)
treeb96478e03d4171def28292f493440d148534eb2d
parent4343bf8fafc3407a87f6c1e3b05476676b405b1c (diff)
Make the QWebEngineFrame tests pass
The unskipped ones that is. This highlights some behavior changes, notably the fact that loadFinished now fires as many times as there were loads initiated. Change-Id: I75665cdf06f4692fbeccb5227aa056e598038748 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
-rw-r--r--tests/auto/widgets/qwebengineframe/tst_qwebengineframe.cpp46
1 files changed, 24 insertions, 22 deletions
diff --git a/tests/auto/widgets/qwebengineframe/tst_qwebengineframe.cpp b/tests/auto/widgets/qwebengineframe/tst_qwebengineframe.cpp
index b38a7fdfe..fe477c786 100644
--- a/tests/auto/widgets/qwebengineframe/tst_qwebengineframe.cpp
+++ b/tests/auto/widgets/qwebengineframe/tst_qwebengineframe.cpp
@@ -128,37 +128,39 @@ void tst_QWebEngineFrame::cleanup()
void tst_QWebEngineFrame::symmetricUrl()
{
- QVERIFY(m_view->url().isEmpty());
+ QWebEngineView view;
+ QVERIFY(view.url().isEmpty());
- QCOMPARE(m_view->history()->count(), 0);
+ QCOMPARE(view.history()->count(), 0);
QUrl dataUrl("data:text/html,<h1>Test");
- m_view->setUrl(dataUrl);
- QCOMPARE(m_view->url(), dataUrl);
- QCOMPARE(m_view->history()->count(), 0);
+ view.setUrl(dataUrl);
+ QCOMPARE(view.url(), dataUrl);
+ QCOMPARE(view.history()->count(), 0);
// loading is _not_ immediate, so the text isn't set just yet.
- QVERIFY(toPlainText(m_view->page()).isEmpty());
+ QVERIFY(toPlainText(view.page()).isEmpty());
::waitForSignal(m_view, SIGNAL(loadFinished(bool)));
- QCOMPARE(m_view->history()->count(), 1);
- QCOMPARE(toPlainText(m_view->page()), QString("Test"));
+ QCOMPARE(view.history()->count(), 1);
+ QCOMPARE(toPlainText(view.page()), QString("Test"));
QUrl dataUrl2("data:text/html,<h1>Test2");
QUrl dataUrl3("data:text/html,<h1>Test3");
- m_view->setUrl(dataUrl2);
- m_view->setUrl(dataUrl3);
+ view.setUrl(dataUrl2);
+ view.setUrl(dataUrl3);
- QCOMPARE(m_view->url(), dataUrl3);
+ QCOMPARE(view.url(), dataUrl3);
- ::waitForSignal(m_view, SIGNAL(loadFinished(bool)));
+ ::waitForSignal(&view, SIGNAL(loadFinished(bool)));
+ QVERIFY(::waitForSignal(&view, SIGNAL(loadFinished(bool))));
- QCOMPARE(m_view->history()->count(), 2);
+ QCOMPARE(view.history()->count(), 2);
- QCOMPARE(toPlainText(m_view->page()), QString("Test3"));
+ QCOMPARE(toPlainText(view.page()), QString("Test3"));
}
void tst_QWebEngineFrame::progressSignal()
@@ -171,9 +173,12 @@ void tst_QWebEngineFrame::progressSignal()
::waitForSignal(m_view, SIGNAL(loadFinished(bool)));
QVERIFY(progressSpy.size() >= 2);
-
- // WebKit defines initialProgressValue as 10%, not 0%
- QCOMPARE(progressSpy.first().first().toInt(), 10);
+ int previousValue = -1;
+ for (QSignalSpy::ConstIterator it = progressSpy.begin(); it < progressSpy.end(); ++it) {
+ int current = (*it).first().toInt();
+ QVERIFY(current > previousValue);
+ previousValue = current;
+ }
// But we always end at 100%
QCOMPARE(progressSpy.last().first().toInt(), 100);
@@ -542,9 +547,6 @@ protected:
{
alerts++;
QCOMPARE(msg, QString("foo"));
- // Should not be enough to trigger deferred loading, since we've upped the HTML
- // tokenizer delay in the Qt frameloader. See HTMLTokenizer::continueProcessing()
- QTest::qWait(1000);
}
};
@@ -552,10 +554,10 @@ void tst_QWebEngineFrame::setHtmlWithJSAlert()
{
QString html("<html><head></head><body><script>alert('foo');</script><p>hello world</p></body></html>");
MyPage page;
- m_view->setPage(&page);
page.setHtml(html);
+ waitForSignal(&page, SIGNAL(loadFinished(bool)));
QCOMPARE(page.alerts, 1);
- QEXPECT_FAIL("", "https://bugs.webengine.org/show_bug.cgi?id=118663", Continue);
+ QEXPECT_FAIL("", "https://bugs.webkit.org/show_bug.cgi?id=118663", Continue);
QCOMPARE(toHtml(m_view->page()), html);
}