diff --git a/tests/auto/qml/qmldesigner/coretests/testcore.cpp b/tests/auto/qml/qmldesigner/coretests/testcore.cpp index d29f6bc7d2b377a0eb94959f801db633a12dc303..b031b3f41a35c16dd22a908ca23d88ae0b466c64 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 8c62f8427dc8d789210c97d98de90c4b629d9faf..1e9f09140e16f2f1d21af7fd04778cd0590e169a 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