AutoTest: Filter out test case summary as well

If results are filtered and the filtering results in omitting
all entries of a test case filter out the test case as well.

Change-Id: Icd3b18566ed45a68b2ee630a2f13be80257f6b26
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Christian Stenger
2016-06-15 13:28:50 +02:00
parent adaa35aaa5
commit d7dc7159b2
2 changed files with 24 additions and 1 deletions

View File

@@ -336,7 +336,29 @@ bool TestResultFilterModel::filterAcceptsRow(int sourceRow, const QModelIndex &s
QModelIndex index = m_sourceModel->index(sourceRow, 0, sourceParent);
if (!index.isValid())
return false;
return m_enabled.contains(m_sourceModel->testResult(index)->result());
Result::Type resultType = m_sourceModel->testResult(index)->result();
switch (resultType) {
case Result::MessageTestCaseSuccess:
return m_enabled.contains(Result::Pass);
case Result::MessageTestCaseFail:
case Result::MessageTestCaseWarn:
return acceptTestCaseResult(index);
default:
return m_enabled.contains(resultType);
}
}
bool TestResultFilterModel::acceptTestCaseResult(const QModelIndex &index) const
{
Utils::TreeItem *item = m_sourceModel->itemForIndex(index);
QTC_ASSERT(item, return false);
for (const Utils::TreeItem *child : item->children()) {
const TestResultItem *resultItem = static_cast<const TestResultItem *>(child);
if (m_enabled.contains(resultItem->testResult()->result()))
return true;
}
return false;
}
} // namespace Internal