summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib')
-rw-r--r--tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp20
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"