From 0502bb3cf7ee53f010cdf0a31acc0ee0e8e06f21 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Tue, 5 Jan 2016 14:05:23 +0100 Subject: [PATCH] Move functions to utils class Change-Id: I8fd3d32b22976a11fd5bc5e3282e2cde0c409349 Reviewed-by: Niels Weber --- plugins/autotest/autotest_utils.h | 32 +++++++++++++++++++++-------- plugins/autotest/testcodeparser.cpp | 8 +++----- plugins/autotest/testvisitor.cpp | 2 +- 3 files changed, 28 insertions(+), 14 deletions(-) diff --git a/plugins/autotest/autotest_utils.h b/plugins/autotest/autotest_utils.h index a9f1ba45bf6..00a2fced864 100644 --- a/plugins/autotest/autotest_utils.h +++ b/plugins/autotest/autotest_utils.h @@ -22,18 +22,34 @@ #include -namespace AutoTest { +namespace Autotest { namespace Internal { -static bool isGTestMacro(const QString ¯o) +class TestUtils { - static QStringList valid = { - QStringLiteral("TEST"), QStringLiteral("TEST_F"), QStringLiteral("TEST_P") - }; - return valid.contains(macro); -} +public: + static bool isGTestMacro(const QString ¯o) + { + static QStringList valid = { + QStringLiteral("TEST"), QStringLiteral("TEST_F"), QStringLiteral("TEST_P") + }; + return valid.contains(macro); + } + + static bool isQTestMacro(const QByteArray ¯o) + { + static QByteArrayList valid = {"QTEST_MAIN", "QTEST_APPLESS_MAIN", "QTEST_GUILESS_MAIN"}; + return valid.contains(macro); + } + + static bool isQuickTestMacro(const QByteArray ¯o) + { + static const QByteArrayList valid = {"QUICK_TEST_MAIN", "QUICK_TEST_OPENGL_MAIN"}; + return valid.contains(macro); + } +}; } // namespace Internal -} // namespace AutoTest +} // namespace Autotest #endif // AUTOTEST_UTILS_H diff --git a/plugins/autotest/testcodeparser.cpp b/plugins/autotest/testcodeparser.cpp index 8785a55d105..8ba6768078b 100644 --- a/plugins/autotest/testcodeparser.cpp +++ b/plugins/autotest/testcodeparser.cpp @@ -277,14 +277,13 @@ static QString quickTestSrcDir(const CppTools::CppModelManager *cppMM, static QString testClass(const CppTools::CppModelManager *modelManager, CPlusPlus::Document::Ptr &document) { - static const QByteArray qtTestMacros[] = {"QTEST_MAIN", "QTEST_APPLESS_MAIN", "QTEST_GUILESS_MAIN"}; const QList macros = document->macroUses(); foreach (const CPlusPlus::Document::MacroUse ¯o, macros) { if (!macro.isFunctionLike()) continue; const QByteArray name = macro.macro().name(); - if (name == qtTestMacros[0] || name == qtTestMacros[1] || name == qtTestMacros[2]) { + if (TestUtils::isQTestMacro(name)) { const CPlusPlus::Document::Block arg = macro.arguments().at(0); return QLatin1String(getFileContent(document->fileName()) .mid(arg.bytesBegin(), arg.bytesEnd() - arg.bytesBegin())); @@ -303,14 +302,13 @@ static QString testClass(const CppTools::CppModelManager *modelManager, static QString quickTestName(const CPlusPlus::Document::Ptr &doc) { - static const QByteArray qtTestMacros[] = {"QUICK_TEST_MAIN", "QUICK_TEST_OPENGL_MAIN"}; const QList macros = doc->macroUses(); foreach (const CPlusPlus::Document::MacroUse ¯o, macros) { if (!macro.isFunctionLike()) continue; const QByteArray name = macro.macro().name(); - if (name == qtTestMacros[0] || name == qtTestMacros[1] || name == qtTestMacros[2]) { + if (TestUtils::isQuickTestMacro(name)) { CPlusPlus::Document::Block arg = macro.arguments().at(0); return QLatin1String(getFileContent(doc->fileName()) .mid(arg.bytesBegin(), arg.bytesEnd() - arg.bytesBegin())); @@ -325,7 +323,7 @@ static QSet testNames(CPlusPlus::Document::Ptr &document) foreach (const CPlusPlus::Document::MacroUse ¯o, document->macroUses()) { if (!macro.isFunctionLike()) continue; - if (AutoTest::Internal::isGTestMacro(QLatin1String(macro.macro().name()))) { + if (TestUtils::isGTestMacro(QLatin1String(macro.macro().name()))) { const QVector args = macro.arguments(); if (args.size() != 2) continue; diff --git a/plugins/autotest/testvisitor.cpp b/plugins/autotest/testvisitor.cpp index 9a0c51961d6..67fdecd6092 100644 --- a/plugins/autotest/testvisitor.cpp +++ b/plugins/autotest/testvisitor.cpp @@ -359,7 +359,7 @@ bool GTestVisitor::visit(CPlusPlus::FunctionDefinitionAST *ast) CPlusPlus::LookupContext lc; const QString prettyName = m_overview.prettyName(lc.fullyQualifiedName(ast->symbol)); - if (!AutoTest::Internal::isGTestMacro(prettyName)) + if (!TestUtils::isGTestMacro(prettyName)) return false; CPlusPlus::Argument *testCaseNameArg = ast->symbol->argumentAt(0)->asArgument();