summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2019-04-10 17:33:14 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2019-04-10 17:33:14 +0000
commit63e88f60a769f2535945db0e1cabb9815ff45a77 (patch)
treecea2359bc9b5b4e3acce7aeca59a2f9b5d251bcb /tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp
parent0bdded64accc3f654b2d12d9bfaf64f842cedf26 (diff)
parentff88e20b8328b6aad5b787aacc5c39da563a67b1 (diff)
Merge "Merge remote-tracking branch 'origin/5.12' into 5.13" into refs/staging/5.13
Diffstat (limited to 'tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp')
-rw-r--r--tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp b/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp
index 467d299526..350ed24c28 100644
--- a/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp
+++ b/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp
@@ -40,6 +40,13 @@ struct MyStruct
int i;
};
+class MyGadget
+{
+ Q_GADGET
+public:
+ Q_INVOKABLE MyGadget() {}
+};
+
namespace MyNamespace {
// Used in tst_QMetaObject::checkScope
class MyClass : public QObject
@@ -1208,6 +1215,12 @@ void tst_QMetaObject::invokeMetaConstructor()
QCOMPARE(obj2->parent(), (QObject*)&obj);
QVERIFY(qobject_cast<NamespaceWithConstructibleClass::ConstructibleClass*>(obj2) != 0);
}
+ // gadget shouldn't return a valid pointer
+ {
+ QCOMPARE(MyGadget::staticMetaObject.constructorCount(), 1);
+ QTest::ignoreMessage(QtWarningMsg, "QMetaObject::newInstance: type MyGadget does not inherit QObject");
+ QVERIFY(!MyGadget::staticMetaObject.newInstance());
+ }
}
void tst_QMetaObject::invokeTypedefTypes()