aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports
diff options
context:
space:
mode:
authorGabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>2015-05-04 13:15:37 +0200
committerGabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>2016-03-18 21:24:50 +0000
commit2e7d4ecdc59942b484159ca827f5d5dbc8787a1b (patch)
treea1d74d25e15dd9fddb7a98f3159117edda6c1563 /src/imports
parent201dec50b6f08b740aab9947725f8f5ec36349bb (diff)
SignalSpy: Support "pressed" signal use-case
In some types, e.g. MouseArea, the "pressed" symbol refers both to a signal and to a property. When trying to connect to the signal, we get an error since the engine will resolve to the property instead. We circumvent that by connecting to the signal handler instead, i.e. "onPressed" for the "pressed" signal. Change-Id: I4212b752be4da4ec2209a3447ac41326f1e0bb5d Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Diffstat (limited to 'src/imports')
-rw-r--r--src/imports/testlib/SignalSpy.qml11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/imports/testlib/SignalSpy.qml b/src/imports/testlib/SignalSpy.qml
index 7288c57ea0..882e3d3578 100644
--- a/src/imports/testlib/SignalSpy.qml
+++ b/src/imports/testlib/SignalSpy.qml
@@ -222,14 +222,16 @@ Item {
/*! \internal */
function qtest_update() {
if (qtest_prevTarget != null) {
- var prevFunc = qtest_prevTarget[qtest_prevSignalName]
+ var prevHandlerName = qtest_signalHandlerName(qtest_prevSignalName)
+ var prevFunc = qtest_prevTarget[prevHandlerName]
if (prevFunc)
prevFunc.disconnect(spy.qtest_activated)
qtest_prevTarget = null
qtest_prevSignalName = ""
}
if (target != null && signalName != "") {
- var func = target[signalName]
+ var handlerName = qtest_signalHandlerName(signalName)
+ var func = target[handlerName]
if (func === undefined) {
spy.qtest_valid = false
console.log("Signal '" + signalName + "' not found")
@@ -250,4 +252,9 @@ Item {
++qtest_count
spy.qtest_signalArguments[spy.qtest_signalArguments.length] = arguments
}
+
+ /*! \internal */
+ function qtest_signalHandlerName(sn) {
+ return "on" + sn.substr(0, 1).toUpperCase() + sn.substr(1)
+ }
}