diff options
Diffstat (limited to 'tests/auto/corelib')
-rw-r--r-- | tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp b/tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp index 2660c1a53c..cec7c7198f 100644 --- a/tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp +++ b/tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp @@ -64,6 +64,8 @@ private slots: void classNameFirstInStringData(); + void propertyMetaType(); + private: static bool checkForSideEffects (const QMetaObjectBuilder& builder, @@ -1688,6 +1690,24 @@ void tst_QMetaObjectBuilder::classNameFirstInStringData() free(mo); } +struct MyFoo {}; + +void tst_QMetaObjectBuilder::propertyMetaType() +{ + QMetaType meta = QMetaType::fromType<MyFoo>(); + auto metaId = meta.id(); + QMetaObjectBuilder builder; + builder.setClassName("Test"); + builder.addProperty("test", "MyFoo"); + auto mo = builder.toMetaObject(); + + QMetaProperty metaProp = mo->property(mo->indexOfProperty("test")); + QCOMPARE(metaProp.typeName(), meta.name()); + QCOMPARE(metaProp.typeId(), metaId); + QCOMPARE(metaProp.metaType(), meta); + free(mo); +} + QTEST_MAIN(tst_QMetaObjectBuilder) #include "tst_qmetaobjectbuilder.moc" |