mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 17:33:05 +00:00

GSettingWatcher这个类在控制中心和个性化的任务栏配置插件中均存在,用命名空间进行区分 Log: Bug: https://pms.uniontech.com/zentao/bug-view-101282.html Influence: 控制中心闪退问题 Change-Id: If71613fcdf4d7f7f931c8df58e4aac93c7098686
43 lines
1.0 KiB
C++
43 lines
1.0 KiB
C++
#include "gsetting_watcher.h"
|
|
|
|
#include <QWidget>
|
|
|
|
#include <gtest/gtest.h>
|
|
|
|
using namespace dcc_dock_plugin;
|
|
|
|
class Test_GSettingWatcher : public QObject, public ::testing::Test
|
|
{};
|
|
|
|
TEST_F(Test_GSettingWatcher, bind)
|
|
{
|
|
GSettingWatcher watcher("com.deepin.dde.control-center", "personalization");
|
|
|
|
QWidget widget;
|
|
watcher.bind("displayMode", &widget);
|
|
watcher.bind("displayMode", nullptr);
|
|
watcher.bind("invalid", &widget);
|
|
watcher.bind("", &widget);
|
|
watcher.bind("", nullptr);
|
|
}
|
|
|
|
TEST_F(Test_GSettingWatcher, setStatus)
|
|
{
|
|
GSettingWatcher watcher("com.deepin.dde.control-center", "personalization");
|
|
|
|
QWidget widget;
|
|
watcher.bind("displayMode", &widget);
|
|
watcher.setStatus("displayMode", &widget);
|
|
}
|
|
|
|
TEST_F(Test_GSettingWatcher, onStatusModeChanged)
|
|
{
|
|
GSettingWatcher watcher("com.deepin.dde.control-center", "personalization");
|
|
|
|
QWidget widget;
|
|
watcher.bind("displayMode", &widget);
|
|
watcher.onStatusModeChanged("displayMode");
|
|
watcher.onStatusModeChanged("invalid");
|
|
watcher.onStatusModeChanged("");
|
|
}
|