summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/qt/tests
diff options
context:
space:
mode:
authorKonstantin Tokarev <annulen@yandex.ru>2019-06-26 19:22:59 +0300
committerKonstantin Tokarev <annulen@yandex.ru>2019-06-26 19:25:02 +0300
commiteb6c5179e8650f66b304a656409a1e5e5efec956 (patch)
treec0babfa588a97e9d325c39410fb9f2a5ffeab430 /Source/WebKit/qt/tests
parentcd2fc453baf21084d0fb9f5f6b203f3aac3fa2ba (diff)
Import WebKit commit d6bf9b7a5a72ec63236f3f2d0eabc20913309793v5.212.0-alpha3
Change-Id: I15a655045d43ea5f2cfe1158016db6426ded0224 Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Diffstat (limited to 'Source/WebKit/qt/tests')
-rw-r--r--Source/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/Source/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp b/Source/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
index 17bc703fc..ab15c6315 100644
--- a/Source/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
+++ b/Source/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
@@ -94,6 +94,7 @@ private Q_SLOTS:
void setUrlThenLoads_data();
void setUrlThenLoads();
void loadFinishedAfterNotFoundError();
+ void signalsDuringErrorHandling();
void loadInSignalHandlers_data();
void loadInSignalHandlers();
@@ -1472,6 +1473,30 @@ void tst_QWebFrame::loadFinishedAfterNotFoundError()
QVERIFY(!wasLoadOk);
}
+void tst_QWebFrame::signalsDuringErrorHandling()
+{
+ QWebPage page;
+ QWebFrame* frame = page.mainFrame();
+
+ QSignalSpy loadStartedSpy(frame, &QWebFrame::loadStarted);
+ QSignalSpy loadFinishedSpy(frame, &QWebFrame::loadFinished);
+ FakeNetworkManager* networkManager = new FakeNetworkManager(&page);
+ page.setNetworkAccessManager(networkManager);
+
+ frame->setUrl(FakeReply::urlFor404ErrorWithoutContents);
+ QTRY_COMPARE(loadStartedSpy.count(), 1);
+ QTRY_COMPARE(loadFinishedSpy.count(), 1);
+ bool wasLoadOk = loadFinishedSpy.at(0).at(0).toBool();
+ QVERIFY(!wasLoadOk);
+
+ frame->load(QUrl("http://example.com"));
+ waitForSignal(frame, SIGNAL(loadFinished(bool)));
+ QCOMPARE(loadStartedSpy.count(), 2);
+ QCOMPARE(loadFinishedSpy.count(), 2);
+ wasLoadOk = loadFinishedSpy.at(1).at(0).toBool();
+ QVERIFY(wasLoadOk);
+}
+
class URLSetter : public QObject {
Q_OBJECT