aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquickview/tst_qquickview.cpp
diff options
context:
space:
mode:
authorJan Arve Saether <jan-arve.saether@qt.io>2017-06-26 18:38:27 +0200
committerJan Arve Saether <jan-arve.saether@qt.io>2017-07-11 16:44:33 +0200
commitb6e6e737f1a4a7e48989a6a036e25c238304802f (patch)
tree8d4b5940b92ad1fc94e46c1742acd9355e19e1d4 /tests/auto/quick/qquickview/tst_qquickview.cpp
parentd5b3f5da9cfa90fc43f29f3bdeec01884a47d6ca (diff)
parent4beee1a6dcc1be57aa6fb2a175dadc6ff298545d (diff)
Merge remote-tracking branch 'origin/dev' into wip/pointerhandler
Conflicts: examples/quick/shared/LauncherList.qml src/quick/items/qquickevents.cpp src/quick/items/qquickevents_p_p.h src/quick/items/qquickwindow.cpp tests/auto/quick/touchmouse/tst_touchmouse.cpp Change-Id: Id692d291455093fc72db61f1b854f3fc9190267b
Diffstat (limited to 'tests/auto/quick/qquickview/tst_qquickview.cpp')
-rw-r--r--tests/auto/quick/qquickview/tst_qquickview.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickview/tst_qquickview.cpp b/tests/auto/quick/qquickview/tst_qquickview.cpp
index fa9192edb4..04d21457e6 100644
--- a/tests/auto/quick/qquickview/tst_qquickview.cpp
+++ b/tests/auto/quick/qquickview/tst_qquickview.cpp
@@ -70,6 +70,7 @@ private slots:
void resizemodeitem();
void errors();
void engine();
+ void findChild();
};
@@ -265,6 +266,45 @@ void tst_QQuickView::engine()
delete view4;
}
+void tst_QQuickView::findChild()
+{
+ QQuickView view;
+ view.setSource(testFileUrl("findChild.qml"));
+
+ // QQuickView
+ // |_ QQuickWindow::contentItem
+ // | |_ QQuickView::rootObject: QML Item("rootObject") (findChild.qml)
+ // | | |_ QML Item("rootObjectChild") (findChild.qml)
+ // | |_ QObject("contentItemChild")
+ // |_ QObject("viewChild")
+
+ QObject *viewChild = new QObject(&view);
+ viewChild->setObjectName("viewChild");
+
+ QObject *contentItemChild = new QObject(view.contentItem());
+ contentItemChild->setObjectName("contentItemChild");
+
+ QObject *rootObject = view.rootObject();
+ QVERIFY(rootObject);
+
+ QObject *rootObjectChild = rootObject->findChild<QObject *>("rootObjectChild");
+ QVERIFY(rootObjectChild);
+
+ QCOMPARE(view.findChild<QObject *>("viewChild"), viewChild);
+ QCOMPARE(view.findChild<QObject *>("contentItemChild"), contentItemChild);
+ QCOMPARE(view.findChild<QObject *>("rootObject"), rootObject);
+ QCOMPARE(view.findChild<QObject *>("rootObjectChild"), rootObjectChild);
+
+ QVERIFY(!view.contentItem()->findChild<QObject *>("viewChild")); // sibling
+ QCOMPARE(view.contentItem()->findChild<QObject *>("contentItemChild"), contentItemChild);
+ QCOMPARE(view.contentItem()->findChild<QObject *>("rootObject"), rootObject);
+ QCOMPARE(view.contentItem()->findChild<QObject *>("rootObjectChild"), rootObjectChild);
+
+ QVERIFY(!view.rootObject()->findChild<QObject *>("viewChild")); // ancestor
+ QVERIFY(!view.rootObject()->findChild<QObject *>("contentItemChild")); // cousin
+ QVERIFY(!view.rootObject()->findChild<QObject *>("rootObject")); // self
+}
+
QTEST_MAIN(tst_QQuickView)
#include "tst_qquickview.moc"