summaryrefslogtreecommitdiff
path: root/src/plugins/autotest/quick/quicktestvisitors.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/autotest/quick/quicktestvisitors.cpp')
-rw-r--r--src/plugins/autotest/quick/quicktestvisitors.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/plugins/autotest/quick/quicktestvisitors.cpp b/src/plugins/autotest/quick/quicktestvisitors.cpp
index f60b59b368..486356f13b 100644
--- a/src/plugins/autotest/quick/quicktestvisitors.cpp
+++ b/src/plugins/autotest/quick/quicktestvisitors.cpp
@@ -152,8 +152,17 @@ bool TestQmlVisitor::visit(QmlJS::AST::FunctionDeclaration *ast)
else
locationAndType.m_type = TestTreeItem::TestFunction;
- m_caseParseStack.top().m_functions.append(
- QuickTestFunctionSpec{name.toString(), locationAndType});
+ const QString nameStr = name.toString();
+ // identical test functions inside the same file are not working - will fail at runtime
+ if (!Utils::anyOf(m_caseParseStack.top().m_functions,
+ [nameStr, locationAndType](const QuickTestFunctionSpec func) {
+ return func.m_locationAndType.m_type == locationAndType.m_type
+ && func.m_functionName == nameStr
+ && func.m_locationAndType.m_name == locationAndType.m_name;
+ })) {
+ m_caseParseStack.top().m_functions.append(
+ QuickTestFunctionSpec{nameStr, locationAndType});
+ }
}
return false;
}