From 8b6838347de2d065f96d7f1c519edaaf01701014 Mon Sep 17 00:00:00 2001 From: David Faure Date: Fri, 16 Mar 2018 13:27:21 +0100 Subject: 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 --- .../access/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'tests') 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::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); -- cgit v1.2.3