aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmllanguage/data/SignalEmitter.qml
blob: 31fe5e4a5e5931662191d3eb88358dab16ad6ed2 (plain)
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
import QtQml 2.0

QtObject {
    // these two need to be set by the test qml
    property QtObject testObject
    property bool handleSignal

    property SignalParam p: SignalParam { }
    property OtherSignalParam op: OtherSignalParam { }
    signal testSignal(SignalParam spp);

    function emitTestSignal() {
        var caught = false;
        try {
            testObject.expectNull = true;
            testSignal(op);
        } catch(e) {
            // good: We want a type error here
            caught = true;
            if (handleSignal)
                testObject.determineSuccess(null);
        }
        if (!caught && handleSignal)
            testObject.determineSuccess("fail");

        testObject.expectNull = false;
        testSignal(p);
    }

    onTestSignal: {
        if (handleSignal == true) {
            testObject.determineSuccess(spp);
        }
    }
}