diff --git a/src/plugins/autotest/testcodeparser.cpp b/src/plugins/autotest/testcodeparser.cpp index 2b0f921577d..6bb9fd89047 100644 --- a/src/plugins/autotest/testcodeparser.cpp +++ b/src/plugins/autotest/testcodeparser.cpp @@ -507,7 +507,7 @@ static void handleGTest(QFutureInterface futureInterface, const static void checkDocumentForTestCode(QFutureInterface futureInterface, CPlusPlus::Document::Ptr document, - QMap testCaseNames) + QHash testCaseNames) { const QString fileName = document->fileName(); const CppTools::CppModelManager *modelManager = CppTools::CppModelManager::instance(); @@ -567,7 +567,7 @@ static void checkDocumentForTestCode(QFutureInterface futureInt static bool parsingHasFailed; static void performParse(QFutureInterface &futureInterface, - const QStringList &list, const QMap testCaseNames) + const QStringList &list, const QHash testCaseNames) { int progressValue = 0; futureInterface.setProgressRange(0, list.size()); @@ -718,7 +718,7 @@ void TestCodeParser::scanForTests(const QStringList &fileList) parsingHasFailed = false; - QMap testCaseNames; + QHash testCaseNames; if (isFullParse) { // remove qml files as they will be found automatically by the referencing cpp file list = Utils::filtered(list, [] (const QString &fn) { diff --git a/src/plugins/autotest/testtreemodel.cpp b/src/plugins/autotest/testtreemodel.cpp index 9425581e703..6fd7f52f491 100644 --- a/src/plugins/autotest/testtreemodel.cpp +++ b/src/plugins/autotest/testtreemodel.cpp @@ -253,7 +253,7 @@ QList TestTreeModel::getAllTestCases() const } // get all Quick Tests - QMap foundProFiles; + QHash foundProFiles; for (int row = 0, count = m_quickTestRootItem->childCount(); row < count; ++row) { const TestTreeItem *child = m_quickTestRootItem->childItem(row); // unnamed Quick Tests must be handled separately @@ -270,12 +270,15 @@ QList TestTreeModel::getAllTestCases() const foundProFiles.insert(proFile, foundProFiles[proFile] + child->childCount()); } // create TestConfiguration for each project file - foreach (const QString &proFile, foundProFiles.keys()) { - TestConfiguration *tc = new TestConfiguration(QString(), QStringList(), - foundProFiles.value(proFile)); - tc->setProFile(proFile); - tc->setProject(project); - result << tc; + { + QHash::ConstIterator it = foundProFiles.begin(); + QHash::ConstIterator end = foundProFiles.end(); + for ( ; it != end; ++it) { + TestConfiguration *tc = new TestConfiguration(QString(), QStringList(), it.value()); + tc->setProFile(it.key()); + tc->setProject(project); + result << tc; + } } foundProFiles.clear(); @@ -298,16 +301,18 @@ QList TestTreeModel::getAllTestCases() const } } - QHash::Iterator it = proFilesWithTestSets.begin(); - QHash::Iterator end = proFilesWithTestSets.end(); - for ( ; it != end; ++it) { - const ProFileWithDisplayName &key = it.key(); - TestConfiguration *tc = new TestConfiguration(QString(), QStringList(), it.value()); - tc->setTestType(TestTypeGTest); - tc->setProFile(key.proFile); - tc->setDisplayName(key.displayName); - tc->setProject(project); - result << tc; + { + QHash::ConstIterator it = proFilesWithTestSets.begin(); + QHash::ConstIterator end = proFilesWithTestSets.end(); + for ( ; it != end; ++it) { + const ProFileWithDisplayName &key = it.key(); + TestConfiguration *tc = new TestConfiguration(QString(), QStringList(), it.value()); + tc->setTestType(TestTypeGTest); + tc->setProFile(key.proFile); + tc->setDisplayName(key.displayName); + tc->setProject(project); + result << tc; + } } return result; @@ -371,7 +376,7 @@ QList TestTreeModel::getSelectedTests() const // on and on and on... // TODO: do this later on for Auto Tests as well to support strange setups? or redo the model - QMap foundProFiles; + QHash foundProFiles; if (TestTreeItem *unnamed = unnamedQuickTests()) { for (int childRow = 0, ccount = unnamed->childCount(); childRow < ccount; ++ childRow) { @@ -437,11 +442,16 @@ QList TestTreeModel::getSelectedTests() const } } - foreach (TestConfiguration *config, foundProFiles.values()) { - if (!config->unnamedOnly()) - result << config; - else - delete config; + { + QHash::ConstIterator it = foundProFiles.begin(); + QHash::ConstIterator end = foundProFiles.end(); + for ( ; it != end; ++it) { + TestConfiguration *config = it.value(); + if (!config->unnamedOnly()) + result << config; + else + delete config; + } } // get selected Google Tests @@ -465,16 +475,18 @@ QList TestTreeModel::getSelectedTests() const } } - QHash::Iterator it = proFilesWithCheckedTestSets.begin(); - QHash::Iterator end = proFilesWithCheckedTestSets.end(); - for ( ; it != end; ++it) { - const ProFileWithDisplayName &key = it.key(); - TestConfiguration *tc = new TestConfiguration(QString(), it.value()); - tc->setTestType(TestTypeGTest); - tc->setProFile(key.proFile); - tc->setDisplayName(key.displayName); - tc->setProject(project); - result << tc; + { + QHash::ConstIterator it = proFilesWithCheckedTestSets.begin(); + QHash::ConstIterator end = proFilesWithCheckedTestSets.end(); + for ( ; it != end; ++it) { + const ProFileWithDisplayName &key = it.key(); + TestConfiguration *tc = new TestConfiguration(QString(), it.value()); + tc->setTestType(TestTypeGTest); + tc->setProFile(key.proFile); + tc->setDisplayName(key.displayName); + tc->setProject(project); + result << tc; + } } return result; @@ -649,9 +661,9 @@ void TestTreeModel::sweep() #endif } -QMap TestTreeModel::testCaseNamesForFiles(QStringList files) +QHash TestTreeModel::testCaseNamesForFiles(QStringList files) { - QMap result; + QHash result; if (!m_autoTestRootItem) return result; diff --git a/src/plugins/autotest/testtreemodel.h b/src/plugins/autotest/testtreemodel.h index dd2437431f0..dae8d34ba31 100644 --- a/src/plugins/autotest/testtreemodel.h +++ b/src/plugins/autotest/testtreemodel.h @@ -81,7 +81,7 @@ public: void markAllForRemoval(); void markForRemoval(const QString &filePath); void sweep(); - QMap testCaseNamesForFiles(QStringList files); + QHash testCaseNamesForFiles(QStringList files); signals: void testTreeModelChanged();