on xenial help sign in
Introduce a findChildIn method, as some objects are not to be found in either children or data.
commit4be451741e9edaf533d5c30b9ae6ae1e03ba7b03 authorMichał Sawicz <michal.sawicz@canonical.com> dateFri 28 Feb 2014, 16:15 (13 years ago) parent74aee80
1 file changed+10−16
tests/utils/modules/Unity/Test/UnityTestCase.qml+10−16
tests/utils/modules/Unity/Test/UnityTestCase.qml+10−16
@@ -71,19 +71,8 @@ TestCase {
7171
7272
7373 // Find an object with the given name in the children tree of "obj"
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− }
81− for (var i in childs[0].children) {
82− childs.push(childs[0].children[i])
83− }
84− childs.splice(0, 1);
85− }
86− return null;
74+ function findChild(obj, objectName) {
75+ return findChildIn(obj, "children", objectName);
8776 }
8877
8978 // Find an object with the given name in the children tree of "obj"
@@ -91,15 +80,20 @@ TestCase {
9180 // Note: you should use findChild if you're not sure you need this
9281 // as this tree is much bigger and might contain stuff that goes
9382 // away randomly.
94− function findInvisibleChild(obj,objectName) {
83+ function findInvisibleChild(obj, objectName) {
84+ return findChildIn(obj, "data", objectName);
85+ }
86+
87+ // Find a child in the named property
88+ function findChildIn(obj, prop, objectName) {
9589 var childs = new Array(0);
9690 childs.push(obj)
9791 while (childs.length > 0) {
9892 if (childs[0].objectName == objectName) {
9993 return childs[0]
10094 }
101− for (var i in childs[0].data) {
102− childs.push(childs[0].data[i])
95+ for (var i in childs[0][prop]) {
96+ childs.push(childs[0][prop][i])
10397 }
10498 childs.splice(0, 1);
10599 }