File: tst_appdispatcher_dispatch_reentrant.qml

package info (click to toggle)
quickflux 1.1.3%2Bgit20201110.2a37acf-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,036 kB
  • sloc: cpp: 2,874; makefile: 26
file content (47 lines) | stat: -rw-r--r-- 1,064 bytes parent folder | download
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");
    }

}