summaryrefslogtreecommitdiff
path: root/tests/auto/qml/testtransport.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qml/testtransport.cpp')
-rw-r--r--tests/auto/qml/testtransport.cpp24
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