aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/webchannel/tst_webchannel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/webchannel/tst_webchannel.cpp')
-rw-r--r--tests/auto/webchannel/tst_webchannel.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/auto/webchannel/tst_webchannel.cpp b/tests/auto/webchannel/tst_webchannel.cpp
index 6764204..e46d097 100644
--- a/tests/auto/webchannel/tst_webchannel.cpp
+++ b/tests/auto/webchannel/tst_webchannel.cpp
@@ -708,6 +708,25 @@ void TestWebChannel::testWrapRegisteredObject()
QCOMPARE(obj.objectName(), returnedId);
}
+void TestWebChannel::testUnwrapObject()
+{
+ QWebChannel channel;
+
+ {
+ TestObject obj;
+ obj.setObjectName("testObject");
+ channel.registerObject(obj.objectName(), &obj);
+ QObject *unwrapped = channel.d_func()->publisher->unwrapObject(obj.objectName());
+ QCOMPARE(unwrapped, &obj);
+ }
+ {
+ TestObject obj;
+ QJsonObject objectInfo = channel.d_func()->publisher->wrapResult(QVariant::fromValue(&obj), m_dummyTransport).toObject();
+ QObject *unwrapped = channel.d_func()->publisher->unwrapObject(objectInfo["id"].toString());
+ QCOMPARE(unwrapped, &obj);
+ }
+}
+
void TestWebChannel::testRemoveUnusedTransports()
{
QWebChannel channel;