summaryrefslogtreecommitdiffstats
path: root/tests/auto/network/access/qnetworkaccessmanager
diff options
context:
space:
mode:
authorDavid Faure <david.faure@kdab.com>2018-03-16 13:27:21 +0100
committerDavid Faure <david.faure@kdab.com>2018-03-17 08:38:29 +0000
commit8b6838347de2d065f96d7f1c519edaaf01701014 (patch)
treeb25ead43a1c9dc7d935625fe503c515756b14962 /tests/auto/network/access/qnetworkaccessmanager
parent23fd4f7171ce0d509f59f42a9881de53f85644e7 (diff)
QNetworkReply: fix isFinished() for disabled replies
When network access is disabled, every QNAM request returns a QDisabledNetworkReply instance, which emits error and finished immediately. However isFinished() was still false, which could confuse application code. Change-Id: Ifd43c86364b11a9583a38fde536e6c09c109b55f Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Diffstat (limited to 'tests/auto/network/access/qnetworkaccessmanager')
-rw-r--r--tests/auto/network/access/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/auto/network/access/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp b/tests/auto/network/access/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp
index bc2e2822cb..120b1c4b66 100644
--- a/tests/auto/network/access/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp
+++ b/tests/auto/network/access/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp
@@ -84,6 +84,15 @@ void tst_QNetworkAccessManager::networkAccessible()
QNetworkAccessManager::NotAccessible);
QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::NotAccessible);
+ // When network is not accessible, all requests fail
+ QNetworkReply *reply = manager.get(QNetworkRequest(QUrl("http://www.example.org")));
+ QSignalSpy finishedSpy(reply, &QNetworkReply::finished);
+ QSignalSpy errorSpy(reply, QOverload<QNetworkReply::NetworkError>::of(&QNetworkReply::error));
+ QVERIFY(finishedSpy.wait());
+ QCOMPARE(reply->isFinished(), true);
+ QCOMPARE(reply->errorString(), QStringLiteral("Network access is disabled."));
+ QCOMPARE(errorSpy.count(), 1);
+
manager.setNetworkAccessible(QNetworkAccessManager::Accessible);
QCOMPARE(spy.count(), expectedCount);