From 85ab6eee4562d9457ec557261e34e9e18cc2bc1b Mon Sep 17 00:00:00 2001 From: Kai Koehne <kai.koehne@nokia.com> Date: Tue, 12 Jan 2010 15:03:29 +0100 Subject: [PATCH] Add autotest for ModelNode::isAncestorOf --- .../qml/qmldesigner/coretests/testcore.cpp | 39 +++++++++++++++++++ .../auto/qml/qmldesigner/coretests/testcore.h | 1 + 2 files changed, 40 insertions(+) diff --git a/tests/auto/qml/qmldesigner/coretests/testcore.cpp b/tests/auto/qml/qmldesigner/coretests/testcore.cpp index d29f6bc7d2b..b031b3f41a3 100644 --- a/tests/auto/qml/qmldesigner/coretests/testcore.cpp +++ b/tests/auto/qml/qmldesigner/coretests/testcore.cpp @@ -4229,6 +4229,45 @@ void TestCore::testModelNodeInHierarchy() QVERIFY(node2.isInHierarchy()); } +void TestCore::testModelNodeIsAncestorOf() +{ + QScopedPointer<Model> model(Model::create("Qt/Item")); + QVERIFY(model.data()); + + // + // import Qt 4.6 + // Item { + // Item { + // id: item2 + // } + // Item { + // id: item3 + // Item { + // id: item4 + // } + // } + // } + // + QScopedPointer<TestView> view(new TestView); + QVERIFY(view.data()); + model->attachView(view.data()); + + view->rootModelNode().setId("item1"); + ModelNode item2 = view->rootModelNode().addChildNode("Qt/Item", 4, 6, "data"); + item2.setId("item2"); + ModelNode item3 = view->rootModelNode().addChildNode("Qt/Item", 4, 6, "data"); + item3.setId("item3"); + ModelNode item4 = item3.addChildNode("Qt/Item", 4, 6, "data"); + item4.setId("item4"); + + QVERIFY(view->rootModelNode().isAncestorOf(item2)); + QVERIFY(view->rootModelNode().isAncestorOf(item3)); + QVERIFY(view->rootModelNode().isAncestorOf(item4)); + QVERIFY(!item2.isAncestorOf(view->rootModelNode())); + QVERIFY(!item2.isAncestorOf(item4)); + QVERIFY(item3.isAncestorOf(item4)); +} + void TestCore::testModelDefaultProperties() { QScopedPointer<Model> model(Model::create("Qt/Rectangle")); diff --git a/tests/auto/qml/qmldesigner/coretests/testcore.h b/tests/auto/qml/qmldesigner/coretests/testcore.h index 8c62f8427dc..1e9f09140e1 100644 --- a/tests/auto/qml/qmldesigner/coretests/testcore.h +++ b/tests/auto/qml/qmldesigner/coretests/testcore.h @@ -66,6 +66,7 @@ private slots: void testModelNodeListProperty(); void testModelPropertyValueTypes(); void testModelNodeInHierarchy(); + void testModelNodeIsAncestorOf(); // // unit tests MetaInfo, NodeMetaInfo, PropertyMetaInfo -- GitLab