From c5a4b093d051680bf7f34bb5acff16eea9d4979f Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 26 Jul 2016 20:01:57 +0200 Subject: Add QMetaEnum::isScoped to be able to destinguish C++11 enum class Change-Id: I67b1dbd069fa57bd60e50690abb5d876edc0d1d2 Reviewed-by: Simon Hausmann Reviewed-by: Thiago Macieira --- tests/auto/tools/moc/tst_moc.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'tests/auto/tools/moc/tst_moc.cpp') diff --git a/tests/auto/tools/moc/tst_moc.cpp b/tests/auto/tools/moc/tst_moc.cpp index 8f1fde4f35..d9a0a6ad60 100644 --- a/tests/auto/tools/moc/tst_moc.cpp +++ b/tests/auto/tools/moc/tst_moc.cpp @@ -2094,18 +2094,19 @@ void tst_Moc::cxx11Enums_data() QTest::addColumn("meta"); QTest::addColumn("enumName"); QTest::addColumn("prefix"); + QTest::addColumn("isScoped"); const QMetaObject *meta1 = &CXX11Enums::staticMetaObject; const QMetaObject *meta2 = &CXX11Enums2::staticMetaObject; - QTest::newRow("EnumClass") << meta1 << QByteArray("EnumClass") << 'A'; - QTest::newRow("EnumClass 2") << meta2 << QByteArray("EnumClass") << 'A'; - QTest::newRow("TypedEnum") << meta1 << QByteArray("TypedEnum") << 'B'; - QTest::newRow("TypedEnum 2") << meta2 << QByteArray("TypedEnum") << 'B'; - QTest::newRow("TypedEnumClass") << meta1 << QByteArray("TypedEnumClass") << 'C'; - QTest::newRow("TypedEnumClass 2") << meta2 << QByteArray("TypedEnumClass") << 'C'; - QTest::newRow("NormalEnum") << meta1 << QByteArray("NormalEnum") << 'D'; - QTest::newRow("NormalEnum 2") << meta2 << QByteArray("NormalEnum") << 'D'; + QTest::newRow("EnumClass") << meta1 << QByteArray("EnumClass") << 'A' << true; + QTest::newRow("EnumClass 2") << meta2 << QByteArray("EnumClass") << 'A' << true; + QTest::newRow("TypedEnum") << meta1 << QByteArray("TypedEnum") << 'B' << false; + QTest::newRow("TypedEnum 2") << meta2 << QByteArray("TypedEnum") << 'B' << false; + QTest::newRow("TypedEnumClass") << meta1 << QByteArray("TypedEnumClass") << 'C' << true; + QTest::newRow("TypedEnumClass 2") << meta2 << QByteArray("TypedEnumClass") << 'C' << true; + QTest::newRow("NormalEnum") << meta1 << QByteArray("NormalEnum") << 'D' << false; + QTest::newRow("NormalEnum 2") << meta2 << QByteArray("NormalEnum") << 'D' << false; } void tst_Moc::cxx11Enums() @@ -2115,6 +2116,7 @@ void tst_Moc::cxx11Enums() QFETCH(QByteArray, enumName); QFETCH(char, prefix); + QFETCH(bool, isScoped); int idx; idx = meta->indexOfEnumerator(enumName); @@ -2128,6 +2130,7 @@ void tst_Moc::cxx11Enums() QCOMPARE(meta->enumerator(idx).keyToValue(v), i); QCOMPARE(meta->enumerator(idx).valueToKey(i), v.constData()); } + QCOMPARE(meta->enumerator(idx).isScoped(), isScoped); } void tst_Moc::returnRefs() -- cgit v1.2.3