1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
import QtQuick 2.0
import QtTest 1.0
import QuickFlux 1.0
TestCase {
name : "Dispatcher_dispatch_reentrant"
property var messages : new Array
Connections {
target : AppDispatcher
onDispatched: {
messages.push([type,message]);
if (type === "ping") {
AppDispatcher.dispatch("pong",{})
}
}
}
Connections {
target : AppDispatcher
onDispatched: {
messages.push([type,message]);
if (type === "ping") {
AppDispatcher.dispatch("pong",{})
}
}
}
function test_dispatch_reentrant() {
var i;
compare(messages.length,0);
AppDispatcher.dispatch("ping",{});
compare(messages.length,6); // ping x 2 , pong x 4
compare(messages[0][0],"ping");
compare(messages[1][0],"ping");
compare(messages[2][0],"pong");
compare(messages[3][0],"pong");
compare(messages[4][0],"pong");
compare(messages[5][0],"pong");
}
}
|