mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 09:23:03 +00:00

修复部分空指针问题,还有一部分报错原因比较复杂,后续还需要继续处理 Log: 无 Influence: 单元测试编译能否通过 Task: https://pms.uniontech.com/zentao/task-view-99684.html Change-Id: I241c9902159e0337152c3684eecb94a4329cfbbb
96 lines
2.3 KiB
C++
96 lines
2.3 KiB
C++
/*
|
|
* Copyright (C) 2018 ~ 2020 Uniontech Technology Co., Ltd.
|
|
*
|
|
* Author: fanpengcheng <fanpengcheng@uniontech.com>
|
|
*
|
|
* Maintainer: fanpengcheng <fanpengcheng@uniontech.com>
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
#include <QObject>
|
|
#include <QDebug>
|
|
#include <QTest>
|
|
|
|
#include <DWindowManagerHelper>
|
|
|
|
#include <gtest/gtest.h>
|
|
|
|
#define private public
|
|
#include "dockitemmanager.h"
|
|
#include "dockitem.h"
|
|
#undef private
|
|
#include "item/testplugin.h"
|
|
#include "traypluginitem.h"
|
|
|
|
class Test_DockItemManager : public ::testing::Test
|
|
{
|
|
public:
|
|
virtual void SetUp() override;
|
|
virtual void TearDown() override;
|
|
|
|
public:
|
|
DockItemManager *manager = nullptr;
|
|
};
|
|
|
|
void Test_DockItemManager::SetUp()
|
|
{
|
|
manager = DockItemManager::instance();
|
|
}
|
|
|
|
void Test_DockItemManager::TearDown()
|
|
{
|
|
}
|
|
|
|
TEST_F(Test_DockItemManager, appIsOnDock_test)
|
|
{
|
|
manager->appIsOnDock("test");
|
|
|
|
//TODO 问题从这里开始产生
|
|
// manager->startLoadPlugins();
|
|
// QTest::qWait(10);
|
|
}
|
|
|
|
TEST_F(Test_DockItemManager, get_method_test)
|
|
{
|
|
manager->itemList();
|
|
manager->pluginList();
|
|
|
|
for (auto item: manager->m_itemList)
|
|
qDebug() << item->itemType();
|
|
}
|
|
|
|
TEST_F(Test_DockItemManager, refreshItemsIcon_test)
|
|
{
|
|
manager->refreshItemsIcon();
|
|
}
|
|
|
|
TEST_F(Test_DockItemManager, coverage_test)
|
|
{
|
|
manager->updatePluginsItemOrderKey();
|
|
manager->itemAdded("", 0);
|
|
manager->appItemAdded(QDBusObjectPath(), 0);
|
|
manager->onPluginLoadFinished();
|
|
manager->reloadAppItems();
|
|
|
|
QScopedPointer<TestPlugin> testPlugin(new TestPlugin);
|
|
TrayPluginItem item(testPlugin.get(), "", "");
|
|
manager->pluginItemInserted(&item);
|
|
|
|
manager->itemMoved(manager->itemList().first(), &item);
|
|
|
|
manager->pluginItemRemoved(&item);
|
|
|
|
manager->appItemRemoved("");
|
|
}
|