summaryrefslogtreecommitdiff
path: root/plugins/autotest/testvisitor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/autotest/testvisitor.cpp')
-rw-r--r--plugins/autotest/testvisitor.cpp23
1 files changed, 16 insertions, 7 deletions
diff --git a/plugins/autotest/testvisitor.cpp b/plugins/autotest/testvisitor.cpp
index b43a0c0271..2d38cb56b4 100644
--- a/plugins/autotest/testvisitor.cpp
+++ b/plugins/autotest/testvisitor.cpp
@@ -34,6 +34,12 @@
namespace Autotest {
namespace Internal {
+// names of special functions (applies for QTest as well as Quick Tests)
+static QList<QString> specialFunctions = QList<QString>() << QLatin1String("initTestCase")
+ << QLatin1String("cleanupTestCase")
+ << QLatin1String("init")
+ << QLatin1String("cleanup");
+
/************************** Cpp Test Symbol Visitor ***************************/
TestVisitor::TestVisitor(const QString &fullQualifiedClassName)
@@ -45,11 +51,6 @@ TestVisitor::~TestVisitor()
{
}
-static QList<QString> specialFunctions = QList<QString>() << QLatin1String("initTestCase")
- << QLatin1String("cleanupTestCase")
- << QLatin1String("init")
- << QLatin1String("cleanup");
-
bool TestVisitor::visit(CPlusPlus::Class *symbol)
{
const CPlusPlus::Overview o;
@@ -177,13 +178,21 @@ bool TestQmlVisitor::visit(QmlJS::AST::UiScriptBinding *ast)
bool TestQmlVisitor::visit(QmlJS::AST::FunctionDeclaration *ast)
{
const QStringRef name = ast->name;
- if (name.startsWith(QLatin1String("test_"))) {
+ if (name.startsWith(QLatin1String("test_"))
+ || name.startsWith(QLatin1String("benchmark_"))
+ || name.endsWith(QLatin1String("_data"))
+ || specialFunctions.contains(name.toString())) {
const auto sourceLocation = ast->firstSourceLocation();
TestCodeLocationAndType locationAndType;
locationAndType.m_fileName = m_currentDoc->fileName();
locationAndType.m_line = sourceLocation.startLine;
locationAndType.m_column = sourceLocation.startColumn - 1;
- locationAndType.m_type = TestTreeItem::TEST_FUNCTION;
+ if (specialFunctions.contains(name.toString()))
+ locationAndType.m_type = TestTreeItem::TEST_SPECIALFUNCTION;
+ else if (name.endsWith(QLatin1String("_data")))
+ locationAndType.m_type = TestTreeItem::TEST_DATAFUNCTION;
+ else
+ locationAndType.m_type = TestTreeItem::TEST_FUNCTION;
m_testFunctions.insert(name.toString(), locationAndType);
}