diff options
Diffstat (limited to 'tests/auto/qml/qmltyperegistrar/tst_qmltyperegistrar.cpp')
-rw-r--r-- | tests/auto/qml/qmltyperegistrar/tst_qmltyperegistrar.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/auto/qml/qmltyperegistrar/tst_qmltyperegistrar.cpp b/tests/auto/qml/qmltyperegistrar/tst_qmltyperegistrar.cpp index 7b82be20f7..b5efefba9a 100644 --- a/tests/auto/qml/qmltyperegistrar/tst_qmltyperegistrar.cpp +++ b/tests/auto/qml/qmltyperegistrar/tst_qmltyperegistrar.cpp @@ -126,4 +126,33 @@ void tst_qmltyperegistrar::namespacedElement() QVERIFY2(!c.isError(), qPrintable(c.errorString())); } +void tst_qmltyperegistrar::derivedFromForeign() +{ + QVERIFY(qmltypesData.contains("name: \"DerivedFromForeign\"")); + QVERIFY(qmltypesData.contains("prototype: \"QTimeLine\"")); + QVERIFY(qmltypesData.contains("name: \"QTimeLine\"")); +} + +void tst_qmltyperegistrar::metaTypesRegistered() +{ + QQmlEngine engine; + QQmlComponent c(&engine); + c.setData("import QmlTypeRegistrarTest\nOoo {}", QUrl()); + QVERIFY(c.isReady()); + QScopedPointer<QObject> obj(c.create()); + + auto verifyMetaType = [](const char *name, const char *className) { + const auto foundMetaType = QMetaType::fromName(name); + QVERIFY(foundMetaType.isValid()); + QCOMPARE(foundMetaType.name(), name); + QVERIFY(foundMetaType.metaObject()); + QCOMPARE(foundMetaType.metaObject()->className(), className); + }; + + verifyMetaType("Foo", "Foo"); + verifyMetaType("Ooo*", "Ooo"); + verifyMetaType("Bbb*", "Bbb"); + verifyMetaType("Ccc*", "Ccc"); +} + QTEST_MAIN(tst_qmltyperegistrar) |