Added test for QHttpSocket signals.

This commit is contained in:
Nathan Osman
2015-06-23 00:17:19 -07:00
parent ee0c05a8f1
commit b73c45822a

View File

@@ -24,6 +24,7 @@
#include <QBuffer>
#include <QObject>
#include <QSignalSpy>
#include <QTest>
#include "common/qsimplehttpclient.h"
@@ -39,7 +40,7 @@
QSocketPair pair; \
QTRY_VERIFY(pair.isConnected()); \
QSimpleHttpClient client(pair.client()); \
QHttpSocket server(pair.server());
QHttpSocket server(pair.server())
const QByteArray Method = "POST";
const QByteArray Path = "/test";
@@ -59,6 +60,7 @@ private Q_SLOTS:
void testProperties();
void testData();
void testSignals();
private:
@@ -73,7 +75,7 @@ TestQHttpSocket::TestQHttpSocket()
void TestQHttpSocket::testProperties()
{
CREATE_SOCKET_PAIR()
CREATE_SOCKET_PAIR();
client.sendHeaders(Method, Path, headers);
@@ -92,7 +94,7 @@ void TestQHttpSocket::testProperties()
void TestQHttpSocket::testData()
{
CREATE_SOCKET_PAIR()
CREATE_SOCKET_PAIR();
client.sendHeaders(Method, Path, headers);
client.sendData(Data);
@@ -109,5 +111,42 @@ void TestQHttpSocket::testData()
QTRY_COMPARE(client.data(), Data);
}
void TestQHttpSocket::testSignals()
{
CREATE_SOCKET_PAIR();
QSignalSpy headersParsedSpy(&server, SIGNAL(headersParsed()));
QSignalSpy readyReadSpy(&server, SIGNAL(readyRead()));
QSignalSpy readChannelFinishedSpy(&server, SIGNAL(readChannelFinished()));
QSignalSpy bytesWrittenSpy(&server, SIGNAL(bytesWritten(qint64)));
QSignalSpy disconnectedSpy(&server, SIGNAL(disconnected()));
client.sendHeaders(Method, Path, headers);
QTRY_COMPARE(headersParsedSpy.count(), 1);
QCOMPARE(readyReadSpy.count(), 0);
client.sendData(Data);
QTRY_COMPARE(server.bytesAvailable(), Data.length());
QVERIFY(readyReadSpy.count() > 0);
QCOMPARE(readChannelFinishedSpy.count(), 1);
server.writeHeaders();
server.write(Data);
QTRY_COMPARE(client.data(), Data);
QVERIFY(bytesWrittenSpy.count() > 0);
qint64 bytesWritten = 0;
for(int i = 0; i < bytesWrittenSpy.count(); ++i) {
bytesWritten += bytesWrittenSpy.at(i).at(0).toLongLong();
}
QCOMPARE(bytesWritten, Data.length());
server.close();
QTRY_COMPARE(disconnectedSpy.count(), 1);
}
QTEST_MAIN(TestQHttpSocket)
#include "TestQHttpSocket.moc"