diff options
author | Liang Qi <liang.qi@qt.io> | 2016-08-02 11:25:57 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-08-03 04:23:45 +0200 |
commit | a5d51e11b76d8f6a6276f7e89bf0ccbc2985d474 (patch) | |
tree | cbb473923af7db204045f6cea3882e152d3f2e8c /tests/auto/qml/tst_webchannel.qml | |
parent | 91ebebdbf26907c126dcc367832ed524d64b94cf (diff) | |
parent | d342edcc22d3c9c0299e86805d93e7031507345b (diff) | |
download | qtwebchannel-a5d51e11b76d8f6a6276f7e89bf0ccbc2985d474.tar.gz |
Merge remote-tracking branch 'origin/5.7' into dev
Conflicts:
.qmake.conf
tests/auto/webchannel/tst_webchannel.cpp
tests/auto/webchannel/tst_webchannel.h
Change-Id: I01b0f58c10acbef8e2d5d15fc5787e755f519af8
Diffstat (limited to 'tests/auto/qml/tst_webchannel.qml')
-rw-r--r-- | tests/auto/qml/tst_webchannel.qml | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/tests/auto/qml/tst_webchannel.qml b/tests/auto/qml/tst_webchannel.qml index 5e28db3..6da6c4b 100644 --- a/tests/auto/qml/tst_webchannel.qml +++ b/tests/auto/qml/tst_webchannel.qml @@ -89,10 +89,15 @@ TestCase { } } + TestObject { + id: testObject + WebChannel.id: "testObject" + } + TestWebChannel { id: webChannel transports: [client.serverTransport] - registeredObjects: [myObj, myOtherObj, myFactory] + registeredObjects: [myObj, myOtherObj, myFactory, testObject] } function initChannel() { @@ -407,4 +412,40 @@ TestCase { myObj.mySignal(0, myObj); compare(signalArg, 42); } + + // see also: https://bugreports.qt.io/browse/QTBUG-54074 + function test_signalArgumentTypeConversion() + { + var signalArgs = []; + function logSignalArgs(arg) { + signalArgs.push(arg); + } + var channel = client.createChannel(function(channel) { + var testObject = channel.objects.testObject; + testObject.testSignalBool.connect(logSignalArgs); + testObject.testSignalInt.connect(logSignalArgs); + testObject.triggerSignals(); + }); + client.awaitInit(); + + var msg = client.awaitMessage(); + compare(msg.type, JSClient.QWebChannelMessageTypes.connectToSignal); + compare(msg.object, "testObject"); + + msg = client.awaitMessage(); + compare(msg.type, JSClient.QWebChannelMessageTypes.connectToSignal); + compare(msg.object, "testObject"); + + msg = client.awaitMessage(); + compare(msg.type, JSClient.QWebChannelMessageTypes.invokeMethod); + client.awaitIdle(); + + compare(signalArgs, [ + true, + false, + 42, + 1, + 0 + ]); + } } |