summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/tools/moc/allmocs_baseline_in.json13
-rw-r--r--tests/auto/tools/moc/tst_moc.cpp24
2 files changed, 37 insertions, 0 deletions
diff --git a/tests/auto/tools/moc/allmocs_baseline_in.json b/tests/auto/tools/moc/allmocs_baseline_in.json
index 8cb397190c..48cac07012 100644
--- a/tests/auto/tools/moc/allmocs_baseline_in.json
+++ b/tests/auto/tools/moc/allmocs_baseline_in.json
@@ -275,6 +275,7 @@
"final": false,
"name": "flags",
"read": "flags",
+ "required": false,
"scriptable": true,
"stored": true,
"type": "Flags",
@@ -299,6 +300,7 @@
"final": false,
"name": "flags",
"read": "flags",
+ "required": false,
"scriptable": true,
"stored": true,
"type": "Foo::Bar::Flags",
@@ -311,6 +313,7 @@
"final": false,
"name": "flagsList",
"read": "flagsList",
+ "required": false,
"scriptable": true,
"stored": true,
"type": "QList<Foo::Bar::Flags>",
@@ -1988,6 +1991,7 @@
"final": false,
"name": "blah",
"read": "blah",
+ "required": false,
"scriptable": true,
"stored": true,
"type": "A::SomeEnum",
@@ -2088,6 +2092,7 @@
"final": false,
"name": "blah",
"read": "blah",
+ "required": false,
"scriptable": true,
"stored": true,
"type": "A::SomeEnum",
@@ -2257,6 +2262,7 @@
"final": false,
"name": "gadgetPoperty",
"read": "gadgetPoperty",
+ "required": false,
"scriptable": true,
"stored": true,
"type": "Gadget::SomeEnum",
@@ -2268,6 +2274,7 @@
"final": false,
"name": "objectPoperty",
"read": "objectPoperty",
+ "required": false,
"scriptable": true,
"stored": true,
"type": "Object::SomeEnum",
@@ -2291,6 +2298,7 @@
"final": false,
"name": "nestedGadgetPoperty",
"read": "nestedGadgetPoperty",
+ "required": false,
"scriptable": true,
"stored": true,
"type": "Nested::Gadget::SomeEnum",
@@ -2314,6 +2322,7 @@
"final": false,
"name": "nestedObjectPoperty",
"read": "nestedObjectPoperty",
+ "required": false,
"scriptable": true,
"stored": true,
"type": "Nested::Object::SomeEnum",
@@ -2442,6 +2451,7 @@
"final": false,
"name": "gadgetPoperty",
"read": "gadgetPoperty",
+ "required": false,
"scriptable": true,
"stored": true,
"type": "Gadget::SomeEnum",
@@ -2453,6 +2463,7 @@
"final": false,
"name": "objectPoperty",
"read": "objectPoperty",
+ "required": false,
"scriptable": true,
"stored": true,
"type": "Object::SomeEnum",
@@ -2476,6 +2487,7 @@
"final": false,
"name": "nestedGadgetPoperty",
"read": "nestedGadgetPoperty",
+ "required": false,
"scriptable": true,
"stored": true,
"type": "Nested::Gadget::SomeEnum",
@@ -2499,6 +2511,7 @@
"final": false,
"name": "nestedObjectPoperty",
"read": "nestedObjectPoperty",
+ "required": false,
"scriptable": true,
"stored": true,
"type": "Nested::Object::SomeEnum",
diff --git a/tests/auto/tools/moc/tst_moc.cpp b/tests/auto/tools/moc/tst_moc.cpp
index 6b202f79a6..0f801fe902 100644
--- a/tests/auto/tools/moc/tst_moc.cpp
+++ b/tests/auto/tools/moc/tst_moc.cpp
@@ -719,6 +719,7 @@ private slots:
void cxx17Namespaces();
void cxxAttributes();
void mocJsonOutput();
+ void requiredProperties();
signals:
void sigWithUnsignedArg(unsigned foo);
@@ -4025,6 +4026,29 @@ void tst_Moc::mocJsonOutput()
QVERIFY2(actualOutput == expectedOutput, showPotentialDiff(actualOutput, expectedOutput).constData());
}
+class RequiredTest :public QObject
+{
+ Q_OBJECT
+
+ Q_PROPERTY(int required MEMBER m_required REQUIRED)
+ Q_PROPERTY(int notRequired MEMBER m_notRequired)
+
+private:
+ int m_required;
+ int m_notRequired;
+};
+
+void tst_Moc::requiredProperties()
+{
+ QMetaObject mo = RequiredTest::staticMetaObject;
+ QMetaProperty required = mo.property(mo.indexOfProperty("required"));
+ QVERIFY(required.isValid());
+ QVERIFY(required.isRequired());
+ QMetaProperty notRequired = mo.property(mo.indexOfProperty("notRequired"));
+ QVERIFY(notRequired.isValid());
+ QVERIFY(!notRequired.isRequired());
+}
+
QTEST_MAIN(tst_Moc)
// the generated code must compile with QT_NO_KEYWORDS