forked from qt-creator/qt-creator
AutoTest: Move function into framework related class
TestTreeModel::testCaseNamesForFiles() is a helper that is currently needed only for handling the Qt test framework. Move it down into Qt framework's helper class and make it static. Change-Id: I03c377a76402593584870cbbdaa4621d19278443 Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
This commit is contained in:
@@ -25,6 +25,10 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../testframeworkmanager.h"
|
||||
|
||||
#include <utils/qtcassert.h>
|
||||
|
||||
#include <QByteArrayList>
|
||||
|
||||
namespace Autotest {
|
||||
@@ -38,6 +42,27 @@ public:
|
||||
static QByteArrayList valid = {"QTEST_MAIN", "QTEST_APPLESS_MAIN", "QTEST_GUILESS_MAIN"};
|
||||
return valid.contains(macro);
|
||||
}
|
||||
|
||||
static QHash<QString, QString> testCaseNamesForFiles(const Core::Id &id,
|
||||
const QStringList &files)
|
||||
{
|
||||
QHash<QString, QString> result;
|
||||
TestTreeItem *rootNode = TestFrameworkManager::instance()->rootNodeForTestFramework(id);
|
||||
QTC_ASSERT(rootNode, return result);
|
||||
|
||||
for (int row = 0, rootCount = rootNode->childCount(); row < rootCount; ++row) {
|
||||
const TestTreeItem *child = rootNode->childItem(row);
|
||||
if (files.contains(child->filePath())) {
|
||||
result.insert(child->filePath(), child->name());
|
||||
}
|
||||
for (int childRow = 0, count = child->childCount(); childRow < count; ++childRow) {
|
||||
const TestTreeItem *grandChild = child->childItem(childRow);
|
||||
if (files.contains(grandChild->filePath()))
|
||||
result.insert(grandChild->filePath(), child->name());
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
Reference in New Issue
Block a user