diff options
author | Valery Kotov <kotov.valery@gmail.com> | 2015-04-22 18:03:00 +0300 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@theqtcompany.com> | 2015-05-04 11:20:40 +0000 |
commit | a5890fbcd83fb4e25512741fb5e6870cc4f547bb (patch) | |
tree | ccc3fd931daf5b404216a5558fb454ecffc05c96 /tests | |
parent | af851c290b7cea22f26bb8c852b0029696469d74 (diff) |
qnetworkreplyfileimpl: set attributes if file was sent
Set status code and status text if file was sent with reply.
Change-Id: Ie6acadc5c1d06538449262ffd8486e8de573b931
Task-number: QTBUG-45581
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Pasi Keränen <pasi.keranen@digia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/network/access/qnetworkreply/element.xml | 1 | ||||
-rw-r--r-- | tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp | 30 |
2 files changed, 31 insertions, 0 deletions
diff --git a/tests/auto/network/access/qnetworkreply/element.xml b/tests/auto/network/access/qnetworkreply/element.xml new file mode 100644 index 0000000000..071ffae057 --- /dev/null +++ b/tests/auto/network/access/qnetworkreply/element.xml @@ -0,0 +1 @@ +<root attr="value" attr2="value2"><person /><fruit /></root> diff --git a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp index dcb3df834d..517f7fe3bd 100644 --- a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp +++ b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp @@ -426,6 +426,8 @@ private Q_SLOTS: void qtbug28035browserDoesNotLoadQtProjectOrgCorrectly(); + void qtbug45581WrongReplyStatusCode(); + void synchronousRequest_data(); void synchronousRequest(); #ifndef QT_NO_SSL @@ -7256,6 +7258,34 @@ void tst_QNetworkReply::qtbug28035browserDoesNotLoadQtProjectOrgCorrectly() { QCOMPARE(reply->attribute(QNetworkRequest::SourceIsFromCacheAttribute).toBool(), true); } +void tst_QNetworkReply::qtbug45581WrongReplyStatusCode() +{ + const QUrl url("file:" + testDataDir + "/element.xml"); + QNetworkRequest request(url); + + QNetworkReplyPtr reply; + QSignalSpy finishedSpy(&manager, SIGNAL(finished(QNetworkReply*))); + QSignalSpy sslErrorsSpy(&manager, SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>))); + RUN_REQUEST(runSimpleRequest(QNetworkAccessManager::GetOperation, request, reply, 0)); + QVERIFY(reply->isFinished()); + + const QByteArray expectedContent = + "<root attr=\"value\" attr2=\"value2\">" + "<person /><fruit /></root>\n"; + + QCOMPARE(reply->readAll(), expectedContent); + + QCOMPARE(finishedSpy.count(), 0); + QCOMPARE(sslErrorsSpy.count(), 0); + + QCOMPARE(reply->header(QNetworkRequest::ContentLengthHeader).toLongLong(), expectedContent.size()); + + QCOMPARE(reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(), 200); + QCOMPARE(reply->attribute(QNetworkRequest::HttpReasonPhraseAttribute).toString(), QLatin1String("OK")); + + reply->deleteLater(); +} + void tst_QNetworkReply::synchronousRequest_data() { QTest::addColumn<QUrl>("url"); |