summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Stenger <christian.stenger@theqtcompany.com>2015-03-03 13:14:31 +0100
committerChristian Stenger <christian.stenger@theqtcompany.com>2015-03-03 15:36:43 +0200
commit535f1eec182b54011e2b32a625ba048e8e99ec98 (patch)
treec1ff1551caca476eb294a9d46a7469fa5363372a
parentaba2844a5aecb506d97d869ccd74e8bf76393883 (diff)
downloadqt-creator-535f1eec182b54011e2b32a625ba048e8e99ec98.tar.gz
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 <david.schulz@theqtcompany.com> Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
-rw-r--r--plugins/autotest/testcodeparser.cpp16
-rw-r--r--plugins/autotest/testtreemodel.cpp8
-rw-r--r--plugins/autotest/testtreemodel.h3
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<QString> filePaths;
- QList<QString> 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<QString> *filePaths,
- QList<QString> *functionNames) const
+void TestTreeModel::qmlFilesForMainFile(const QString &mainFile, QSet<QString> *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<TestConfiguration *> getAllTestCases() const;
QList<TestConfiguration *> getSelectedTests() const;
QString getMainFileForUnnamedQuickTest(const QString &qmlFile) const;
- void qmlFilesAndFunctionNamesForMainFile(const QString &mainFile, QSet<QString> *filePaths,
- QList<QString> *functionNames) const;
+ void qmlFilesForMainFile(const QString &mainFile, QSet<QString> *filePaths) const;
QList<QString> getUnnamedQuickTestFunctions() const;
QSet<QString> qmlFilesForProFile(const QString &proFile) const;
bool hasUnnamedQuickTests() const;