aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qml')
-rw-r--r--tests/auto/qml/qqmllistreference/tst_qqmllistreference.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmllistreference/tst_qqmllistreference.cpp b/tests/auto/qml/qqmllistreference/tst_qqmllistreference.cpp
index bf5ee92374..c6accb3908 100644
--- a/tests/auto/qml/qqmllistreference/tst_qqmllistreference.cpp
+++ b/tests/auto/qml/qqmllistreference/tst_qqmllistreference.cpp
@@ -179,6 +179,17 @@ void tst_qqmllistreference::qmllistreference()
tt.data.append(&tt);
QCOMPARE(r.count(), 1);
+
+ const QMetaObject *m = tt.metaObject();
+ const int index = m->indexOfProperty("data");
+ const QMetaProperty prop = m->property(index);
+ const QVariant var = prop.read(&tt);
+
+ QQmlListReference fromVar(var);
+ QVERIFY(fromVar.isValid());
+ QCOMPARE(fromVar.count(), 1);
+ fromVar.append(&tt);
+ QCOMPARE(tt.data.count(), 2);
}
void tst_qqmllistreference::qmllistreference_invalid()
@@ -805,6 +816,17 @@ void tst_qqmllistreference::engineTypes()
QVERIFY(ref.listElementType());
QVERIFY(ref.listElementType() != &QObject::staticMetaObject);
+
+ const QMetaObject *m = o->metaObject();
+ const int index = m->indexOfProperty("myList");
+ const QMetaProperty prop = m->property(index);
+ const QVariant var = prop.read(o);
+
+ QQmlListReference fromVar(var, &engine);
+ QVERIFY(fromVar.isValid());
+ QCOMPARE(fromVar.count(), 2);
+ QCOMPARE(fromVar.listElementType(), ref.listElementType());
+
delete o;
}