From 2fe0f03d4d99dd3cee8a47d6e27db3d40f452825 Mon Sep 17 00:00:00 2001 From: Andrew den Exter Date: Wed, 1 Aug 2012 14:06:52 +1000 Subject: Add tests for writing to model role properties. Change-Id: I91375e9caecc130fb3a86f5a48d19e000fa6fcac Reviewed-by: Damian Jansen --- .../tst_qquickvisualdatamodel.cpp | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'tests/auto/quick') diff --git a/tests/auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp b/tests/auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp index e23ae6fda5..e55c537529 100644 --- a/tests/auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp +++ b/tests/auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp @@ -410,6 +410,7 @@ private slots: void subtreeRowsMoved(); void watchedRoles(); void hasModelChildren(); + void setValue(); void remove_data(); void remove(); void move_data(); @@ -1338,6 +1339,36 @@ void tst_qquickvisualdatamodel::hasModelChildren() QCOMPARE(evaluate(vdm, "items.get(3).model.hasModelChildren"), false); } +void tst_qquickvisualdatamodel::setValue() +{ + QStandardItemModel model; + initStandardTreeModel(&model); + + QQmlEngine engine; + engine.rootContext()->setContextProperty("myModel", &model); + + QQmlComponent component(&engine, testFileUrl("visualdatamodel.qml")); + + QScopedPointer object(component.create()); + QQuickVisualDataModel *vdm = qobject_cast(object.data()); + QVERIFY(vdm); + + QCOMPARE(vdm->count(), 3); + + QQuickItem *item = 0; + + item = vdm->item(0); + QVERIFY(item); + QCOMPARE(evaluate(item, "display"), QString("Row 1 Item")); + evaluate(item, "display = 'Changed Item 1'"); + QCOMPARE(evaluate(item, "display"), QString("Changed Item 1")); + QCOMPARE(model.item(0)->text(), QString("Changed Item 1")); + + vdm->release(item); + + QCoreApplication::sendPostedEvents(0, QEvent::DeferredDelete); // Ensure released items are deleted before test exits. +} + void tst_qquickvisualdatamodel::remove_data() { QTest::addColumn("source"); -- cgit v1.2.3