From 29b77e5e0759472ab1f7da1dd756b857d3b2ddd7 Mon Sep 17 00:00:00 2001 From: Mitch Curtis Date: Tue, 23 Sep 2014 10:36:22 +0200 Subject: Also search for visual children in TestCase::findChild(). It previously used QObject::findChild(), which won't work in all cases, because items like ListView don't seem to make their delegate items QObject children, while simple nested Items do. Change-Id: I1a8ed1fb55493212cb25abf595d016437812a80f Reviewed-by: Simon Hausmann --- tests/auto/qmltest/selftests/tst_findChild.qml | 37 +++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) (limited to 'tests/auto/qmltest') diff --git a/tests/auto/qmltest/selftests/tst_findChild.qml b/tests/auto/qmltest/selftests/tst_findChild.qml index 1ed4c94423..69bcb390e9 100644 --- a/tests/auto/qmltest/selftests/tst_findChild.qml +++ b/tests/auto/qmltest/selftests/tst_findChild.qml @@ -82,6 +82,33 @@ TestCase { objectName: "nestedChildItem2" } + Loader { + id: loader + + sourceComponent: Item { + id: loaderItem + objectName: "loaderItem" + + Item { + objectName: "nestedLoaderItem" + } + + Repeater { + model: 5 + delegate: Item { + objectName: "repeaterItem" + index + } + } + + ListView { + model: 5 + delegate: Item { + objectName: "listViewItem" + index + } + } + } + } + function test_findChild() { compare(findChild(null, ""), null); compare(findChild(undefined, ""), null); @@ -99,6 +126,14 @@ TestCase { var mostDirectChild = duplicateNestedChildItem2Component.createObject(nestedChildItem0); compare(nestedChildItem0.children.length, 2); - compare(findChild(nestedChildrenItem, "nestedChildItem2"), mostDirectChild); + compare(findChild(nestedChildrenItem, "nestedChildItem2"), mostDirectChild, + "Dynamically created nested child items are found"); + + compare(findChild(loader, "loaderItem"), loader.item); + verify(findChild(loader, "nestedLoaderItem")); + + // These don't make their delegate items QObject children, only visual. + verify(findChild(loader, "repeaterItem0")); + verify(findChild(loader, "listViewItem0")); } } -- cgit v1.2.3