summaryrefslogtreecommitdiff
path: root/src/plugins/genericprojectmanager
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/genericprojectmanager')
-rw-r--r--src/plugins/genericprojectmanager/cppmodelmanagerhelper.cpp74
-rw-r--r--src/plugins/genericprojectmanager/cppmodelmanagerhelper.h66
-rw-r--r--src/plugins/genericprojectmanager/filesselectionwizardpage.cpp10
-rw-r--r--src/plugins/genericprojectmanager/genericbuildconfiguration.cpp12
-rw-r--r--src/plugins/genericprojectmanager/genericmakestep.cpp20
-rw-r--r--src/plugins/genericprojectmanager/genericproject.cpp10
-rw-r--r--src/plugins/genericprojectmanager/genericprojectmanager.pro3
-rw-r--r--src/plugins/genericprojectmanager/genericprojectmanager.qbs5
-rw-r--r--src/plugins/genericprojectmanager/genericprojectnodes.cpp10
-rw-r--r--src/plugins/genericprojectmanager/genericprojectplugin.cpp7
-rw-r--r--src/plugins/genericprojectmanager/genericprojectplugin_test.cpp115
11 files changed, 79 insertions, 253 deletions
diff --git a/src/plugins/genericprojectmanager/cppmodelmanagerhelper.cpp b/src/plugins/genericprojectmanager/cppmodelmanagerhelper.cpp
deleted file mode 100644
index f359b3614c..0000000000
--- a/src/plugins/genericprojectmanager/cppmodelmanagerhelper.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms and
-** conditions see http://www.qt.io/terms-conditions. For further information
-** use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, The Qt Company gives you certain additional
-** rights. These rights are described in The Qt Company LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "cppmodelmanagerhelper.h"
-
-#include <QCoreApplication>
-#include <QTest>
-#include <QThread>
-
-using namespace CppTools;
-using namespace GenericProjectManager::Internal::Tests;
-
-CppModelManagerHelper::CppModelManagerHelper(QObject *parent)
- : QObject(parent)
- , m_spy(cppModelManager(), SIGNAL(sourceFilesRefreshed(const QSet<QString> &)))
-{
- connect(cppModelManager(), &CppModelManager::sourceFilesRefreshed,
- this, &CppModelManagerHelper::onSourceFilesRefreshed);
-}
-
-CppModelManager *CppModelManagerHelper::cppModelManager()
-{
- return CppModelManager::instance();
-}
-
-void CppModelManagerHelper::waitForSourceFilesRefreshed(const QString &file, int timeOut)
-{
- waitForSourceFilesRefreshed(QStringList() << file, timeOut);
-}
-
-void CppModelManagerHelper::waitForSourceFilesRefreshed(const QStringList &files, int timeOut)
-{
- QTime t;
- t.start();
-
- foreach (const QString &file, files) {
- while (!m_refreshedSourceFiles.contains(file))
- QCoreApplication::processEvents();
- QVERIFY(t.elapsed() <= timeOut);
- }
- QCOMPARE(m_spy.count(), 1);
-}
-
-void CppModelManagerHelper::onSourceFilesRefreshed(const QSet<QString> &files)
-{
- m_refreshedSourceFiles.unite(files);
-}
diff --git a/src/plugins/genericprojectmanager/cppmodelmanagerhelper.h b/src/plugins/genericprojectmanager/cppmodelmanagerhelper.h
deleted file mode 100644
index 61fc4973cf..0000000000
--- a/src/plugins/genericprojectmanager/cppmodelmanagerhelper.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms and
-** conditions see http://www.qt.io/terms-conditions. For further information
-** use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, The Qt Company gives you certain additional
-** rights. These rights are described in The Qt Company LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef CPPMODELMANAGERHELPER_H
-#define CPPMODELMANAGERHELPER_H
-
-#include <cpptools/cppmodelmanager.h>
-
-#include <QObject>
-#include <QSignalSpy>
-
-namespace GenericProjectManager {
-namespace Internal {
-namespace Tests {
-
-class CppModelManagerHelper : public QObject
-{
- Q_OBJECT
-public:
- explicit CppModelManagerHelper(QObject *parent = 0);
-
- static CppTools::CppModelManager *cppModelManager();
-
- enum { defaultTimeOut = 30 * 1000 }; // 30 secs
- void waitForSourceFilesRefreshed(const QString &file = QString(), int timeOut = defaultTimeOut);
- void waitForSourceFilesRefreshed(const QStringList &files, int timeOut = defaultTimeOut);
-
-private:
- void onSourceFilesRefreshed(const QSet<QString> &files);
-
- QSet<QString> m_refreshedSourceFiles;
- QSignalSpy m_spy;
-};
-
-} // Tests namespace
-} // Internal namespace
-} // GenericProjectManager namespace
-
-#endif // CPPMODELMANAGERHELPER_H
diff --git a/src/plugins/genericprojectmanager/filesselectionwizardpage.cpp b/src/plugins/genericprojectmanager/filesselectionwizardpage.cpp
index aca9f9da41..5e4bc5446b 100644
--- a/src/plugins/genericprojectmanager/filesselectionwizardpage.cpp
+++ b/src/plugins/genericprojectmanager/filesselectionwizardpage.cpp
@@ -115,7 +115,7 @@ void FilesSelectionWizardPage::createApplyButton(QVBoxLayout *layout)
hbox->addWidget(m_applyFilterButton);
layout->addLayout(hbox);
- connect(m_applyFilterButton, SIGNAL(clicked()), this, SLOT(applyFilter()));
+ connect(m_applyFilterButton, &QPushButton::clicked, this, &FilesSelectionWizardPage::applyFilter);
}
void FilesSelectionWizardPage::initializePage()
@@ -123,10 +123,10 @@ void FilesSelectionWizardPage::initializePage()
m_view->setModel(0);
delete m_model;
m_model = new ProjectExplorer::SelectableFilesModel(this);
- connect(m_model, SIGNAL(parsingProgress(QString)),
- this, SLOT(parsingProgress(QString)));
- connect(m_model, SIGNAL(parsingFinished()),
- this, SLOT(parsingFinished()));
+ connect(m_model, &ProjectExplorer::SelectableFilesModel::parsingProgress,
+ this, &FilesSelectionWizardPage::parsingProgress);
+ connect(m_model, &ProjectExplorer::SelectableFilesModel::parsingFinished,
+ this, &FilesSelectionWizardPage::parsingFinished);
m_model->startParsing(m_genericProjectWizardDialog->path());
m_hideFilesFilterLabel->setVisible(false);
diff --git a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp
index 6b90d283f4..8c0b6686ca 100644
--- a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp
+++ b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp
@@ -95,7 +95,7 @@ int GenericBuildConfigurationFactory::priority(const Target *parent) const
QList<BuildInfo *> GenericBuildConfigurationFactory::availableBuilds(const Target *parent) const
{
- QList<ProjectExplorer::BuildInfo *> result;
+ QList<BuildInfo *> result;
BuildInfo *info = createBuildInfo(parent->kit(), parent->project()->projectDirectory());
result << info;
return result;
@@ -110,7 +110,7 @@ int GenericBuildConfigurationFactory::priority(const Kit *k, const QString &proj
QList<BuildInfo *> GenericBuildConfigurationFactory::availableSetups(const Kit *k, const QString &projectPath) const
{
QList<BuildInfo *> result;
- BuildInfo *info = createBuildInfo(k, ProjectExplorer::Project::projectDirectory(Utils::FileName::fromString(projectPath)));
+ BuildInfo *info = createBuildInfo(k, Project::projectDirectory(Utils::FileName::fromString(projectPath)));
//: The name of the build configuration created by default for a generic project.
info->displayName = tr("Default");
result << info;
@@ -184,7 +184,7 @@ bool GenericBuildConfigurationFactory::canHandle(const Target *t) const
return qobject_cast<GenericProject *>(t->project());
}
-BuildInfo *GenericBuildConfigurationFactory::createBuildInfo(const ProjectExplorer::Kit *k,
+BuildInfo *GenericBuildConfigurationFactory::createBuildInfo(const Kit *k,
const Utils::FileName &buildDir) const
{
BuildInfo *info = new BuildInfo(this);
@@ -215,7 +215,8 @@ GenericBuildSettingsWidget::GenericBuildSettingsWidget(GenericBuildConfiguration
m_pathChooser->setHistoryCompleter(QLatin1String("Generic.BuildDir.History"));
m_pathChooser->setEnabled(true);
fl->addRow(tr("Build directory:"), m_pathChooser);
- connect(m_pathChooser, SIGNAL(changed(QString)), this, SLOT(buildDirectoryChanged()));
+ connect(m_pathChooser, &Utils::PathChooser::changed,
+ this, &GenericBuildSettingsWidget::buildDirectoryChanged);
m_buildConfiguration = bc;
m_pathChooser->setBaseFileName(bc->target()->project()->projectDirectory());
@@ -223,7 +224,8 @@ GenericBuildSettingsWidget::GenericBuildSettingsWidget(GenericBuildConfiguration
m_pathChooser->setPath(m_buildConfiguration->rawBuildDirectory().toString());
setDisplayName(tr("Generic Manager"));
- connect(bc, SIGNAL(environmentChanged()), this, SLOT(environmentHasChanged()));
+ connect(bc, &GenericBuildConfiguration::environmentChanged,
+ this, &GenericBuildSettingsWidget::environmentHasChanged);
}
void GenericBuildSettingsWidget::buildDirectoryChanged()
diff --git a/src/plugins/genericprojectmanager/genericmakestep.cpp b/src/plugins/genericprojectmanager/genericmakestep.cpp
index c85b98cd4c..1235c8ed0b 100644
--- a/src/plugins/genericprojectmanager/genericmakestep.cpp
+++ b/src/plugins/genericprojectmanager/genericmakestep.cpp
@@ -245,12 +245,12 @@ GenericMakeStepConfigWidget::GenericMakeStepConfigWidget(GenericMakeStep *makeSt
updateMakeOverrrideLabel();
updateDetails();
- connect(m_ui->targetsList, SIGNAL(itemChanged(QListWidgetItem*)),
- this, SLOT(itemChanged(QListWidgetItem*)));
- connect(m_ui->makeLineEdit, SIGNAL(textEdited(QString)),
- this, SLOT(makeLineEditTextEdited()));
- connect(m_ui->makeArgumentsLineEdit, SIGNAL(textEdited(QString)),
- this, SLOT(makeArgumentsLineEditTextEdited()));
+ connect(m_ui->targetsList, &QListWidget::itemChanged,
+ this, &GenericMakeStepConfigWidget::itemChanged);
+ connect(m_ui->makeLineEdit, &QLineEdit::textEdited,
+ this, &GenericMakeStepConfigWidget::makeLineEditTextEdited);
+ connect(m_ui->makeArgumentsLineEdit, &QLineEdit::textEdited,
+ this, &GenericMakeStepConfigWidget::makeArgumentsLineEditTextEdited);
connect(ProjectExplorerPlugin::instance(), SIGNAL(settingsChanged()),
this, SLOT(updateMakeOverrrideLabel()));
@@ -260,10 +260,10 @@ GenericMakeStepConfigWidget::GenericMakeStepConfigWidget(GenericMakeStep *makeSt
connect(m_makeStep->target(), SIGNAL(kitChanged()),
this, SLOT(updateMakeOverrrideLabel()));
- connect(pro, SIGNAL(environmentChanged()),
- this, SLOT(updateMakeOverrrideLabel()));
- connect(pro, SIGNAL(environmentChanged()),
- this, SLOT(updateDetails()));
+ connect(pro, &GenericProject::environmentChanged,
+ this, &GenericMakeStepConfigWidget::updateMakeOverrrideLabel);
+ connect(pro, &GenericProject::environmentChanged,
+ this, &GenericMakeStepConfigWidget::updateDetails);
}
GenericMakeStepConfigWidget::~GenericMakeStepConfigWidget()
diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp
index 9f32515e8a..9265fc4e54 100644
--- a/src/plugins/genericprojectmanager/genericproject.cpp
+++ b/src/plugins/genericprojectmanager/genericproject.cpp
@@ -352,16 +352,14 @@ void GenericProject::refreshCppCodeModel()
m_codeModelFuture.cancel();
- CppTools::ProjectInfo pInfo = modelManager->projectInfo(this);
- pInfo.clearProjectParts();
-
+ CppTools::ProjectInfo pInfo = CppTools::ProjectInfo(this);
CppTools::ProjectPartBuilder ppBuilder(pInfo);
ppBuilder.setIncludePaths(projectIncludePaths());
ppBuilder.setConfigFileName(configFileName());
ppBuilder.setCxxFlags(QStringList() << QLatin1String("-std=c++11"));
- const QList<Core::Id> languages = ppBuilder.createProjectPartsForFiles(files());
- foreach (Core::Id language, languages)
+ const QList<Id> languages = ppBuilder.createProjectPartsForFiles(files());
+ foreach (Id language, languages)
setProjectLanguage(language, true);
pInfo.finish();
@@ -449,7 +447,7 @@ GenericProjectFile::GenericProjectFile(GenericProject *parent, QString fileName,
{
setId("Generic.ProjectFile");
setMimeType(QLatin1String(Constants::GENERICMIMETYPE));
- setFilePath(fileName);
+ setFilePath(Utils::FileName::fromString(fileName));
}
bool GenericProjectFile::save(QString *, const QString &, bool)
diff --git a/src/plugins/genericprojectmanager/genericprojectmanager.pro b/src/plugins/genericprojectmanager/genericprojectmanager.pro
index 72911ca688..c0da34edc9 100644
--- a/src/plugins/genericprojectmanager/genericprojectmanager.pro
+++ b/src/plugins/genericprojectmanager/genericprojectmanager.pro
@@ -23,7 +23,6 @@ RESOURCES += genericproject.qrc
FORMS += genericmakestep.ui
equals(TEST, 1) {
- SOURCES += genericprojectplugin_test.cpp cppmodelmanagerhelper.cpp
- HEADERS += cppmodelmanagerhelper.h
+ SOURCES += genericprojectplugin_test.cpp
DEFINES += SRCDIR=\\\"$$PWD\\\"
}
diff --git a/src/plugins/genericprojectmanager/genericprojectmanager.qbs b/src/plugins/genericprojectmanager/genericprojectmanager.qbs
index 62572d4457..9de35a1d49 100644
--- a/src/plugins/genericprojectmanager/genericprojectmanager.qbs
+++ b/src/plugins/genericprojectmanager/genericprojectmanager.qbs
@@ -40,10 +40,7 @@ QtcPlugin {
Group {
name: "Tests"
condition: project.testsEnabled
- files: [
- "cppmodelmanagerhelper.cpp", "cppmodelmanagerhelper.h",
- "genericprojectplugin_test.cpp",
- ]
+ files: [ "genericprojectplugin_test.cpp" ]
cpp.defines: outer.concat(['SRCDIR="' + FileInfo.path(filePath) + '"'])
}
diff --git a/src/plugins/genericprojectmanager/genericprojectnodes.cpp b/src/plugins/genericprojectmanager/genericprojectnodes.cpp
index 07d51f5718..75bbb4d6bc 100644
--- a/src/plugins/genericprojectmanager/genericprojectnodes.cpp
+++ b/src/plugins/genericprojectmanager/genericprojectnodes.cpp
@@ -43,9 +43,11 @@ namespace GenericProjectManager {
namespace Internal {
GenericProjectNode::GenericProjectNode(GenericProject *project, Core::IDocument *projectFile)
- : ProjectNode(projectFile->filePath()), m_project(project), m_projectFile(projectFile)
+ : ProjectNode(projectFile->filePath().toString())
+ , m_project(project)
+ , m_projectFile(projectFile)
{
- setDisplayName(QFileInfo(projectFile->filePath()).completeBaseName());
+ setDisplayName(projectFile->filePath().toFileInfo().completeBaseName());
}
Core::IDocument *GenericProjectNode::projectFile() const
@@ -55,7 +57,7 @@ Core::IDocument *GenericProjectNode::projectFile() const
QString GenericProjectNode::projectFilePath() const
{
- return m_projectFile->filePath();
+ return m_projectFile->filePath().toString();
}
QHash<QString, QStringList> sortFilesIntoPaths(const QString &base, const QSet<QString> &files)
@@ -211,7 +213,7 @@ bool GenericProjectNode::showInSimpleTree() const
return true;
}
-QList<ProjectExplorer::ProjectAction> GenericProjectNode::supportedActions(Node *node) const
+QList<ProjectAction> GenericProjectNode::supportedActions(Node *node) const
{
Q_UNUSED(node);
return QList<ProjectAction>()
diff --git a/src/plugins/genericprojectmanager/genericprojectplugin.cpp b/src/plugins/genericprojectmanager/genericprojectplugin.cpp
index ce482d621a..32f5466671 100644
--- a/src/plugins/genericprojectmanager/genericprojectplugin.cpp
+++ b/src/plugins/genericprojectmanager/genericprojectplugin.cpp
@@ -44,7 +44,7 @@
#include <coreplugin/actionmanager/actioncontainer.h>
#include <projectexplorer/projectexplorerconstants.h>
-#include <projectexplorer/projectexplorer.h>
+#include <projectexplorer/projecttree.h>
#include <projectexplorer/selectablefilesmodel.h>
#include <QtPlugin>
@@ -82,10 +82,9 @@ bool GenericProjectPlugin::initialize(const QStringList &, QString *errorMessage
command->setAttribute(Command::CA_Hide);
mproject->addAction(command, ProjectExplorer::Constants::G_PROJECT_FILES);
- connect(editFilesAction, &QAction::triggered,
- this, &GenericProjectPlugin::editFiles);
+ connect(editFilesAction, &QAction::triggered, this, &GenericProjectPlugin::editFiles);
- connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::aboutToShowContextMenu,
+ connect(ProjectTree::instance(), &ProjectTree::aboutToShowContextMenu,
[this] (Project *project, Node *) { m_contextMenuProject = project; });
return true;
diff --git a/src/plugins/genericprojectmanager/genericprojectplugin_test.cpp b/src/plugins/genericprojectmanager/genericprojectplugin_test.cpp
index d1e8d641e8..2be04fd3d7 100644
--- a/src/plugins/genericprojectmanager/genericprojectplugin_test.cpp
+++ b/src/plugins/genericprojectmanager/genericprojectplugin_test.cpp
@@ -28,100 +28,61 @@
**
****************************************************************************/
-#include "cppmodelmanagerhelper.h"
#include "genericprojectplugin.h"
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/session.h>
+#include <cpptools/cppmodelmanager.h>
+#include <cpptools/cpptoolstestcase.h>
+
#include <QFileInfo>
#include <QTest>
using namespace CppTools;
+using namespace CppTools::Tests;
using namespace GenericProjectManager;
using namespace GenericProjectManager::Internal;
-using namespace GenericProjectManager::Internal::Tests;
using namespace ProjectExplorer;
-inline static QString _(const QByteArray &ba) { return QString::fromLatin1(ba, ba.size()); }
-inline static QString projectFilePath(const QString &project)
+namespace {
+
+inline QString _(const QByteArray &ba) { return QString::fromLatin1(ba, ba.size()); }
+inline QString sourceProjectPath(const QString &project)
{
const QString fileName(_(SRCDIR "/../../../tests/genericprojectmanager/") + project);
return QFileInfo(fileName).absoluteFilePath();
}
-namespace {
-class ProjectExplorerHelper
-{
-public:
- ProjectExplorerHelper()
- {
- QVERIFY(!SessionManager::hasProjects());
- }
-
- ~ProjectExplorerHelper()
- {
- foreach (Project *project, m_openProjects)
- ProjectExplorerPlugin::unloadProject(project);
- }
-
- Project *openProject(const QString &projectFile)
- {
- QString error;
- Project *project = ProjectExplorerPlugin::openProject(projectFile, &error);
- if (!error.isEmpty())
- qWarning() << error;
- if (!project)
- return 0;
- m_openProjects.append(project);
- return project;
- }
-
-private:
- QList<Project *> m_openProjects;
-};
} // anonymous namespace
-static ProjectInfo setupProject(const QByteArray &projectFile, const QByteArray &mainFile,
- ProjectExplorerHelper &pHelper)
-{
- CppModelManagerHelper cppHelper;
- Project *project = pHelper.openProject(projectFilePath(_(projectFile)));
- if (!project)
- return ProjectInfo();
-
- // Wait only for a single file: we don't really care if the file is refreshed or not, but at
- // this point we know that the C++ model manager got notified of all project parts and we can
- // retrieve them for inspection.
- cppHelper.waitForSourceFilesRefreshed(projectFilePath(_(mainFile)));
-
- CppModelManager *mm = cppHelper.cppModelManager();
- return mm->projectInfo(project);
-}
-
void GenericProjectPlugin::test_simple()
{
- ProjectExplorerHelper pHelper;
+ Tests::VerifyCleanCppModelManager verify;
+
+ TemporaryCopiedDir temporaryDir(sourceProjectPath(_("testdata_simpleproject")));
+ QVERIFY(temporaryDir.isValid());
+ const QString mainFile = temporaryDir.absolutePath("main.cpp");
+ const QString projectFile = temporaryDir.absolutePath("simpleproject.creator");
- const QByteArray mainFile("testdata_simpleproject/main.cpp");
- ProjectInfo pInfo(
- setupProject("testdata_simpleproject/simpleproject.creator", mainFile, pHelper));
+ ProjectOpenerAndCloser projects;
+ const ProjectInfo pInfo = projects.open(projectFile);
QVERIFY(pInfo.isValid());
QCOMPARE(pInfo.projectParts().size(), 1);
ProjectPart::Ptr pPart = pInfo.projectParts().first();
QVERIFY(pPart);
QCOMPARE(pPart->files.size(), 1);
- QCOMPARE(pPart->files.first().path, projectFilePath(_(mainFile)));
+ QCOMPARE(pPart->files.first().path, mainFile);
QCOMPARE(pPart->files.first().kind, ProjectFile::CXXSource);
}
-static QStringList simplify(const QList<CppTools::ProjectFile> &files, const QString &prefix)
+static QStringList simplify(const QList<ProjectFile> &files, const QString &prefix)
{
QStringList result;
- foreach (const CppTools::ProjectFile &file, files) {
+ foreach (const ProjectFile &file, files) {
if (file.path.startsWith(prefix))
result.append(file.path.mid(prefix.size()));
else
@@ -133,11 +94,14 @@ static QStringList simplify(const QList<CppTools::ProjectFile> &files, const QSt
void GenericProjectPlugin::test_mixed1()
{
- ProjectExplorerHelper pHelper;
- ProjectInfo pInfo(
- setupProject("testdata_mixedproject1/mixedproject1.creator",
- "testdata_mixedproject1/main.cpp",
- pHelper));
+ Tests::VerifyCleanCppModelManager verify;
+
+ TemporaryCopiedDir temporaryDir(sourceProjectPath(_("testdata_mixedproject1/")));
+ QVERIFY(temporaryDir.isValid());
+ const QString projectFile = temporaryDir.absolutePath("mixedproject1.creator");
+
+ ProjectOpenerAndCloser projects;
+ const ProjectInfo pInfo = projects.open(projectFile);
QVERIFY(pInfo.isValid());
QCOMPARE(pInfo.projectParts().size(), 3);
@@ -147,9 +111,10 @@ void GenericProjectPlugin::test_mixed1()
return p1->displayName < p2->displayName;
});
- QStringList part0files = simplify(parts[0]->files,projectFilePath(_("testdata_mixedproject1/")));
- QStringList part1files = simplify(parts[1]->files,projectFilePath(_("testdata_mixedproject1/")));
- QStringList part2files = simplify(parts[2]->files,projectFilePath(_("testdata_mixedproject1/")));
+ const QString dirPathWithSlash = temporaryDir.path() + QLatin1Char('/');
+ const QStringList part0files = simplify(parts[0]->files, dirPathWithSlash);
+ const QStringList part1files = simplify(parts[1]->files, dirPathWithSlash);
+ const QStringList part2files = simplify(parts[2]->files, dirPathWithSlash);
QCOMPARE(parts[0]->displayName, _("mixedproject1 (C++11)"));
QCOMPARE(parts[0]->files.size(), 4);
@@ -178,11 +143,14 @@ void GenericProjectPlugin::test_mixed1()
void GenericProjectPlugin::test_mixed2()
{
- ProjectExplorerHelper pHelper;
- ProjectInfo pInfo(
- setupProject("testdata_mixedproject2/mixedproject2.creator",
- "testdata_mixedproject2/main.cpp",
- pHelper));
+ Tests::VerifyCleanCppModelManager verify;
+
+ TemporaryCopiedDir temporaryDir(sourceProjectPath(_("testdata_mixedproject2/")));
+ QVERIFY(temporaryDir.isValid());
+ const QString projectFile = temporaryDir.absolutePath("mixedproject2.creator");
+
+ ProjectOpenerAndCloser projects;
+ const ProjectInfo pInfo = projects.open(projectFile);
QVERIFY(pInfo.isValid());
QCOMPARE(pInfo.projectParts().size(), 2);
@@ -192,8 +160,9 @@ void GenericProjectPlugin::test_mixed2()
return p1->displayName < p2->displayName;
});
- QStringList part0files = simplify(parts[0]->files,projectFilePath(_("testdata_mixedproject2/")));
- QStringList part1files = simplify(parts[1]->files,projectFilePath(_("testdata_mixedproject2/")));
+ const QString dirPathWithSlash = temporaryDir.path() + QLatin1Char('/');
+ const QStringList part0files = simplify(parts[0]->files, dirPathWithSlash);
+ const QStringList part1files = simplify(parts[1]->files, dirPathWithSlash);
QCOMPARE(parts[0]->displayName, _("mixedproject2 (C++11)"));
QCOMPARE(parts[0]->files.size(), 2);