summaryrefslogtreecommitdiff
path: root/tests/auto
diff options
context:
space:
mode:
authorLuca Niccoli <lultimouomo@gmail.com>2015-03-09 18:48:31 +0100
committerLiang Qi <liang.qi@theqtcompany.com>2015-04-09 08:14:10 +0000
commit48418a2e16b6dede3bc002dda5a3cb277fd3e802 (patch)
tree030f396ecea97278ef8b4957922abac93c751dee /tests/auto
parenteb197b8f22e90acb2ee6d9699cce04a402d16538 (diff)
downloadqtwebsockets-48418a2e16b6dede3bc002dda5a3cb277fd3e802.tar.gz
Do not decode the HTTP resource name
The resource needs to be sent encoded in the HTTP request. Task-number: QTBUG-44889 Change-Id: I3c6c56f5fea1553f3b5751de7da0cfc76150f4b9 Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/qwebsocket/tst_qwebsocket.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/tests/auto/qwebsocket/tst_qwebsocket.cpp b/tests/auto/qwebsocket/tst_qwebsocket.cpp
index 7659e89..aca25d0 100644
--- a/tests/auto/qwebsocket/tst_qwebsocket.cpp
+++ b/tests/auto/qwebsocket/tst_qwebsocket.cpp
@@ -50,6 +50,9 @@ public:
QHostAddress hostAddress() const { return m_pWebSocketServer->serverAddress(); }
quint16 port() const { return m_pWebSocketServer->serverPort(); }
+Q_SIGNALS:
+ void newConnection(QUrl requestUrl);
+
private Q_SLOTS:
void onNewConnection();
void processTextMessage(QString message);
@@ -83,6 +86,8 @@ void EchoServer::onNewConnection()
{
QWebSocket *pSocket = m_pWebSocketServer->nextPendingConnection();
+ Q_EMIT newConnection(pSocket->requestUrl());
+
connect(pSocket, SIGNAL(textMessageReceived(QString)), this, SLOT(processTextMessage(QString)));
connect(pSocket, SIGNAL(binaryMessageReceived(QByteArray)), this, SLOT(processBinaryMessage(QByteArray)));
connect(pSocket, SIGNAL(disconnected()), this, SLOT(socketDisconnected()));
@@ -406,6 +411,7 @@ void tst_QWebSocket::tst_sendTextMessage()
QCOMPARE(socket.sendTextMessage(QStringLiteral("1234")), 0);
QSignalSpy socketConnectedSpy(&socket, SIGNAL(connected()));
+ QSignalSpy serverConnectedSpy(&echoServer, SIGNAL(newConnection(QUrl)));
QSignalSpy textMessageReceived(&socket, SIGNAL(textMessageReceived(QString)));
QSignalSpy textFrameReceived(&socket, SIGNAL(textFrameReceived(QString,bool)));
QSignalSpy binaryMessageReceived(&socket, SIGNAL(binaryMessageReceived(QByteArray)));
@@ -414,6 +420,7 @@ void tst_QWebSocket::tst_sendTextMessage()
QUrl url = QUrl(QStringLiteral("ws://") + echoServer.hostAddress().toString() +
QStringLiteral(":") + QString::number(echoServer.port()));
+ url.setPath("/segment/with spaces");
url.addQueryItem("queryitem", "with encoded characters");
socket.open(url);
@@ -422,6 +429,10 @@ void tst_QWebSocket::tst_sendTextMessage()
QVERIFY(socketConnectedSpy.wait(500));
QCOMPARE(socketError.count(), 0);
QCOMPARE(socket.state(), QAbstractSocket::ConnectedState);
+ QCOMPARE(serverConnectedSpy.count(), 1);
+ QList<QVariant> arguments = serverConnectedSpy.takeFirst();
+ QUrl urlConnected = arguments.at(0).toUrl();
+ QCOMPARE(urlConnected, url);
socket.sendTextMessage(QStringLiteral("Hello world!"));
@@ -429,7 +440,7 @@ void tst_QWebSocket::tst_sendTextMessage()
QCOMPARE(textMessageReceived.count(), 1);
QCOMPARE(binaryMessageReceived.count(), 0);
QCOMPARE(binaryFrameReceived.count(), 0);
- QList<QVariant> arguments = textMessageReceived.takeFirst();
+ arguments = textMessageReceived.takeFirst();
QString messageReceived = arguments.at(0).toString();
QCOMPARE(messageReceived, QStringLiteral("Hello world!"));