diff options
Diffstat (limited to 'tests/auto/qml')
-rw-r--r-- | tests/auto/qml/qqmllistreference/tst_qqmllistreference.cpp | 22 |
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; } |