diff options
author | Aurindam Jana <aurindam.jana@nokia.com> | 2012-04-23 09:23:23 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-04-26 11:46:06 +0200 |
commit | 7f7cd79e29e634ddff55fe18b122ac85c5cfe4a0 (patch) | |
tree | c6914c9a28eaec0e07309cfdfd60b9da0388912b /tests/auto/qml/debugger/qqmldebugservice | |
parent | c0f07d5707180856bb2705359d780a836653188c (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.cpp | 55 |
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[]) { |