diff options
Diffstat (limited to 'tests/auto/tools')
-rw-r--r-- | tests/auto/tools/moc/allmocs_baseline_in.json | 16 | ||||
-rw-r--r-- | tests/auto/tools/moc/tst_moc.cpp | 26 |
2 files changed, 41 insertions, 1 deletions
diff --git a/tests/auto/tools/moc/allmocs_baseline_in.json b/tests/auto/tools/moc/allmocs_baseline_in.json index 2a70a52587..0ce464a709 100644 --- a/tests/auto/tools/moc/allmocs_baseline_in.json +++ b/tests/auto/tools/moc/allmocs_baseline_in.json @@ -1023,6 +1023,7 @@ "final": false, "name": "prop1", "read": "getProp1", + "required": false, "scriptable": true, "stored": true, "type": "FwdClass1", @@ -1035,6 +1036,7 @@ "final": false, "name": "prop2", "read": "getProp2", + "required": false, "scriptable": true, "stored": true, "type": "FwdClass2", @@ -1047,6 +1049,7 @@ "final": false, "name": "prop3", "read": "getProp3", + "required": false, "scriptable": true, "stored": true, "type": "FwdClass3", @@ -1157,6 +1160,7 @@ "final": false, "name": "flags", "read": "flags", + "required": false, "scriptable": true, "stored": true, "type": "Flags", @@ -1181,6 +1185,7 @@ "final": false, "name": "flags", "read": "flags", + "required": false, "scriptable": true, "stored": true, "type": "Foo::Bar::Flags", @@ -1193,6 +1198,7 @@ "final": false, "name": "flagsList", "read": "flagsList", + "required": false, "scriptable": true, "stored": true, "type": "QVector<Foo::Bar::Flags>", @@ -1706,6 +1712,7 @@ "final": false, "name": "blah", "read": "blah", + "required": false, "scriptable": true, "stored": true, "type": "A::SomeEnum", @@ -1755,6 +1762,7 @@ "final": false, "name": "blah", "read": "blah", + "required": false, "scriptable": true, "stored": true, "type": "A::SomeEnum", @@ -1924,6 +1932,7 @@ "final": false, "name": "gadgetPoperty", "read": "gadgetPoperty", + "required": false, "scriptable": true, "stored": true, "type": "Gadget::SomeEnum", @@ -1935,6 +1944,7 @@ "final": false, "name": "objectPoperty", "read": "objectPoperty", + "required": false, "scriptable": true, "stored": true, "type": "Object::SomeEnum", @@ -1958,6 +1968,7 @@ "final": false, "name": "nestedGadgetPoperty", "read": "nestedGadgetPoperty", + "required": false, "scriptable": true, "stored": true, "type": "Nested::Gadget::SomeEnum", @@ -1981,6 +1992,7 @@ "final": false, "name": "nestedObjectPoperty", "read": "nestedObjectPoperty", + "required": false, "scriptable": true, "stored": true, "type": "Nested::Object::SomeEnum", @@ -2109,6 +2121,7 @@ "final": false, "name": "gadgetPoperty", "read": "gadgetPoperty", + "required": false, "scriptable": true, "stored": true, "type": "Gadget::SomeEnum", @@ -2120,6 +2133,7 @@ "final": false, "name": "objectPoperty", "read": "objectPoperty", + "required": false, "scriptable": true, "stored": true, "type": "Object::SomeEnum", @@ -2143,6 +2157,7 @@ "final": false, "name": "nestedGadgetPoperty", "read": "nestedGadgetPoperty", + "required": false, "scriptable": true, "stored": true, "type": "Nested::Gadget::SomeEnum", @@ -2166,6 +2181,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 2bad8f2e63..a4ee6795c4 100644 --- a/tests/auto/tools/moc/tst_moc.cpp +++ b/tests/auto/tools/moc/tst_moc.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Copyright (C) 2020 Olivier Goffart <ogoffart@woboq.com> ** Contact: https://www.qt.io/licensing/ ** @@ -721,6 +721,7 @@ private slots: void cxxAttributes(); void mocJsonOutput(); void mocInclude(); + void requiredProperties(); signals: void sigWithUnsignedArg(unsigned foo); @@ -4029,6 +4030,29 @@ void tst_Moc::mocInclude() QCOMPARE(obj.prop1->x, 45); } +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 |