AutoTest: Remove unnecessary indirection when creating test tree items

Change-Id: Id4648196011b6769a2cd51b4daee146068272f00
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Stenger
2017-01-05 12:03:42 +01:00
parent 13a22f7ef3
commit 40174187cb
9 changed files with 37 additions and 59 deletions

View File

@@ -34,9 +34,22 @@ namespace Internal {
TestTreeItem *GTestParseResult::createTestTreeItem() const TestTreeItem *GTestParseResult::createTestTreeItem() const
{ {
if (itemType == TestTreeItem::TestCase || itemType == TestTreeItem::TestFunctionOrSet) if (itemType != TestTreeItem::TestCase && itemType != TestTreeItem::TestFunctionOrSet)
return GTestTreeItem::createTestItem(this); return nullptr;
return 0; GTestTreeItem *item = new GTestTreeItem(name, fileName, itemType);
item->setProFile(proFile);
item->setLine(line);
item->setColumn(column);
if (parameterized)
item->setState(GTestTreeItem::Parameterized);
if (typed)
item->setState(GTestTreeItem::Typed);
if (disabled)
item->setState(GTestTreeItem::Disabled);
foreach (const TestParseResult *testSet, children)
item->appendChild(testSet->createTestTreeItem());
return item;
} }
static bool includesGTest(const CPlusPlus::Document::Ptr &doc, static bool includesGTest(const CPlusPlus::Document::Ptr &doc,

View File

@@ -45,26 +45,6 @@ static QString gtestFilter(GTestTreeItem::TestStates states)
return QLatin1String("%1.%2"); return QLatin1String("%1.%2");
} }
GTestTreeItem *GTestTreeItem::createTestItem(const TestParseResult *result)
{
const GTestParseResult *parseResult = static_cast<const GTestParseResult *>(result);
GTestTreeItem *item = new GTestTreeItem(parseResult->name, parseResult->fileName,
parseResult->itemType);
item->setProFile(parseResult->proFile);
item->setLine(parseResult->line);
item->setColumn(parseResult->column);
if (parseResult->parameterized)
item->setState(Parameterized);
if (parseResult->typed)
item->setState(Typed);
if (parseResult->disabled)
item->setState(Disabled);
foreach (const TestParseResult *testSet, parseResult->children)
item->appendChild(createTestItem(testSet));
return item;
}
QVariant GTestTreeItem::data(int column, int role) const QVariant GTestTreeItem::data(int column, int role) const
{ {
switch (role) { switch (role) {

View File

@@ -49,8 +49,6 @@ public:
explicit GTestTreeItem(const QString &name = QString(), const QString &filePath = QString(), explicit GTestTreeItem(const QString &name = QString(), const QString &filePath = QString(),
Type type = Root) : TestTreeItem(name, filePath, type), m_state(Enabled) {} Type type = Root) : TestTreeItem(name, filePath, type), m_state(Enabled) {}
static GTestTreeItem *createTestItem(const TestParseResult *result);
QVariant data(int column, int role) const override; QVariant data(int column, int role) const override;
bool canProvideTestConfiguration() const override { return type() != Root; } bool canProvideTestConfiguration() const override { return type() != Root; }
bool canProvideDebugConfiguration() const override { return type() != Root; } bool canProvideDebugConfiguration() const override { return type() != Root; }

View File

@@ -37,7 +37,18 @@ namespace Internal {
TestTreeItem *QtTestParseResult::createTestTreeItem() const TestTreeItem *QtTestParseResult::createTestTreeItem() const
{ {
return itemType == TestTreeItem::Root ? 0 : QtTestTreeItem::createTestItem(this); if (itemType == TestTreeItem::Root)
return nullptr;
QtTestTreeItem *item = new QtTestTreeItem(displayName, fileName, itemType);
item->setProFile(proFile);
item->setLine(line);
item->setColumn(column);
item->setInherited(m_inherited);
foreach (const TestParseResult *funcParseResult, children)
item->appendChild(funcParseResult->createTestTreeItem());
return item;
} }
static bool includesQtTest(const CPlusPlus::Document::Ptr &doc, const CPlusPlus::Snapshot &snapshot) static bool includesQtTest(const CPlusPlus::Document::Ptr &doc, const CPlusPlus::Snapshot &snapshot)

View File

@@ -41,21 +41,6 @@ QtTestTreeItem::QtTestTreeItem(const QString &name, const QString &filePath, Tes
setChecked(Qt::Checked); setChecked(Qt::Checked);
} }
QtTestTreeItem *QtTestTreeItem::createTestItem(const TestParseResult *result)
{
const QtTestParseResult *qtResult = static_cast<const QtTestParseResult *>(result);
QtTestTreeItem *item = new QtTestTreeItem(result->displayName, result->fileName,
result->itemType);
item->setProFile(result->proFile);
item->setLine(result->line);
item->setColumn(result->column);
item->setInherited(qtResult->inherited());
foreach (const TestParseResult *funcParseResult, result->children)
item->appendChild(createTestItem(funcParseResult));
return item;
}
QVariant QtTestTreeItem::data(int column, int role) const QVariant QtTestTreeItem::data(int column, int role) const
{ {
switch (role) { switch (role) {

View File

@@ -36,8 +36,6 @@ public:
explicit QtTestTreeItem(const QString &name = QString(), const QString &filePath = QString(), explicit QtTestTreeItem(const QString &name = QString(), const QString &filePath = QString(),
Type type = Root); Type type = Root);
static QtTestTreeItem *createTestItem(const TestParseResult *result);
QVariant data(int column, int role) const override; QVariant data(int column, int role) const override;
Qt::ItemFlags flags(int column) const override; Qt::ItemFlags flags(int column) const override;
bool canProvideTestConfiguration() const override; bool canProvideTestConfiguration() const override;

View File

@@ -41,8 +41,15 @@ namespace Internal {
TestTreeItem *QuickTestParseResult::createTestTreeItem() const TestTreeItem *QuickTestParseResult::createTestTreeItem() const
{ {
if (itemType == TestTreeItem::Root || itemType == TestTreeItem::TestDataTag) if (itemType == TestTreeItem::Root || itemType == TestTreeItem::TestDataTag)
return 0; return nullptr;
return QuickTestTreeItem::createTestItem(this);
QuickTestTreeItem *item = new QuickTestTreeItem(name, fileName, itemType);
item->setProFile(proFile);
item->setLine(line);
item->setColumn(column);
foreach (const TestParseResult *funcResult, children)
item->appendChild(funcResult->createTestTreeItem());
return item;
} }
static bool includesQtQuickTest(const CPlusPlus::Document::Ptr &doc, static bool includesQtQuickTest(const CPlusPlus::Document::Ptr &doc,

View File

@@ -33,18 +33,6 @@
namespace Autotest { namespace Autotest {
namespace Internal { namespace Internal {
QuickTestTreeItem *QuickTestTreeItem::createTestItem(const TestParseResult *result)
{
QuickTestTreeItem *item = new QuickTestTreeItem(result->name, result->fileName,
result->itemType);
item->setProFile(result->proFile);
item->setLine(result->line);
item->setColumn(result->column);
foreach (const TestParseResult *funcResult, result->children)
item->appendChild(createTestItem(funcResult));
return item;
}
QVariant QuickTestTreeItem::data(int column, int role) const QVariant QuickTestTreeItem::data(int column, int role) const
{ {
switch (role) { switch (role) {

View File

@@ -36,8 +36,6 @@ public:
explicit QuickTestTreeItem(const QString &name = QString(), const QString &filePath = QString(), explicit QuickTestTreeItem(const QString &name = QString(), const QString &filePath = QString(),
Type type = Root) : TestTreeItem(name, filePath, type) {} Type type = Root) : TestTreeItem(name, filePath, type) {}
static QuickTestTreeItem *createTestItem(const TestParseResult *result);
QVariant data(int column, int role) const override; QVariant data(int column, int role) const override;
Qt::ItemFlags flags(int column) const override; Qt::ItemFlags flags(int column) const override;
bool canProvideTestConfiguration() const override; bool canProvideTestConfiguration() const override;