equal
deleted
inserted
replaced
107 void getMultiple(); |
107 void getMultiple(); |
108 void getMultipleWithPipeliningAndMultiplePriorities(); |
108 void getMultipleWithPipeliningAndMultiplePriorities(); |
109 void getMultipleWithPriorities(); |
109 void getMultipleWithPriorities(); |
110 |
110 |
111 void getEmptyWithPipelining(); |
111 void getEmptyWithPipelining(); |
|
112 |
|
113 void getAndThenDeleteObject(); |
|
114 void getAndThenDeleteObject_data(); |
112 }; |
115 }; |
113 |
116 |
114 tst_QHttpNetworkConnection::tst_QHttpNetworkConnection() |
117 tst_QHttpNetworkConnection::tst_QHttpNetworkConnection() |
115 { |
118 { |
116 Q_SET_DEFAULT_IAP |
119 Q_SET_DEFAULT_IAP |
1031 |
1034 |
1032 qDeleteAll(requests); |
1035 qDeleteAll(requests); |
1033 qDeleteAll(replies); |
1036 qDeleteAll(replies); |
1034 } |
1037 } |
1035 |
1038 |
|
1039 void tst_QHttpNetworkConnection::getAndThenDeleteObject_data() |
|
1040 { |
|
1041 QTest::addColumn<bool>("replyFirst"); |
|
1042 |
|
1043 QTest::newRow("delete-reply-first") << true; |
|
1044 QTest::newRow("delete-connection-first") << false; |
|
1045 } |
|
1046 |
|
1047 void tst_QHttpNetworkConnection::getAndThenDeleteObject() |
|
1048 { |
|
1049 // yes, this will leak if the testcase fails. I don't care. It must not fail then :P |
|
1050 QHttpNetworkConnection *connection = new QHttpNetworkConnection(QtNetworkSettings::serverName()); |
|
1051 QHttpNetworkRequest request("http://" + QtNetworkSettings::serverName() + "/qtest/bigfile"); |
|
1052 QHttpNetworkReply *reply = connection->sendRequest(request); |
|
1053 reply->setDownstreamLimited(true); |
|
1054 |
|
1055 QTime stopWatch; |
|
1056 stopWatch.start(); |
|
1057 forever { |
|
1058 QCoreApplication::instance()->processEvents(); |
|
1059 if (reply->bytesAvailable()) |
|
1060 break; |
|
1061 if (stopWatch.elapsed() >= 30000) |
|
1062 break; |
|
1063 } |
|
1064 |
|
1065 QVERIFY(reply->bytesAvailable()); |
|
1066 QCOMPARE(reply->statusCode() ,200); |
|
1067 QVERIFY(!reply->isFinished()); // must not be finished |
|
1068 |
|
1069 QFETCH(bool, replyFirst); |
|
1070 |
|
1071 if (replyFirst) { |
|
1072 delete reply; |
|
1073 delete connection; |
|
1074 } else { |
|
1075 delete connection; |
|
1076 delete reply; |
|
1077 } |
|
1078 } |
|
1079 |
1036 |
1080 |
1037 |
1081 |
1038 QTEST_MAIN(tst_QHttpNetworkConnection) |
1082 QTEST_MAIN(tst_QHttpNetworkConnection) |
1039 #include "tst_qhttpnetworkconnection.moc" |
1083 #include "tst_qhttpnetworkconnection.moc" |