From 0d114c602d391f4d34146efcbdfa9f714bc5bac6 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Tue, 18 Aug 2015 10:19:28 +0200 Subject: Add 'Run This Test' capability to data tags Change-Id: I3eb99f0a0652053cb05a3457a37ff335bab5580b Reviewed-by: Niels Weber --- plugins/autotest/testnavigationwidget.cpp | 6 ++++-- plugins/autotest/testtreemodel.cpp | 11 +++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/plugins/autotest/testnavigationwidget.cpp b/plugins/autotest/testnavigationwidget.cpp index ad1a496b5f..354e2869a5 100644 --- a/plugins/autotest/testnavigationwidget.cpp +++ b/plugins/autotest/testnavigationwidget.cpp @@ -103,7 +103,8 @@ void TestNavigationWidget::contextMenuEvent(QContextMenuEvent *event) int type = index.data(TypeRole).toInt(); const QString &unnamed = tr(Constants::UNNAMED_QUICKTESTS); if ((type == TestTreeItem::TEST_FUNCTION && index.parent().data().toString() != unnamed) - || (type == TestTreeItem::TEST_CLASS && index.data().toString() != unnamed)) { + || (type == TestTreeItem::TEST_CLASS && index.data().toString() != unnamed) + || (type == TestTreeItem::TEST_DATATAG)) { runThisTest = new QAction(tr("Run This Test"), &menu); runThisTest->setEnabled(enabled); connect(runThisTest, &QAction::triggered, @@ -247,7 +248,8 @@ void TestNavigationWidget::onRunThisTestTriggered() return; TestTreeItem *item = static_cast(sourceIndex.internalPointer()); - if (item->type() == TestTreeItem::TEST_CLASS || item->type() == TestTreeItem::TEST_FUNCTION) { + if (item->type() == TestTreeItem::TEST_CLASS || item->type() == TestTreeItem::TEST_FUNCTION + || item->type() == TestTreeItem::TEST_DATATAG) { if (TestConfiguration *configuration = m_model->getTestConfiguration(item)) { TestRunner *runner = TestRunner::instance(); runner->setSelectedTests( {configuration} ); diff --git a/plugins/autotest/testtreemodel.cpp b/plugins/autotest/testtreemodel.cpp index 0e3b09b439..0b43688982 100644 --- a/plugins/autotest/testtreemodel.cpp +++ b/plugins/autotest/testtreemodel.cpp @@ -558,6 +558,17 @@ TestConfiguration *TestTreeModel::getTestConfiguration(const TestTreeItem *item) } break; } + case TestTreeItem::TEST_DATATAG: { + const TestTreeItem *function = item->parent(); + const TestTreeItem *parent = function ? function->parent() : 0; + if (!parent) + return 0; + const QString functionWithTag = function->name() + QLatin1Char(':') + item->name(); + config = new TestConfiguration(parent->name(), QStringList() << functionWithTag); + config->setMainFilePath(parent->filePath()); + config->setProject(project); + break; + } // not supported items default: return 0; -- cgit v1.2.1