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.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/auto/webchannel/tst_webchannel.cpp b/tests/auto/webchannel/tst_webchannel.cpp
index ffaebba..4a66bdd 100644
--- a/tests/auto/webchannel/tst_webchannel.cpp
+++ b/tests/auto/webchannel/tst_webchannel.cpp
@@ -757,6 +757,36 @@ void TestWebChannel::testUnwrapObject()
}
}
+void TestWebChannel::testTransportWrapObjectProperties()
+{
+ QWebChannel channel;
+
+ TestObject obj;
+ obj.setObjectName("testObject");
+ channel.registerObject(obj.objectName(), &obj);
+
+ DummyTransport *dummyTransport = new DummyTransport(this);
+ channel.connectTo(dummyTransport);
+ channel.d_func()->publisher->initializeClient(dummyTransport);
+ channel.d_func()->publisher->setClientIsIdle(true);
+
+ QCOMPARE(channel.d_func()->publisher->transportedWrappedObjects.size(), 0);
+
+ QObject objPropObject;
+ objPropObject.setObjectName("foobar");
+
+ obj.setObjectProperty(&objPropObject);
+
+ channel.d_func()->publisher->sendPendingPropertyUpdates();
+
+ QCOMPARE(channel.d_func()->publisher->wrappedObjects.size(), 1);
+ const QString wrappedObjId = channel.d_func()->publisher->wrappedObjects.keys()[0];
+
+ QCOMPARE(channel.d_func()->publisher->transportedWrappedObjects.size(), 1);
+ QCOMPARE(channel.d_func()->publisher->transportedWrappedObjects.keys()[0], dummyTransport);
+ QCOMPARE(channel.d_func()->publisher->transportedWrappedObjects.values()[0], wrappedObjId);
+}
+
void TestWebChannel::testRemoveUnusedTransports()
{
QWebChannel channel;