aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAndrew den Exter <andrew.den-exter@nokia.com>2012-08-01 14:06:52 +1000
committerQt by Nokia <qt-info@nokia.com>2012-08-02 02:43:54 +0200
commit2fe0f03d4d99dd3cee8a47d6e27db3d40f452825 (patch)
tree0e8cb56e1ad25cf1a46afb48fdd7dcfdeeb1976f /tests
parent46c5c25723545cdf6ecd01e8785fa3fd7c1f9670 (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.cpp31
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");