diff options
Diffstat (limited to 'tests/qml')
-rw-r--r-- | tests/qml/tst_bench.qml | 28 | ||||
-rw-r--r-- | tests/qml/tst_metaobjectpublisher.qml | 74 | ||||
-rw-r--r-- | tests/qml/wrapper.html | 1 |
3 files changed, 46 insertions, 57 deletions
diff --git a/tests/qml/tst_bench.qml b/tests/qml/tst_bench.qml index 729aca9..c7c7c7c 100644 --- a/tests/qml/tst_bench.qml +++ b/tests/qml/tst_bench.qml @@ -78,12 +78,12 @@ WebChannelTest { MetaObjectPublisher { id: publisher webChannel: test.webChannel + } - Connections { - target: webChannel - onRawMessageReceived: { - publisher.handleRequest(JSON.parse(rawMessage)); - } + Connections { + target: test.webChannel + onRawMessageReceived: { + publisher.handleRequest(JSON.parse(rawMessage)); } } @@ -107,19 +107,13 @@ WebChannelTest { function benchmark_initializeClients() { - publisher.propertyUpdatesInitialized = false; - publisher.signalToPropertyMap = {} - publisher.subscriberCountMap = {} - - publisher.initializeClients() + publisher.bench_initializeClients(); } function benchmark_propertyUpdates() { - if (!publisher.propertyUpdatesInitialized) { - // required to make the benchmark work standalone - publisher.initializeClients() - } + // required to make the benchmark work standalone + publisher.bench_ensureUpdatesInitialized(); for (var o in objects) { objects[o].p0++; @@ -133,14 +127,12 @@ WebChannelTest { objects[o].p8++; objects[o].p9++; } - publisher.clientIsIdle = true - publisher.sendPendingPropertyUpdates() + publisher.bench_sendPendingPropertyUpdates(); } function benchmark_registerObjects() { - publisher.propertyUpdatesInitialized = false; - publisher.registerObjects(objects); + publisher.bench_registerObjects(objects); } function benchmark_init_baseline() diff --git a/tests/qml/tst_metaobjectpublisher.qml b/tests/qml/tst_metaobjectpublisher.qml index 4754c3d..6cb01e6 100644 --- a/tests/qml/tst_metaobjectpublisher.qml +++ b/tests/qml/tst_metaobjectpublisher.qml @@ -59,9 +59,11 @@ WebChannelTest { } QtObject { id: myFactory + property var lastObj function create(id) { - return component.createObject(myFactory, {objectName: id}); + lastObj = component.createObject(myFactory, {objectName: id}); + return lastObj; } } @@ -79,16 +81,16 @@ WebChannelTest { MetaObjectPublisher { id: publisher webChannel: test.webChannel + } - Connections { - target: webChannel - onRawMessageReceived: { - var message = JSON.parse(rawMessage); - verify(message); - var handled = publisher.handleRequest(message); - if (message.data && message.data.type) { - verify(handled); - } + Connections { + target: test.webChannel + onRawMessageReceived: { + var message = JSON.parse(rawMessage); + verify(message); + var handled = publisher.handleRequest(message); + if (message.data && message.data.type) { + verify(handled); } } } @@ -117,7 +119,18 @@ WebChannelTest { verify(msg); verify(msg.data); compare(msg.data.type, "Qt.idle"); - verify(publisher.clientIsIdle) + verify(publisher.test_clientIsIdle()) + } + + function awaitMessageSkipIdle() + { + var msg; + do { + msg = awaitMessage(); + verify(msg); + verify(msg.data); + } while (msg.data.type === "Qt.idle"); + return msg; } function test_property() @@ -178,7 +191,6 @@ WebChannelTest { var msg = awaitMessage(); compare(msg.data.type, "Qt.connectToSignal"); compare(msg.data.object, "myObj"); - compare(msg.data.signal, "mySignal"); awaitIdle(); @@ -215,54 +227,45 @@ WebChannelTest { loadUrl("wrapper.html"); awaitInit(); - var msg = awaitMessage(); + var msg = awaitMessageSkipIdle(); compare(msg.data.type, "Qt.invokeMethod"); compare(msg.data.object, "myFactory"); - compare(msg.data.method, "create"); + verify(myFactory.lastObj); + compare(myFactory.lastObj.objectName, "testObj"); - awaitIdle(); - - msg = awaitMessage(); + msg = awaitMessageSkipIdle(); compare(msg.data.type, "Qt.connectToSignal"); - compare(msg.data.signal, "destroyed"); verify(msg.data.object); var objId = msg.data.object; - var obj = publisher.unwrapObject(objId); - verify(obj); - compare(obj.objectName, "testObj"); - msg = awaitMessage(); + msg = awaitMessageSkipIdle(); compare(msg.data.type, "Qt.connectToSignal"); compare(msg.data.object, objId); - compare(msg.data.signal, "mySignal"); - msg = awaitMessage(); + msg = awaitMessageSkipIdle(); compare(msg.data.type, "Qt.setProperty"); compare(msg.data.object, objId); - compare(obj.myProperty, 42); + compare(myFactory.lastObj.myProperty, 42); - msg = awaitMessage(); + msg = awaitMessageSkipIdle(); compare(msg.data.type, "Qt.invokeMethod"); compare(msg.data.object, objId); - compare(msg.data.method, "myMethod"); compare(msg.data.args, ["foobar"]); - msg = awaitMessage(); + msg = awaitMessageSkipIdle(); compare(msg.data.label, "signalReceived"); compare(msg.data.args, ["foobar", 42]); // pass QObject* on the fly and trigger deleteLater from client side webChannel.sendMessage("triggerDelete"); - awaitIdle(); - msg = awaitMessage(); + msg = awaitMessageSkipIdle(); compare(msg.data.type, "Qt.invokeMethod"); compare(msg.data.object, objId); - compare(msg.data.method, "deleteLater"); - verify(!publisher.unwrapObject(objId)); webChannel.sendMessage("report"); - msg = awaitMessage(); + + msg = awaitMessageSkipIdle(); compare(msg.data.label, "report"); compare(msg.data.obj, {}); } @@ -274,9 +277,7 @@ WebChannelTest { var msg = awaitMessage(); compare(msg.data.type, "Qt.connectToSignal"); - compare(msg.data.signal, "mySignal"); compare(msg.data.object, "myObj"); - verify(publisher.subscriberCountMap["myObj"].hasOwnProperty("mySignal")); awaitIdle(); @@ -289,9 +290,6 @@ WebChannelTest { msg = awaitMessage(); compare(msg.data.type, "Qt.disconnectFromSignal"); compare(msg.data.object, "myObj"); - compare(msg.data.signal, "mySignal"); - - verify(!publisher.subscriberCountMap["myObj"].hasOwnProperty("mySignal")); myObj.mySignal(0); diff --git a/tests/qml/wrapper.html b/tests/qml/wrapper.html index a6c313b..54f456b 100644 --- a/tests/qml/wrapper.html +++ b/tests/qml/wrapper.html @@ -16,7 +16,6 @@ obj.myMethod("foobar"); }); channel.subscribe("triggerDelete", function() { - console.log(testObj); testObj.deleteLater(); }); channel.subscribe("report", function() { |