diff options
author | Andrew den Exter <andrew.den-exter@nokia.com> | 2012-08-01 14:06:52 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-08-02 02:43:54 +0200 |
commit | 2fe0f03d4d99dd3cee8a47d6e27db3d40f452825 (patch) | |
tree | 0e8cb56e1ad25cf1a46afb48fdd7dcfdeeb1976f /tests | |
parent | 46c5c25723545cdf6ecd01e8785fa3fd7c1f9670 (diff) |
Add tests for writing to model role properties.
Change-Id: I91375e9caecc130fb3a86f5a48d19e000fa6fcac
Reviewed-by: Damian Jansen <damian.jansen@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
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<bool>(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<QObject> object(component.create()); + QQuickVisualDataModel *vdm = qobject_cast<QQuickVisualDataModel*>(object.data()); + QVERIFY(vdm); + + QCOMPARE(vdm->count(), 3); + + QQuickItem *item = 0; + + item = vdm->item(0); + QVERIFY(item); + QCOMPARE(evaluate<QString>(item, "display"), QString("Row 1 Item")); + evaluate<void>(item, "display = 'Changed Item 1'"); + QCOMPARE(evaluate<QString>(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<QUrl>("source"); |