summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Stenger <christian.stenger@theqtcompany.com>2015-08-19 13:17:55 +0200
committerDavid Schulz <david.schulz@theqtcompany.com>2015-09-04 15:34:37 +0300
commite092c5b51ddd8cd3dd6f0d32358ec4ae6198b75e (patch)
treed0703b1e7d04e06d3f247cf4f52da0e8bbe5ae32
parent71d5142fcc65ec1af13d861660b19a84c317eafb (diff)
downloadqt-creator-e092c5b51ddd8cd3dd6f0d32358ec4ae6198b75e.tar.gz
Move duplicate code into function
Change-Id: I48e3187acb53159c16c7884a96ebdb831571b830 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
-rw-r--r--plugins/autotest/testresultdelegate.cpp103
-rw-r--r--plugins/autotest/testresultdelegate.h2
2 files changed, 41 insertions, 64 deletions
diff --git a/plugins/autotest/testresultdelegate.cpp b/plugins/autotest/testresultdelegate.cpp
index 7cf841dd78..4dea7c050d 100644
--- a/plugins/autotest/testresultdelegate.cpp
+++ b/plugins/autotest/testresultdelegate.cpp
@@ -42,6 +42,43 @@ TestResultDelegate::~TestResultDelegate()
}
+QString TestResultDelegate::outputString(const TestResult &testResult, bool selected)
+{
+ const QString desc = testResult.description();
+ QString output;
+ switch (testResult.result()) {
+ case Result::PASS:
+ case Result::FAIL:
+ case Result::EXPECTED_FAIL:
+ case Result::UNEXPECTED_PASS:
+ case Result::BLACKLISTED_FAIL:
+ case Result::BLACKLISTED_PASS:
+ output = testResult.className() + QLatin1String("::") + testResult.testCase();
+ if (!testResult.dataTag().isEmpty())
+ output.append(QString::fromLatin1(" (%1)").arg(testResult.dataTag()));
+ if (selected && !desc.isEmpty()) {
+ output.append(QLatin1Char('\n')).append(desc);
+ }
+ break;
+ case Result::BENCHMARK:
+ output = testResult.className() + QLatin1String("::") + testResult.testCase();
+ if (!testResult.dataTag().isEmpty())
+ output.append(QString::fromLatin1(" (%1)").arg(testResult.dataTag()));
+ if (!desc.isEmpty()) {
+ int breakPos = desc.indexOf(QLatin1Char('('));
+ output.append(QLatin1String(": ")).append(desc.left(breakPos));
+ if (selected)
+ output.append(QLatin1Char('\n')).append(desc.mid(breakPos));
+ }
+ break;
+ default:
+ output = desc;
+ if (!selected)
+ output = output.split(QLatin1Char('\n')).first();
+ }
+ return output;
+}
+
void TestResultDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
QStyleOptionViewItemV4 opt = option;
@@ -75,7 +112,6 @@ void TestResultDelegate::paint(QPainter *painter, const QStyleOptionViewItem &op
TestResultModel *resultModel = static_cast<TestResultModel *>(resultFilterModel->sourceModel());
LayoutPositions positions(opt, resultModel);
TestResult testResult = resultModel->testResult(resultFilterModel->mapToSource(index));
- Result::Type type = testResult.result();
QIcon icon = index.data(Qt::DecorationRole).value<QIcon>();
if (!icon.isNull())
@@ -92,38 +128,7 @@ void TestResultDelegate::paint(QPainter *painter, const QStyleOptionViewItem &op
painter->setPen(tmp);
}
- const QString desc = testResult.description();
- QString output;
- switch (type) {
- case Result::PASS:
- case Result::FAIL:
- case Result::EXPECTED_FAIL:
- case Result::UNEXPECTED_PASS:
- case Result::BLACKLISTED_FAIL:
- case Result::BLACKLISTED_PASS:
- output = testResult.className() + QLatin1String("::") + testResult.testCase();
- if (!testResult.dataTag().isEmpty())
- output.append(QString::fromLatin1(" (%1)").arg(testResult.dataTag()));
- if (selected && !desc.isEmpty()) {
- output.append(QLatin1Char('\n')).append(desc);
- }
- break;
- case Result::BENCHMARK:
- output = testResult.className() + QLatin1String("::") + testResult.testCase();
- if (!testResult.dataTag().isEmpty())
- output.append(QString::fromLatin1(" (%1)").arg(testResult.dataTag()));
- if (!desc.isEmpty()) {
- int breakPos = desc.indexOf(QLatin1Char('('));
- output.append(QLatin1String(": ")).append(desc.left(breakPos));
- if (selected)
- output.append(QLatin1Char('\n')).append(desc.mid(breakPos));
- }
- break;
- default:
- output = desc;
- if (!selected)
- output = output.split(QLatin1Char('\n')).first();
- }
+ QString output = outputString(testResult, selected);
if (selected) {
output.replace(QLatin1Char('\n'), QChar::LineSeparator);
@@ -184,37 +189,7 @@ QSize TestResultDelegate::sizeHint(const QStyleOptionViewItem &option, const QMo
if (selected) {
TestResult testResult = resultModel->testResult(resultFilterModel->mapToSource(index));
- QString desc = testResult.description();
- QString output;
- switch (testResult.result()) {
- case Result::PASS:
- case Result::FAIL:
- case Result::EXPECTED_FAIL:
- case Result::UNEXPECTED_PASS:
- case Result::BLACKLISTED_FAIL:
- case Result::BLACKLISTED_PASS:
- output = testResult.className() + QLatin1String("::") + testResult.testCase();
- if (!testResult.dataTag().isEmpty())
- output.append(QString::fromLatin1(" (%1)").arg(testResult.dataTag()));
- if (!desc.isEmpty()) {
- output.append(QLatin1Char('\n')).append(desc);
- }
- break;
- case Result::BENCHMARK:
- output = testResult.className() + QLatin1String("::") + testResult.testCase();
- if (!testResult.dataTag().isEmpty())
- output.append(QString::fromLatin1(" (%1)").arg(testResult.dataTag()));
- if (!desc.isEmpty()) {
- int breakPos = desc.indexOf(QLatin1Char('('));
- output.append(QLatin1String(" - ")).append(desc.left(breakPos));
- if (selected)
- output.append(QLatin1Char('\n')).append(desc.mid(breakPos));
- }
- break;
- default:
- output = desc;
- }
-
+ QString output = outputString(testResult, selected);
output.replace(QLatin1Char('\n'), QChar::LineSeparator);
if (AutotestPlugin::instance()->settings()->limitResultOutput
diff --git a/plugins/autotest/testresultdelegate.h b/plugins/autotest/testresultdelegate.h
index d70b0d8902..63873a9d25 100644
--- a/plugins/autotest/testresultdelegate.h
+++ b/plugins/autotest/testresultdelegate.h
@@ -38,6 +38,8 @@ public:
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const;
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;
+ static QString outputString(const TestResult &testResult, bool selected);
+
public slots:
void currentChanged(const QModelIndex &current, const QModelIndex &previous);