diff --git a/src/plugins/coreplugin/coreplugin.cpp b/src/plugins/coreplugin/coreplugin.cpp index 9034d58563f..f78e6be0bc9 100644 --- a/src/plugins/coreplugin/coreplugin.cpp +++ b/src/plugins/coreplugin/coreplugin.cpp @@ -14,6 +14,7 @@ #include "session.h" #include "settingsdatabase.h" #include "themechooser.h" +#include "vcsmanager.h" #include "actionmanager/actionmanager.h" #include "coreconstants.h" @@ -244,6 +245,10 @@ bool CorePlugin::initialize(const QStringList &arguments, QString *errorMessage) Qt::QueuedConnection); #endif +#ifdef WITH_TESTS + addTestCreator(&createVcsManagerTest); +#endif + return true; } diff --git a/src/plugins/coreplugin/coreplugin.h b/src/plugins/coreplugin/coreplugin.h index 148f9b5c97f..e5c253e4dbd 100644 --- a/src/plugins/coreplugin/coreplugin.h +++ b/src/plugins/coreplugin/coreplugin.h @@ -62,8 +62,6 @@ public slots: #if defined(WITH_TESTS) private slots: - void testVcsManager_data(); - void testVcsManager(); // Locator: void test_basefilefilter(); void test_basefilefilter_data(); diff --git a/src/plugins/coreplugin/vcsmanager.cpp b/src/plugins/coreplugin/vcsmanager.cpp index 4e04a687d80..2c9e5439c27 100644 --- a/src/plugins/coreplugin/vcsmanager.cpp +++ b/src/plugins/coreplugin/vcsmanager.cpp @@ -440,8 +440,6 @@ void VcsManager::handleConfigurationChanges(IVersionControl *vc) #include -#include "coreplugin.h" - #include namespace Core { @@ -471,7 +469,16 @@ static QString makeString(const QString &s) return QString::fromLatin1(TEST_PREFIX) + s; } -void CorePlugin::testVcsManager_data() +class VcsManagerTest final : public QObject +{ + Q_OBJECT + +private slots: + void testVcsManager_data(); + void testVcsManager(); +}; + +void VcsManagerTest::testVcsManager_data() { // avoid conflicts with real files and directories: @@ -523,7 +530,7 @@ void CorePlugin::testVcsManager_data() << QStringList({"a/2:a:A:*"}); } -void CorePlugin::testVcsManager() +void VcsManagerTest::testVcsManager() { // setup: QList orig = Core::d->m_versionControlList; @@ -578,7 +585,14 @@ void CorePlugin::testVcsManager() Core::d->m_versionControlList = orig; } +QObject *createVcsManagerTest() +{ + return new VcsManagerTest; +} + } // namespace Internal } // namespace Core #endif + +#include "vcsmanager.moc" diff --git a/src/plugins/coreplugin/vcsmanager.h b/src/plugins/coreplugin/vcsmanager.h index 5bb5a2e9c7d..4daad33124d 100644 --- a/src/plugins/coreplugin/vcsmanager.h +++ b/src/plugins/coreplugin/vcsmanager.h @@ -91,4 +91,8 @@ private: friend class IVersionControl; }; +#ifdef WITH_TESTS +namespace Internal { QObject *createVcsManagerTest(); } +#endif + } // namespace Core