feat: PluginsItem类添加单元测试

PluginsItem类添加单元测试

Log: PluginsItem类添加单元测试
Change-Id: Ie5d5b8704425daa77dfa58d8a39a1c67f2601b1c
This commit is contained in:
liuxing 2021-03-18 17:42:09 +08:00
parent ad798181eb
commit 8cfd66964b
3 changed files with 173 additions and 0 deletions

53
tests/item/testplugin.cpp Normal file
View File

@ -0,0 +1,53 @@
#include "testplugin.h"
#include <QWidget>
TestPlugin::TestPlugin()
: m_sortKey(0)
, m_type(Normal)
{
}
const QString TestPlugin::pluginName() const
{
return QString(Name);
}
const QString TestPlugin::pluginDisplayName() const
{
return QString(Name);
}
void TestPlugin::init(PluginProxyInterface *)
{
}
QWidget *TestPlugin::itemWidget(const QString &)
{
return new QWidget;
}
int TestPlugin::itemSortKey(const QString &)
{
return m_sortKey;
}
void TestPlugin::setSortKey(const QString &, const int order)
{
m_sortKey = order;
}
PluginsItemInterface::PluginSizePolicy TestPlugin::pluginSizePolicy() const
{
return PluginsItemInterface::Custom;
}
PluginsItemInterface::PluginType TestPlugin::type()
{
return m_type;
}
void TestPlugin::setType(const PluginType type)
{
m_type = type;
}

30
tests/item/testplugin.h Normal file
View File

@ -0,0 +1,30 @@
#ifndef TESTPLUGIN_H
#define TESTPLUGIN_H
#include "pluginsiteminterface.h"
const QString Name = "Test";
class TestPlugin : public PluginsItemInterface
{
public:
TestPlugin();
virtual const QString pluginName() const override;
virtual const QString pluginDisplayName() const override;
virtual void init(PluginProxyInterface *proxyInter) override;
virtual QWidget *itemWidget(const QString &itemKey) override;
virtual int itemSortKey(const QString &itemKey) override;
virtual void setSortKey(const QString &itemKey, const int order) override;
virtual PluginSizePolicy pluginSizePolicy() const override;
virtual PluginType type() override;
public:
void setType(const PluginType type);
private:
int m_sortKey;
PluginType m_type;
};
#endif // TESTPLUGIN_H

View File

@ -0,0 +1,90 @@
#include <QTest>
#include <gtest/gtest.h>
#include "testplugin.h"
#define private public
#include "pluginsitem.h"
#undef private
using namespace ::testing;
class Ut_PluginsItem : public ::testing::Test
{
public:
virtual void SetUp() override;
virtual void TearDown() override;
};
void Ut_PluginsItem::SetUp()
{
}
void Ut_PluginsItem::TearDown()
{
}
TEST_F(Ut_PluginsItem, itemSortKey_test)
{
TestPlugin plugin;
PluginsItem item(&plugin, "", "");
ASSERT_EQ(item.itemSortKey(), 0);
item.setItemSortKey(99);
ASSERT_EQ(item.itemSortKey(), 99);
item.detachPluginWidget();
ASSERT_EQ(item.pluginName(), Name);
}
TEST_F(Ut_PluginsItem, pluginSizePolicy_test)
{
TestPlugin plugin;
PluginsItem item(&plugin, "", "1.2.0");
ASSERT_EQ(item.pluginSizePolicy(), PluginsItemInterface::System);
PluginsItem item1(&plugin, "", "1.3.0");
ASSERT_EQ(item1.pluginSizePolicy(), PluginsItemInterface::Custom);
}
TEST_F(Ut_PluginsItem, itemType_test)
{
TestPlugin plugin;
PluginsItem item(&plugin, "", "");
plugin.setType(PluginsItemInterface::Normal);
ASSERT_EQ(item.itemType(), PluginsItem::Plugins);
plugin.setType(PluginsItemInterface::Fixed);
ASSERT_EQ(item.itemType(), PluginsItem::FixedPlugin);
}
TEST_F(Ut_PluginsItem, cover)
{
TestPlugin plugin;
PluginsItem item(&plugin, "", "");
item.sizeHint();
ASSERT_TRUE(item.centralWidget());
item.setDraging(true);
item.refreshIcon();
item.onGSettingsChanged("");
item.startDrag();
item.mouseClicked();
}
TEST_F(Ut_PluginsItem, event_test)
{
TestPlugin plugin;
PluginsItem item(&plugin, "", "");
QTest::mousePress(&item, Qt::LeftButton, Qt::NoModifier);
QTest::mousePress(&item, Qt::RightButton, Qt::NoModifier);
QTest::mouseMove(&item, QPoint());
}