aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/debugger/qqmldebugservice
diff options
context:
space:
mode:
authorAurindam Jana <aurindam.jana@nokia.com>2012-04-23 09:23:23 +0200
committerQt by Nokia <qt-info@nokia.com>2012-04-26 11:46:06 +0200
commit7f7cd79e29e634ddff55fe18b122ac85c5cfe4a0 (patch)
treec6914c9a28eaec0e07309cfdfd60b9da0388912b /tests/auto/qml/debugger/qqmldebugservice
parentc0f07d5707180856bb2705359d780a836653188c (diff)
QmlDebugging: Exchange supported QDataStream versions
Since the client and service needs to pack/unpack datastreams, they need to encode/decode using the lowest common QDataStream version. Change-Id: I3b4886fece59b24950ba618da07a0fefd41a5637 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Diffstat (limited to 'tests/auto/qml/debugger/qqmldebugservice')
-rw-r--r--tests/auto/qml/debugger/qqmldebugservice/tst_qqmldebugservice.cpp55
1 files changed, 52 insertions, 3 deletions
diff --git a/tests/auto/qml/debugger/qqmldebugservice/tst_qqmldebugservice.cpp b/tests/auto/qml/debugger/qqmldebugservice/tst_qqmldebugservice.cpp
index 12acb9feae..2a561b1859 100644
--- a/tests/auto/qml/debugger/qqmldebugservice/tst_qqmldebugservice.cpp
+++ b/tests/auto/qml/debugger/qqmldebugservice/tst_qqmldebugservice.cpp
@@ -52,8 +52,8 @@
#include "qqmldebugclient.h"
#include "qqmldebugtestservice.h"
-#define PORT 13769
-#define STR_PORT "13769"
+#define PORT 3769
+#define STR_PORT "3769"
class tst_QQmlDebugService : public QObject
{
@@ -61,9 +61,10 @@ class tst_QQmlDebugService : public QObject
private:
QQmlDebugConnection *m_conn;
+
private slots:
- void initTestCase();
+ void initTestCase();
void name();
void version();
void state();
@@ -71,6 +72,8 @@ private slots:
void idForObject();
void objectForId();
void objectToString();
+ void checkSupportForDataStreamVersion();
+ void checkSupportForOldDataStreamVersion();
};
void tst_QQmlDebugService::initTestCase()
@@ -147,6 +150,22 @@ void tst_QQmlDebugService::sendMessage()
duplicate.sendMessage("msg");
}
+void tst_QQmlDebugService::checkSupportForDataStreamVersion()
+{
+ QQmlDebugTestService service("tst_QQmlDebugService::sendMessage2()");
+ QQmlDebugTestClient client("tst_QQmlDebugService::sendMessage2()", m_conn);
+
+ QByteArray msg = "hello!";
+
+ QTRY_COMPARE(client.state(), QQmlDebugClient::Enabled);
+ QTRY_COMPARE(service.state(), QQmlDebugService::Enabled);
+
+ client.sendMessage(msg);
+ QByteArray resp = client.waitForResponse();
+ QCOMPARE(resp, msg);
+ QCOMPARE(m_conn->dataStreamVersion(), int(QDataStream::Qt_5_0));
+}
+
void tst_QQmlDebugService::idForObject()
{
QCOMPARE(QQmlDebugService::idForObject(0), -1);
@@ -194,6 +213,36 @@ void tst_QQmlDebugService::objectToString()
delete obj;
}
+void tst_QQmlDebugService::checkSupportForOldDataStreamVersion()
+{
+ //create a new connection;
+ delete m_conn;
+ m_conn = new QQmlDebugConnection(this);
+ m_conn->setDataStreamVersion(QDataStream::Qt_4_7);
+ for (int i = 0; i < 50; ++i) {
+ // try for 5 seconds ...
+ m_conn->connectToHost("127.0.0.1", PORT);
+ if (m_conn->waitForConnected())
+ break;
+ QTest::qSleep(100);
+ }
+ QVERIFY(m_conn->isConnected());
+
+ QTRY_VERIFY(QQmlDebugService::hasDebuggingClient());
+ QQmlDebugTestService service("tst_QQmlDebugService::sendMessage2()");
+ QQmlDebugTestClient client("tst_QQmlDebugService::sendMessage2()", m_conn);
+
+ QByteArray msg = "hello!";
+
+ QTRY_COMPARE(client.state(), QQmlDebugClient::Enabled);
+ QTRY_COMPARE(service.state(), QQmlDebugService::Enabled);
+
+ client.sendMessage(msg);
+ QByteArray resp = client.waitForResponse();
+ QCOMPARE(resp, msg);
+ QCOMPARE(m_conn->dataStreamVersion(), int(QDataStream::Qt_4_7));
+}
+
int main(int argc, char *argv[])
{