[applets/systemtray] Simplify test code

Instead of mocking the settings class use the real class with an artificial config file
wilder-5.25
Nicolas Fella 4 years ago committed by Nate Graham
parent ecc938a666
commit 8f28a24906
  1. 0
      applets/systemtray/autotests/data/systraysettingsrc
  2. 68
      applets/systemtray/autotests/systemtraymodeltest.cpp
  3. 24
      applets/systemtray/systemtraysettings.h

@ -11,6 +11,8 @@
#include <Plasma/DataEngine>
#include <Plasma/PluginLoader>
#include <KConfigLoader>
#include "../plasmoidregistry.h"
#include "../systemtraymodel.h"
#include "../systemtraysettings.h"
@ -50,70 +52,14 @@ public:
QMap<QString, KPluginMetaData> m_systemTrayApplets;
};
class MockedSystemTraySettings : public SystemTraySettings
{
public:
MockedSystemTraySettings()
: SystemTraySettings(nullptr)
{
}
bool isKnownPlugin(const QString &pluginId) override
{
return m_knownPlugins.contains(pluginId);
}
const QStringList knownPlugins() const override
{
return m_knownPlugins;
}
void addKnownPlugin(const QString &pluginId) override
{
m_knownPlugins << pluginId;
}
void removeKnownPlugin(const QString &pluginId) override
{
m_knownPlugins.removeAll(pluginId);
}
bool isEnabledPlugin(const QString &pluginId) const override
{
return m_enabledPlugins.contains(pluginId);
}
const QStringList enabledPlugins() const override
{
return m_enabledPlugins;
}
void addEnabledPlugin(const QString &pluginId) override
{
m_enabledPlugins << pluginId;
}
void removeEnabledPlugin(const QString &pluginId) override
{
m_enabledPlugins.removeAll(pluginId);
}
bool isShowAllItems() const override
{
return m_showAllItems;
}
const QStringList shownItems() const override
{
return m_shownItems;
}
const QStringList hiddenItems() const override
{
return m_hiddenItems;
};
QStringList m_knownPlugins;
QStringList m_enabledPlugins;
QStringList m_shownItems;
QStringList m_hiddenItems;
bool m_showAllItems = false;
};
void SystemTrayModelTest::testPlasmoidModel()
{
// given: mocked PlasmoidRegistry with sample plugin meta data
MockedSystemTraySettings *settings = new MockedSystemTraySettings();
const QString configFileName = QFINDTESTDATA("data/systraysettingsrc");
const QString schemaFileName = QFINDTESTDATA("../package/contents/config/main.xml");
QFile schemaFile(schemaFileName);
KConfigLoader loader(configFileName, &schemaFile);
SystemTraySettings *settings = new SystemTraySettings(&loader);
MockedPlasmoidRegistry *plasmoidRegistry = new MockedPlasmoidRegistry(settings);
plasmoidRegistry->m_systemTrayApplets.insert(DEVICENOTIFIER_ID, KPluginMetaData(QFINDTESTDATA("data/devicenotifier/metadata.json")));
plasmoidRegistry->m_systemTrayApplets.insert(MEDIACONROLLER_ID, KPluginMetaData(QFINDTESTDATA("data/mediacontroller/metadata.json")));

@ -21,21 +21,21 @@ class SystemTraySettings : public QObject
public:
explicit SystemTraySettings(KConfigLoader *config, QObject *parent = nullptr);
virtual bool isKnownPlugin(const QString &pluginId);
virtual const QStringList knownPlugins() const;
virtual void addKnownPlugin(const QString &pluginId);
virtual void removeKnownPlugin(const QString &pluginId);
bool isKnownPlugin(const QString &pluginId);
const QStringList knownPlugins() const;
void addKnownPlugin(const QString &pluginId);
void removeKnownPlugin(const QString &pluginId);
virtual bool isEnabledPlugin(const QString &pluginId) const;
virtual const QStringList enabledPlugins() const;
virtual void addEnabledPlugin(const QString &pluginId);
virtual void removeEnabledPlugin(const QString &pluginId);
bool isEnabledPlugin(const QString &pluginId) const;
const QStringList enabledPlugins() const;
void addEnabledPlugin(const QString &pluginId);
void removeEnabledPlugin(const QString &pluginId);
virtual bool isShowAllItems() const;
virtual const QStringList shownItems() const;
virtual const QStringList hiddenItems() const;
bool isShowAllItems() const;
const QStringList shownItems() const;
const QStringList hiddenItems() const;
virtual void cleanupPlugin(const QString &pluginId);
void cleanupPlugin(const QString &pluginId);
Q_SIGNALS:
void configurationChanged();

Loading…
Cancel
Save