diff options
Diffstat (limited to 'tests/auto/qml/testtransport.cpp')
-rw-r--r-- | tests/auto/qml/testtransport.cpp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/tests/auto/qml/testtransport.cpp b/tests/auto/qml/testtransport.cpp index a332955..d73a4b8 100644 --- a/tests/auto/qml/testtransport.cpp +++ b/tests/auto/qml/testtransport.cpp @@ -41,6 +41,10 @@ #include "testtransport.h" +#include <QDebug> +#include <QJsonDocument> +#include <QJsonObject> + QT_BEGIN_NAMESPACE TestTransport::TestTransport(QObject *parent) @@ -49,9 +53,25 @@ TestTransport::TestTransport(QObject *parent) } -void TestTransport::sendTextMessage(const QString &message) +void TestTransport::sendMessage(const QJsonObject &message) +{ + emit sendMessageRequested(message); +} + +void TestTransport::receiveMessage(const QString &message) { - emit sendTextMessageRequested(message); + QJsonParseError error; + QJsonDocument doc = QJsonDocument::fromJson(message.toUtf8(), &error); + if (error.error) { + qWarning("Failed to parse JSON message: %s\nError is: %s", + qPrintable(message), qPrintable(error.errorString())); + return; + } else if (!doc.isObject()) { + qWarning("Received JSON message that is not an object: %s", + qPrintable(message)); + return; + } + emit messageReceived(doc.object(), this); } QT_END_NAMESPACE |