diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/webchannel/tst_webchannel.cpp | 30 | ||||
-rw-r--r-- | tests/auto/webchannel/tst_webchannel.h | 1 |
2 files changed, 31 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; diff --git a/tests/auto/webchannel/tst_webchannel.h b/tests/auto/webchannel/tst_webchannel.h index 8ca1cdd..7cfce06 100644 --- a/tests/auto/webchannel/tst_webchannel.h +++ b/tests/auto/webchannel/tst_webchannel.h @@ -327,6 +327,7 @@ private slots: void testDisconnect(); void testWrapRegisteredObject(); void testUnwrapObject(); + void testTransportWrapObjectProperties(); void testRemoveUnusedTransports(); void testPassWrappedObjectBack(); void testWrapValues(); |