on xenial help sign in
make findChild also find invisible childs
6554deaMichael Zanetti
tests/qmltests/Greeter/tst_Lockscreen.qml+1
@@ -186,6 +186,7 @@ Rectangle {
186 function test_unlock(data) {
186 function test_unlock(data) {
187 unlockedCheckBox.checked = false
187 unlockedCheckBox.checked = false
188 LightDM.Greeter.authenticate(data.username)
188 LightDM.Greeter.authenticate(data.username)
189+ waitForRendering(lockscreen)
189
190
190 var inputField = findChild(lockscreen, "pinentryField")
191 var inputField = findChild(lockscreen, "pinentryField")
191 if (data.alphanumeric) {
192 if (data.alphanumeric) {
tests/utils/modules/Unity/Test/UnityTestCase.qml+10−5
@@ -72,11 +72,16 @@ TestCase {
72 // Find an object with the given name recursively, starting
72 // Find an object with the given name recursively, starting
73 // at the given object "obj"
73 // at the given object "obj"
74 function findChild(obj,objectName) {
74 function findChild(obj,objectName) {
75+ var childs = new Array(0);
76+ childs.push(obj)
77+ while (childs.length > 0) {
78+ if (childs[0].objectName == objectName) {
79+ return childs[0]
80+ }
75− for (var i in obj.children) {
81+ for (var i in childs[0].data) {
76− var child = obj.children[i];
82+ childs.push(childs[0].data[i])
77− if (child.objectName === objectName) return child;
83+ }
78− var subChild = findChild(child,objectName);
84+ childs.splice(0, 1);
79− if (subChild !== undefined) return subChild;
80 }
85 }
81 return undefined;
86 return undefined;
82 }
87 }