blob: 14326bb9e6d1db937ba378ef04a5b004fdcdaf16 (
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
import Qt.test 1.0
import QtQuick 2.0
QtObject {
id: root
property int count: 0
signal testSignal
onTestSignal: count++
property int funcCount: 0
function testFunction() {
funcCount++;
}
//should increment count
function testSignalCall() {
testSignal()
}
//should NOT increment count, and should throw an exception
property string errorString
function testSignalHandlerCall() {
try {
onTestSignal()
} catch (error) {
errorString = error.toString();
}
}
//should increment funcCount once
function testSignalConnection() {
testSignal.connect(testFunction)
testSignal();
testSignal.disconnect(testFunction)
testSignal();
}
//should increment funcCount once
function testSignalHandlerConnection() {
onTestSignal.connect(testFunction)
testSignal();
onTestSignal.disconnect(testFunction)
testSignal();
}
//should be defined
property bool definedResult: false
function testSignalDefined() {
if (testSignal !== undefined)
definedResult = true;
}
//should be defined
property bool definedHandlerResult: false
function testSignalHandlerDefined() {
if (onTestSignal !== undefined)
definedHandlerResult = true;
}
property QtObject objWithAlias: QtObject {
id: testObjectWithAlias
property int count: 0;
property alias countAlias: testObjectWithAlias.count
}
function testConnectionOnAlias() {
var called = false;
testObjectWithAlias.onCountAliasChanged.connect(function() {
called = true
})
testObjectWithAlias.count++;
return called;
}
property QtObject objWithAliasHandler: QtObject {
id: testObjectWithAliasHandler
property bool testSuccess: false
property int count: 0
property alias countAlias: testObjectWithAliasHandler.count
onCountAliasChanged: testSuccess = true
}
function testAliasSignalHandler() {
testObjectWithAliasHandler.testSuccess = false
testObjectWithAliasHandler.count++
return testObjectWithAliasHandler.testSuccess
}
signal signalWithClosureArgument(var f)
onSignalWithClosureArgument: f()
function testSignalWithClosureArgument() {
var testSuccess = false
signalWithClosureArgument(function() {
testSuccess = true
})
return testSuccess
}
property QtObject subObject: QtObject {
id: subObject
property int value
property bool ok: false
onValueChanged: this.ok = true
}
function testThisInSignalHandler() {
subObject.ok = false
subObject.value = subObject.value + 1
return subObject.ok
}
}
|