Fossil: Move plugin class definition to .cpp

And split out the tests into a separate class.

Change-Id: I908c4cec5d6a69850867cf2e51c050c8dd356a26
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
hjk
2023-11-17 12:59:54 +01:00
parent d924d4e886
commit 8aa78b119a
5 changed files with 44 additions and 58 deletions

View File

@@ -11,7 +11,7 @@ add_qtc_plugin(Fossil
fossilclient.cpp fossilclient.h
fossilcommitwidget.cpp fossilcommitwidget.h
fossileditor.cpp fossileditor.h
fossilplugin.cpp fossilplugin.h
fossilplugin.cpp
fossilsettings.cpp fossilsettings.h
fossiltr.h
pullorpushdialog.cpp pullorpushdialog.h

View File

@@ -21,7 +21,7 @@ QtcPlugin {
"fossilclient.cpp", "fossilclient.h",
"fossilcommitwidget.cpp", "fossilcommitwidget.h",
"fossileditor.cpp", "fossileditor.h",
"fossilplugin.cpp", "fossilplugin.h",
"fossilplugin.cpp",
"fossilsettings.cpp", "fossilsettings.h",
"fossiltr.h",
"pullorpushdialog.cpp", "pullorpushdialog.h",

View File

@@ -1,8 +1,6 @@
// Copyright (c) 2018 Artur Shepilko
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#include "fossilplugin.h"
#include "commiteditor.h"
#include "configuredialog.h"
#include "constants.h"
@@ -39,6 +37,7 @@
#include <vcsbase/basevcssubmiteditorfactory.h>
#include <vcsbase/vcsbaseclient.h>
#include <vcsbase/vcsbaseeditor.h>
#include <vcsbase/vcsbaseplugin.h>
#include <vcsbase/vcsbasesubmiteditor.h>
#include <vcsbase/vcscommand.h>
#include <vcsbase/vcsoutputwindow.h>
@@ -244,26 +243,6 @@ private:
QLineEdit *m_revisionLineEdit = nullptr;
};
FossilPlugin::~FossilPlugin()
{
delete dd;
dd = nullptr;
}
bool FossilPlugin::initialize(const QStringList &arguments, QString *errorMessage)
{
Q_UNUSED(arguments);
Q_UNUSED(errorMessage);
dd = new FossilPluginPrivate;
return true;
}
void FossilPlugin::extensionsInitialized()
{
dd->extensionsInitialized();
}
FossilPluginPrivate::FossilPluginPrivate()
: VcsBasePluginPrivate(Context(Constants::FOSSIL_CONTEXT))
@@ -1087,7 +1066,17 @@ RevertDialog::RevertDialog(const QString &title, QWidget *parent)
#ifdef WITH_TESTS
void FossilPlugin::testDiffFileResolving_data()
class FossilTests final : public QObject
{
Q_OBJECT
private slots:
void testDiffFileResolving_data();
void testDiffFileResolving();
void testLogResolving();
};
void FossilTests::testDiffFileResolving_data()
{
QTest::addColumn<QByteArray>("header");
QTest::addColumn<QByteArray>("fileName");
@@ -1120,12 +1109,12 @@ void FossilPlugin::testDiffFileResolving_data()
<< QByteArray("src/plugins/fossil/fossilclient.cpp");
}
void FossilPlugin::testDiffFileResolving()
void FossilTests::testDiffFileResolving()
{
VcsBaseEditorWidget::testDiffFileResolving(dd->diffFactory);
}
void FossilPlugin::testLogResolving()
void FossilTests::testLogResolving()
{
QByteArray data(
"=== 2014-03-08 ===\n"
@@ -1139,4 +1128,32 @@ void FossilPlugin::testLogResolving()
}
#endif
class FossilPlugin final : public ExtensionSystem::IPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "Fossil.json")
~FossilPlugin() final
{
delete dd;
dd = nullptr;
}
void initialize() final
{
dd = new FossilPluginPrivate;
#ifdef WITH_TESTS
addTest<FossilTests>();
#endif
}
void extensionsInitialized() final
{
dd->extensionsInitialized();
}
};
} // namespace Fossil::Internal
#include "fossilplugin.moc"

View File

@@ -1,30 +0,0 @@
// Copyright (c) 2018 Artur Shepilko
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#pragma once
#include <vcsbase/vcsbaseplugin.h>
namespace Fossil {
namespace Internal {
class FossilPlugin final : public ExtensionSystem::IPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "Fossil.json")
~FossilPlugin() final;
bool initialize(const QStringList &arguments, QString *errorMessage) final;
void extensionsInitialized() final;
#ifdef WITH_TESTS
private slots:
void testDiffFileResolving_data();
void testDiffFileResolving();
void testLogResolving();
#endif
};
} // namespace Internal
} // namespace Fossil

View File

@@ -4,7 +4,6 @@
#include "fossiljsextension.h"
#include "../constants.h"
#include "../fossilclient.h"
#include "../fossilplugin.h"
#include <coreplugin/iversioncontrol.h>
#include <coreplugin/vcsmanager.h>