summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2018-01-25 11:54:19 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-03-18 23:28:18 +0000
commit26b7dd232c01218875e542acee6159d1d59cbaf1 (patch)
treeef6102f93a4e06a984f3340b4cc541c2ff99e86c
parent3661e50f29ffe5f891ea62f93f6081b165455cb8 (diff)
Unskip loadInSignalHandlers test
Remove testing of provisionalLoad, use QTRY_COMPARE(spy.count()) instead of spy.wait() to determine number of actual calls. Change-Id: I37cbca8f27d4e12d42c7b30b8362249c1f76c79e Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
-rw-r--r--tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp20
1 files changed, 7 insertions, 13 deletions
diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
index e67636378..6b729d8f2 100644
--- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
+++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
@@ -3788,7 +3788,6 @@ public:
enum Signal {
LoadStarted,
LoadFinished,
- ProvisionalLoad
};
enum Type {
@@ -3820,25 +3819,21 @@ URLSetter::URLSetter(QWebEnginePage* page, Signal signal, URLSetter::Type type,
connect(m_page, SIGNAL(loadStarted()), SLOT(execute()));
else if (signal == LoadFinished)
connect(m_page, SIGNAL(loadFinished(bool)), SLOT(execute()));
- else
- connect(m_page, SIGNAL(provisionalLoad()), SLOT(execute()));
}
void URLSetter::execute()
{
// We track only the first emission.
m_page->disconnect(this);
+ connect(m_page, SIGNAL(loadFinished(bool)), SIGNAL(finished()));
if (m_type == URLSetter::UseLoad)
m_page->load(m_url);
else
m_page->setUrl(m_url);
- connect(m_page, SIGNAL(loadFinished(bool)), SIGNAL(finished()));
}
void tst_QWebEnginePage::loadInSignalHandlers_data()
{
- QSKIP("FIXME: This crashes in content::WebContentsImpl::NavigateToEntry because of reentrancy. Should we require QueuedConnections or do it ourselves to support this?");
-
QTest::addColumn<URLSetter::Type>("type");
QTest::addColumn<URLSetter::Signal>("signal");
QTest::addColumn<QUrl>("url");
@@ -3850,15 +3845,11 @@ void tst_QWebEnginePage::loadInSignalHandlers_data()
QTest::newRow("call load() in loadStarted() after invalid url") << URLSetter::UseLoad << URLSetter::LoadStarted << invalidUrl;
QTest::newRow("call load() in loadFinished() after valid url") << URLSetter::UseLoad << URLSetter::LoadFinished << validUrl;
QTest::newRow("call load() in loadFinished() after invalid url") << URLSetter::UseLoad << URLSetter::LoadFinished << invalidUrl;
- QTest::newRow("call load() in provisionalLoad() after valid url") << URLSetter::UseLoad << URLSetter::ProvisionalLoad << validUrl;
- QTest::newRow("call load() in provisionalLoad() after invalid url") << URLSetter::UseLoad << URLSetter::ProvisionalLoad << invalidUrl;
QTest::newRow("call setUrl() in loadStarted() after valid url") << URLSetter::UseSetUrl << URLSetter::LoadStarted << validUrl;
QTest::newRow("call setUrl() in loadStarted() after invalid url") << URLSetter::UseSetUrl << URLSetter::LoadStarted << invalidUrl;
QTest::newRow("call setUrl() in loadFinished() after valid url") << URLSetter::UseSetUrl << URLSetter::LoadFinished << validUrl;
QTest::newRow("call setUrl() in loadFinished() after invalid url") << URLSetter::UseSetUrl << URLSetter::LoadFinished << invalidUrl;
- QTest::newRow("call setUrl() in provisionalLoad() after valid url") << URLSetter::UseSetUrl << URLSetter::ProvisionalLoad << validUrl;
- QTest::newRow("call setUrl() in provisionalLoad() after invalid url") << URLSetter::UseSetUrl << URLSetter::ProvisionalLoad << invalidUrl;
}
void tst_QWebEnginePage::loadInSignalHandlers()
@@ -3869,10 +3860,13 @@ void tst_QWebEnginePage::loadInSignalHandlers()
const QUrl urlForSetter("qrc:/resources/test1.html");
URLSetter setter(m_page, signal, type, urlForSetter);
-
- m_page->load(url);
QSignalSpy spy(&setter, &URLSetter::finished);
- QVERIFY(spy.wait());
+ m_page->load(url);
+ // every loadStarted() call should have also loadFinished()
+ if (signal == URLSetter::LoadStarted)
+ QTRY_COMPARE(spy.count(), 2);
+ else
+ QTRY_COMPARE(spy.count(), 1);
QCOMPARE(m_page->url(), urlForSetter);
}