2 * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
19 #include <gtest/gtest.h>
22 #include "system_settings.h"
23 #include "mocks/sstt_mock.h"
27 #include "sst_vconf.h"
28 #include "sst_interface.h"
29 #include "sst_screen.h"
32 static const char *sstBgPath = SYS_SETTINGS_TEST_DIR"/bg_test.png";
34 TEST(SstScreenTest, getHomeWallPaper)
38 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &iface);
39 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
41 sstm_vconf_get_str_setup(VCONFKEY_BGSET, "test.png", 0);
42 ret = sst_vconf_get_str(iface, &val);
43 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
47 TEST(SstScreenTest, setHomeWallPaper)
51 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &iface);
52 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
54 sstm_evas_object_image_load_error_setup(0);
55 sstm_vconf_set_str_setup(VCONFKEY_BGSET, 0);
56 ret = sst_screen_set_home_wallpaper(iface, sstBgPath);
57 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
58 ret = sst_vconf_get_str(iface, &getVal);
59 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
60 EXPECT_STREQ(sstBgPath, getVal);
64 TEST(SstScreenTest, setHomeWallPaperERR)
67 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &iface);
68 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
70 sstm_evas_object_image_load_error_setup(0);
71 sstm_vconf_set_str_setup(VCONFKEY_BGSET, -1);
72 ret = sst_screen_set_home_wallpaper(iface, sstBgPath);
73 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
75 sstm_evas_object_image_load_error_setup(-1);
76 ret = sst_screen_set_home_wallpaper(iface, "test.png");
77 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
81 TEST(SstScreenTest, setLockWallPaper)
85 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_WALLPAPER_LOCK_SCREEN, &iface);
86 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
88 sstm_evas_object_image_load_error_setup(0);
89 sstm_vconf_set_str_setup(VCONFKEY_IDLE_LOCK_BGSET, 0);
90 ret = sst_screen_set_lock_wallpaper(iface, sstBgPath);
91 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
92 ret = sst_vconf_get_str(iface, &getVal);
93 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
94 EXPECT_STREQ(sstBgPath, getVal);
98 TEST(SstScreenTest, setLockWallPaperERR)
100 sst_interface *iface;
101 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_WALLPAPER_LOCK_SCREEN, &iface);
102 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
104 sstm_evas_object_image_load_error_setup(0);
105 sstm_vconf_set_str_setup(VCONFKEY_IDLE_LOCK_BGSET, -1);
106 ret = sst_screen_set_lock_wallpaper(iface, sstBgPath);
107 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
109 sstm_evas_object_image_load_error_setup(-1);
110 ret = sst_screen_set_lock_wallpaper(iface, "test.png");
111 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
114 TEST(SstScreenTest, getLockScreen)
117 sst_interface *iface;
118 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCKSCREEN_APP, &iface);
119 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
121 sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_NONE, 0);
122 sstm_vconf_get_str_setup(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR, "com.samsung.lockscreen", 0);
123 ret = sst_screen_get_lockscreen(iface, &val);
124 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
128 TEST(SstScreenTest, getLockScreenERR)
131 sst_interface *iface;
132 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCKSCREEN_APP, &iface);
133 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
135 sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_PASSWORD, 0);
136 sstm_vconf_get_str_setup(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR, "com.samsung.lockscreen", 0);
137 ret = sst_screen_get_lockscreen(iface, &val);
138 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_LOCKSCREEN_APP_PASSWORD_MODE, ret);
140 sstm_vconf_get_str_setup(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR, "com.samsung.lockscreen", -1);
141 ret = sst_screen_get_lockscreen(iface, &val);
142 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
144 sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_PASSWORD, -1);
145 ret = sst_screen_get_lockscreen(iface, &val);
146 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
149 TEST(SstScreenTest, setLockScreen)
152 const char *setVal = "org.tizen.voice-control-panel";
154 sst_interface *iface;
155 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCKSCREEN_APP, &iface);
156 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
158 sstm_pkgmgrinfo_appinfo_get_appinfo_setup(0);
159 sstm_pkgmgrinfo_appinfo_foreach_category_setup(0, true);
160 sstm_pkgmgrinfo_appinfo_destroy_appinfo_setup(0);
161 sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_NONE, 0);
162 sstm_vconf_set_str_setup(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR, 0);
163 sstm_vconf_set_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, 0);
165 ret = sst_screen_set_lockscreen(iface, "com.samsung.lockscreen");
166 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
168 ret = sst_screen_set_lockscreen(iface, setVal);
169 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
170 ret = sst_screen_get_lockscreen(iface, &getVal);
171 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
172 EXPECT_STREQ(setVal, getVal);
174 ret = vconf_set_int(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_PASSWORD);
175 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
176 ret = sst_screen_set_lockscreen(iface, setVal);
177 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_LOCKSCREEN_APP_PASSWORD_MODE, ret);
182 TEST(SstScreenTest, setLockScreenERR)
184 const char *setVal = "com.samsung.lockscreen";
186 sst_interface *iface;
187 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCKSCREEN_APP, &iface);
188 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
190 sstm_pkgmgrinfo_appinfo_get_appinfo_setup(0);
191 sstm_pkgmgrinfo_appinfo_foreach_category_setup(0, true);
192 sstm_pkgmgrinfo_appinfo_destroy_appinfo_setup(0);
193 sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_NONE, 0);
194 sstm_vconf_get_str_setup(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR, "com.samsung.lockscreen", 0);
195 sstm_vconf_set_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, -1);
196 ret = sst_screen_set_lockscreen(iface, setVal);
197 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
199 sstm_vconf_set_str_setup(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR, -1);
200 ret = sst_screen_set_lockscreen(iface, setVal);
201 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
203 sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_PASSWORD, 0);
204 ret = sst_screen_set_lockscreen(iface, setVal);
205 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_LOCKSCREEN_APP_PASSWORD_MODE, ret);
207 sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_NONE, -1);
208 ret = sst_screen_set_lockscreen(iface, setVal);
209 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
211 sstm_pkgmgrinfo_appinfo_foreach_category_setup(0, false);
212 ret = sst_screen_set_lockscreen(iface, setVal);
213 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
215 sstm_pkgmgrinfo_appinfo_foreach_category_setup(-1, false);
216 ret = sst_screen_set_lockscreen(iface, setVal);
217 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
219 sstm_pkgmgrinfo_appinfo_get_appinfo_setup(-1);
220 ret = sst_screen_set_lockscreen(iface, setVal);
221 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
224 TEST(SstScreenTest, setBackLightTime)
227 sst_interface *iface;
228 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_SCREEN_BACKLIGHT_TIME, &iface);
229 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
231 sstm_vconf_set_int_setup(VCONFKEY_SETAPPL_LCD_TIMEOUT_NORMAL, 0);
233 ret = sst_screen_set_backlight_time(iface, -5);
234 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
236 ret = sst_screen_set_backlight_time(iface, 601);
237 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
239 ret = sst_screen_set_backlight_time(iface, 300);
240 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
242 ret = sst_vconf_get_int(iface, &getVal);
243 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
244 EXPECT_EQ(getVal, 300);
247 TEST(SstScreenTest, setBackLightTimeERR)
249 sst_interface *iface;
250 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_SCREEN_BACKLIGHT_TIME, &iface);
251 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
253 sstm_vconf_set_int_setup(VCONFKEY_SETAPPL_LCD_TIMEOUT_NORMAL, -1);
254 ret = sst_screen_set_backlight_time(iface, 300);
255 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);