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_interface.h"
28 #include "sst_time_N_locale.h"
31 TEST(SstTimeNLocaleTest, getCountry)
35 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, &iface);
36 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
38 sstm_vconf_get_str_setup(VCONFKEY_REGIONFORMAT, "ko", 0);
39 ret = sst_locale_get_country(iface, &val);
40 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
44 TEST(SstTimeNLocaleTest, getCountryERR)
48 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, &iface);
49 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
51 sstm_vconf_get_str_setup(VCONFKEY_REGIONFORMAT, "012345678901234567890", 0);
52 ret = sst_locale_get_country(iface, &val);
53 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
57 sstm_vconf_get_str_setup(VCONFKEY_REGIONFORMAT, "ko", -1);
58 ret = sst_locale_get_country(iface, &val);
59 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
63 TEST(SstTimeNLocaleTest, setCountry)
66 const char *setVal = "ko_KR";
69 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, &iface);
70 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
72 sstm_vconf_set_str_setup(VCONFKEY_REGIONFORMAT, 0);
74 ret = sst_locale_set_country(iface, setVal);
75 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
77 ret = sst_locale_get_country(iface, &getVal);
78 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
79 EXPECT_STREQ(setVal, getVal);
84 TEST(SstTimeNLocaleTest, setCountryERR)
86 const char *setVal = "ko_KR";
88 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, &iface);
89 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
91 sstm_vconf_set_str_setup(VCONFKEY_REGIONFORMAT, -1);
92 ret = sst_locale_set_country(iface, setVal);
93 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
96 TEST(SstTimeNLocaleTest, getLanguage)
100 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &iface);
101 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
103 sstm_vconf_get_str_setup(VCONFKEY_LANGSET, "ko", 0);
105 ret = sst_locale_get_language(iface, &val);
106 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
110 TEST(SstTimeNLocaleTest, getLanguageERR)
113 sst_interface *iface;
114 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &iface);
115 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
117 sstm_vconf_get_str_setup(VCONFKEY_LANGSET, "012345678901234567890", 0);
118 ret = sst_locale_get_language(iface, &val);
119 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
121 sstm_vconf_get_str_setup(VCONFKEY_LANGSET, "ko", -1);
122 ret = sst_locale_get_language(iface, &val);
123 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
126 TEST(SstTimeNLocaleTest, setLanguage)
129 const char *setVal = "ko_KR";
131 sst_interface *iface;
132 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &iface);
133 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
135 sstm_vconf_set_str_setup(VCONFKEY_LANGSET, 0);
137 ret = sst_locale_set_language(iface, setVal);
138 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
140 ret = sst_locale_get_language(iface, &getVal);
141 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
142 EXPECT_STREQ(setVal, getVal);
147 TEST(SstTimeNLocaleTest, setLanguageERR)
149 const char *setVal = "ko_KR";
151 sst_interface *iface;
152 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &iface);
153 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
155 sstm_vconf_set_str_setup(VCONFKEY_LANGSET, -1);
156 ret = sst_locale_set_language(iface, setVal);
157 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
160 TEST(SstTimeNLocaleTest, getTimeformat24Hour)
163 sst_interface *iface;
164 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR, &iface);
165 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
167 sstm_vconf_get_int_setup(VCONFKEY_REGIONFORMAT_TIME1224, false, 0);
168 ret = sst_locale_get_timeformat_24hour(iface, &val);
169 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
172 TEST(SstTimeNLocaleTest, getTimeformat24HourERR)
175 sst_interface *iface;
176 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR, &iface);
177 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
179 sstm_vconf_get_int_setup(VCONFKEY_REGIONFORMAT_TIME1224, false, -1);
180 ret = sst_locale_get_timeformat_24hour(iface, &val);
181 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
184 TEST(SstTimeNLocaleTest, setTimeformat24Hour)
188 sst_interface *iface;
189 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR, &iface);
190 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
192 sstm_vconf_set_int_setup(VCONFKEY_REGIONFORMAT_TIME1224, 0);
193 ret = sst_locale_get_timeformat_24hour(iface, &getVal);
194 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
197 ret = sst_locale_set_timeformat_24hour(iface, setVal);
198 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
200 ret = sst_locale_get_timeformat_24hour(iface, &getVal);
201 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
202 EXPECT_EQ(getVal, setVal);
204 ret = sst_locale_set_timeformat_24hour(iface, !getVal);
205 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
208 TEST(SstTimeNLocaleTest, setTimeformat24HourERR)
210 sst_interface *iface;
211 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR, &iface);
212 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
214 sstm_vconf_set_int_setup(VCONFKEY_REGIONFORMAT_TIME1224, -1);
215 ret = sst_locale_set_timeformat_24hour(iface, true);
216 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
219 TEST(SstTimeNLocaleTest, getTimeZone)
222 sst_interface *iface;
223 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCALE_TIMEZONE, &iface);
224 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
226 sstm_readlink_setup(true);
227 ret = sst_locale_get_timezone(iface, &val);
228 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
232 TEST(SstTimeNLocaleTest, getTimeZoneERR)
235 sst_interface *iface;
236 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCALE_TIMEZONE, &iface);
237 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
239 sstm_readlink_setup(false);
240 ret = sst_locale_get_timezone(iface, &val);
241 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
242 sstm_readlink_setup(true);
245 TEST(SstTimeNLocaleTest, setTimeZone)
248 const char *setVal = "Asia/Seoul";
250 sst_interface *iface;
251 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCALE_TIMEZONE, &iface);
252 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
254 sstm_access_setup(true);
255 sstm_alarmmgr_set_timezone_setup(true);
256 sstm_vconf_set_str_setup(VCONFKEY_SETAPPL_TIMEZONE_ID, 0);
258 ret = sst_locale_set_timezone(iface, setVal);
259 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
261 ret = sst_locale_get_timezone(iface, &getVal);
262 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
263 EXPECT_STREQ(setVal, getVal);
268 TEST(SstTimeNLocaleTest, setTimeZoneERR)
270 const char *setVal = "Asia/Seoul";
272 sst_interface *iface;
273 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCALE_TIMEZONE, &iface);
274 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
276 sstm_access_setup(true);
277 sstm_alarmmgr_set_timezone_setup(true);
278 sstm_vconf_set_str_setup(VCONFKEY_SETAPPL_TIMEZONE_ID, -1);
279 ret = sst_locale_set_timezone(iface, setVal);
280 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
282 sstm_alarmmgr_set_timezone_setup(false);
283 ret = sst_locale_set_timezone(iface, setVal);
284 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
286 sstm_access_setup(false);
287 ret = sst_locale_set_timezone(iface, setVal);
288 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
289 sstm_access_setup(true);
292 TEST(SstTimeNLocaleTest, getTimeChanged)
295 sst_interface *iface;
296 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_TIME_CHANGED, &iface);
297 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
299 ret = sst_time_get_changed(iface, &val);
300 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);