diff options
Diffstat (limited to 'tests/auto/tools')
-rw-r--r-- | tests/auto/tools/moc/cxx11-enums.h | 9 | ||||
-rw-r--r-- | tests/auto/tools/moc/tst_moc.cpp | 3 |
2 files changed, 12 insertions, 0 deletions
diff --git a/tests/auto/tools/moc/cxx11-enums.h b/tests/auto/tools/moc/cxx11-enums.h index 93ab16c157..cc14c0acda 100644 --- a/tests/auto/tools/moc/cxx11-enums.h +++ b/tests/auto/tools/moc/cxx11-enums.h @@ -40,13 +40,22 @@ public: enum class TypedEnumClass : char { C0, C1, C2, C3 }; enum NormalEnum { D2 = 2, D3, D0 =0 , D1 }; enum class ClassFlag { F0 = 1, F1 = 2, F2 = 4, F3 = 8}; + + enum struct EnumStruct { G0, G1, G2, G3 }; + enum struct TypedEnumStruct : char { H0, H1, H2, H3 }; + enum struct StructFlag { I0 = 1, I1 = 2, I2 = 4, I3 = 8}; + Q_DECLARE_FLAGS(ClassFlags, ClassFlag) + Q_DECLARE_FLAGS(StructFlags, StructFlag) Q_ENUM(EnumClass) Q_ENUM(TypedEnum) Q_ENUM(TypedEnumClass) Q_ENUM(NormalEnum) + Q_ENUM(EnumStruct) + Q_ENUM(TypedEnumStruct) Q_FLAG(ClassFlags) + Q_FLAG(StructFlags) }; // Also test the Q_ENUMS macro diff --git a/tests/auto/tools/moc/tst_moc.cpp b/tests/auto/tools/moc/tst_moc.cpp index 92a94055a4..293cbd8323 100644 --- a/tests/auto/tools/moc/tst_moc.cpp +++ b/tests/auto/tools/moc/tst_moc.cpp @@ -2266,6 +2266,9 @@ void tst_Moc::cxx11Enums_data() QTest::newRow("NormalEnum 2") << meta2 << QByteArray("NormalEnum") << QByteArray("NormalEnum") << 'D' << false; QTest::newRow("ClassFlags") << meta1 << QByteArray("ClassFlags") << QByteArray("ClassFlag") << 'F' << true; QTest::newRow("ClassFlags 2") << meta2 << QByteArray("ClassFlags") << QByteArray("ClassFlag") << 'F' << true; + QTest::newRow("EnumStruct") << meta1 << QByteArray("EnumStruct") << QByteArray("EnumStruct") << 'G' << true; + QTest::newRow("TypedEnumStruct") << meta1 << QByteArray("TypedEnumStruct") << QByteArray("TypedEnumStruct") << 'H' << true; + QTest::newRow("StructFlags") << meta1 << QByteArray("StructFlags") << QByteArray("StructFlag") << 'I' << true; } void tst_Moc::cxx11Enums() |