From 535f1eec182b54011e2b32a625ba048e8e99ec98 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Tue, 3 Mar 2015 13:14:31 +0100 Subject: Fix removing unnamed quick tests... ...this was wrong especially when closing (the last) open project that contained unnamed quick tests. Change-Id: I6d030b6219d9f397a6ffb51a985ef4147eebec8a Reviewed-by: David Schulz Reviewed-by: Christian Stenger --- plugins/autotest/testcodeparser.cpp | 16 +++++++++------- plugins/autotest/testtreemodel.cpp | 8 ++------ plugins/autotest/testtreemodel.h | 3 +-- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/plugins/autotest/testcodeparser.cpp b/plugins/autotest/testcodeparser.cpp index 3cd3ea518a..6b2ff8d4a8 100644 --- a/plugins/autotest/testcodeparser.cpp +++ b/plugins/autotest/testcodeparser.cpp @@ -672,14 +672,16 @@ void TestCodeParser::removeTestsIfNecessary(const QString &fileName) emit testItemsRemoved(file, TestTreeModel::QuickTest); } // unnamed Quick Tests must be handled separately - removeUnnamedQuickTestsByName(fileName); - QSet filePaths; - QList functionNames; - if (m_model->hasUnnamedQuickTests()) { - m_model->qmlFilesAndFunctionNamesForMainFile(fileName, &filePaths, &functionNames); - foreach (const QString &file, filePaths) - emit testItemsRemoved(file, TestTreeModel::QuickTest); + if (fileName.endsWith(QLatin1String(".qml"))) { + removeUnnamedQuickTestsByName(fileName); + emit unnamedQuickTestsRemoved(fileName); + } else { + m_model->qmlFilesForMainFile(fileName, &filePaths); + foreach (const QString &file, filePaths) { + removeUnnamedQuickTestsByName(file); + emit unnamedQuickTestsRemoved(file); + } } } } diff --git a/plugins/autotest/testtreemodel.cpp b/plugins/autotest/testtreemodel.cpp index eadfb74b7b..2ae5693feb 100644 --- a/plugins/autotest/testtreemodel.cpp +++ b/plugins/autotest/testtreemodel.cpp @@ -615,19 +615,15 @@ QString TestTreeModel::getMainFileForUnnamedQuickTest(const QString &qmlFile) co return QString(); } -void TestTreeModel::qmlFilesAndFunctionNamesForMainFile(const QString &mainFile, - QSet *filePaths, - QList *functionNames) const +void TestTreeModel::qmlFilesForMainFile(const QString &mainFile, QSet *filePaths) const { TestTreeItem *unnamed = unnamedQuickTests(); if (!unnamed) return; for (int i = 0; i < unnamed->childCount(); ++i) { const TestTreeItem *child = unnamed->child(i); - if (child->mainFile() == mainFile) { + if (child->mainFile() == mainFile) filePaths->insert(child->filePath()); - functionNames->append(child->name()); - } } } diff --git a/plugins/autotest/testtreemodel.h b/plugins/autotest/testtreemodel.h index 437aa787be..b476bb1a5b 100644 --- a/plugins/autotest/testtreemodel.h +++ b/plugins/autotest/testtreemodel.h @@ -72,8 +72,7 @@ public: QList getAllTestCases() const; QList getSelectedTests() const; QString getMainFileForUnnamedQuickTest(const QString &qmlFile) const; - void qmlFilesAndFunctionNamesForMainFile(const QString &mainFile, QSet *filePaths, - QList *functionNames) const; + void qmlFilesForMainFile(const QString &mainFile, QSet *filePaths) const; QList getUnnamedQuickTestFunctions() const; QSet qmlFilesForProFile(const QString &proFile) const; bool hasUnnamedQuickTests() const; -- cgit v1.2.1