• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include <gtest/gtest.h>
17 
18 #include "screen_session_manager/include/screen_setting_helper.h"
19 #include "window_manager_hilog.h"
20 #include "scene_board_judgement.h"
21 
22 using namespace testing;
23 using namespace testing::ext;
24 
25 namespace OHOS {
26 namespace Rosen {
27 namespace {
28     constexpr uint32_t SLEEP_TIME_US = 100000;
29 }
30 
31 class ScreenSettingHelperTest : public testing::Test {
32 public:
33     static void SetUpTestCase();
34     static void TearDownTestCase();
35     void SetUp() override;
36     void TearDown() override;
37 };
38 
SetUpTestCase()39 void ScreenSettingHelperTest::SetUpTestCase()
40 {
41 }
42 
TearDownTestCase()43 void ScreenSettingHelperTest::TearDownTestCase()
44 {
45 }
46 
SetUp()47 void ScreenSettingHelperTest::SetUp()
48 {
49 }
50 
TearDown()51 void ScreenSettingHelperTest::TearDown()
52 {
53     usleep(SLEEP_TIME_US);
54 }
55 
56 namespace {
57     /**
58      * @tc.name: RegisterSettingDpiObserver
59      * @tc.desc: RegisterSettingDpiObserver
60      * @tc.type: FUNC
61      */
62     HWTEST_F(ScreenSettingHelperTest, RegisterSettingDpiObserver, Function | SmallTest | Level3)
63     {
__anon719a4df80302(const std::string&) 64         auto func = [] (const std::string&) {
65             TLOGI(WmsLogTag::DMS, "UT test");
66         };
67         ScreenSettingHelper::RegisterSettingDpiObserver(func);
68         ScreenSettingHelper::dpiObserver_ = nullptr;
69         ASSERT_EQ(ScreenSettingHelper::dpiObserver_, nullptr);
70     }
71 
72     /**
73      * @tc.name: UnregisterSettingDpiObserver01
74      * @tc.desc: UnregisterSettingDpiObserver01
75      * @tc.type: FUNC
76      */
77     HWTEST_F(ScreenSettingHelperTest, UnregisterSettingDpiObserver01, Function | SmallTest | Level3)
78     {
79         ScreenSettingHelper::dpiObserver_ = new SettingObserver;
80         ScreenSettingHelper::UnregisterSettingDpiObserver();
81         ASSERT_EQ(ScreenSettingHelper::dpiObserver_, nullptr);
82     }
83 
84     /**
85      * @tc.name: UnregisterSettingDpiObserver02
86      * @tc.desc: UnregisterSettingDpiObserver02
87      * @tc.type: FUNC
88      */
89     HWTEST_F(ScreenSettingHelperTest, UnregisterSettingDpiObserver02, Function | SmallTest | Level3)
90     {
91         ScreenSettingHelper::dpiObserver_ = nullptr;
92         ScreenSettingHelper::UnregisterSettingDpiObserver();
93         ASSERT_EQ(ScreenSettingHelper::dpiObserver_, nullptr);
94     }
95 
96     /**
97      * @tc.name: GetSettingDpi01
98      * @tc.desc: GetSettingDpi01
99      * @tc.type: FUNC
100      */
101     HWTEST_F(ScreenSettingHelperTest, GetSettingDpi01, Function | SmallTest | Level3)
102     {
103         uint32_t dpi = 0;
104         std::string key = "test";
105         bool ret = ScreenSettingHelper::GetSettingDpi(dpi, key);
106         ASSERT_FALSE(ret);
107     }
108 
109     /**
110      * @tc.name: RegisterSettingCastObserver01
111      * @tc.desc: RegisterSettingCastObserver
112      * @tc.type: FUNC
113      */
114     HWTEST_F(ScreenSettingHelperTest, RegisterSettingCastObserver01, Function | SmallTest | Level3)
115     {
__anon719a4df80402(const std::string&) 116         auto func = [] (const std::string&) {
117             TLOGI(WmsLogTag::DMS, "UT test");
118         };
119         ScreenSettingHelper::castObserver_ = new SettingObserver;
120         ScreenSettingHelper::RegisterSettingCastObserver(func);
121         ASSERT_NE(ScreenSettingHelper::castObserver_, nullptr);
122     }
123 
124     /**
125      * @tc.name: RegisterSettingCastObserver02
126      * @tc.desc: RegisterSettingCastObserver02
127      * @tc.type: FUNC
128      */
129     HWTEST_F(ScreenSettingHelperTest, RegisterSettingCastObserver02, Function | SmallTest | Level3)
130     {
__anon719a4df80502(const std::string&) 131         auto func = [] (const std::string&) {
132             TLOGI(WmsLogTag::DMS, "UT test");
133         };
134         ScreenSettingHelper::castObserver_ = nullptr;
135         ScreenSettingHelper::RegisterSettingCastObserver(func);
136         ASSERT_NE(ScreenSettingHelper::castObserver_, nullptr);
137     }
138 
139     /**
140      * @tc.name: UnregisterSettingCastObserver01
141      * @tc.desc: UnregisterSettingCastObserver01
142      * @tc.type: FUNC
143      */
144     HWTEST_F(ScreenSettingHelperTest, UnregisterSettingCastObserver01, Function | SmallTest | Level3)
145     {
146         ScreenSettingHelper::castObserver_ = nullptr;
147         ScreenSettingHelper::UnregisterSettingCastObserver();
148         ASSERT_EQ(ScreenSettingHelper::castObserver_, nullptr);
149     }
150 
151     /**
152      * @tc.name: UnregisterSettingCastObserver02
153      * @tc.desc: UnregisterSettingCastObserver02
154      * @tc.type: FUNC
155      */
156     HWTEST_F(ScreenSettingHelperTest, UnregisterSettingCastObserver02, Function | SmallTest | Level3)
157     {
158         ScreenSettingHelper::castObserver_ = new SettingObserver;
159         ScreenSettingHelper::UnregisterSettingCastObserver();
160         ASSERT_EQ(ScreenSettingHelper::castObserver_, nullptr);
161     }
162 
163     /**
164      * @tc.name: GetSettingCast01
165      * @tc.desc: GetSettingCast01
166      * @tc.type: FUNC
167      */
168     HWTEST_F(ScreenSettingHelperTest, GetSettingCast01, Function | SmallTest | Level3)
169     {
170         bool enable = true;
171         std::string key = "test";
172         bool ret = ScreenSettingHelper::GetSettingCast(enable, key);
173         ASSERT_FALSE(ret);
174     }
175 
176     /**
177      * @tc.name: GetSettingCast02
178      * @tc.desc: GetSettingCast02
179      * @tc.type: FUNC
180      */
181     HWTEST_F(ScreenSettingHelperTest, GetSettingCast02, Function | SmallTest | Level3)
182     {
183         if (!SceneBoardJudgement::IsSceneBoardEnabled()) {
184             GTEST_SKIP() << "SceneBoard is not enabled, skipping test.";
185         }
186         bool enable = true;
187         std::string key = "default_display_dpi";
188         bool ret = ScreenSettingHelper::GetSettingCast(enable, key);
189         ASSERT_TRUE(ret);
190     }
191 
192     /**
193      * @tc.name: UnregisterSettingRotationObserver01
194      * @tc.desc: UnregisterSettingRotationObserver01
195      * @tc.type: FUNC
196      */
197     HWTEST_F(ScreenSettingHelperTest, UnregisterSettingRotationObserver01, Function | SmallTest | Level3)
198     {
199         ScreenSettingHelper::rotationObserver_ = nullptr;
200         ASSERT_EQ(ScreenSettingHelper::rotationObserver_, nullptr);
201     }
202 
203     /**
204      * @tc.name: UnregisterSettingRotationObserver02
205      * @tc.desc: UnregisterSettingRotationObserver02
206      * @tc.type: FUNC
207      */
208     HWTEST_F(ScreenSettingHelperTest, UnregisterSettingRotationObserver02, Function | SmallTest | Level3)
209     {
210         ScreenSettingHelper::rotationObserver_ = new SettingObserver;
211         ASSERT_NE(ScreenSettingHelper::rotationObserver_, nullptr);
212     }
213 
214     /**
215      * @tc.name: SetSettingRotation
216      * @tc.desc: SetSettingRotation
217      * @tc.type: FUNC
218      */
219     HWTEST_F(ScreenSettingHelperTest, SetSettingRotation, Function | SmallTest | Level3)
220     {
221         int32_t rotation = 180;
222         ScreenSettingHelper::SetSettingRotation(rotation);
223         ASSERT_NE(ScreenSettingHelper::rotationObserver_, nullptr);
224     }
225 
226     /**
227      * @tc.name: GetSettingRotation01
228      * @tc.desc: GetSettingRotation01
229      * @tc.type: FUNC
230      */
231     HWTEST_F(ScreenSettingHelperTest, GetSettingRotation01, Function | SmallTest | Level3)
232     {
233         int32_t rotation = 0;
234         std::string key = "test";
235         auto result = ScreenSettingHelper::GetSettingRotation(rotation, key);
236         ASSERT_EQ(result, false);
237     }
238 
239     /**
240      * @tc.name: GetSettingRotation02
241      * @tc.desc: GetSettingRotation02
242      * @tc.type: FUNC
243      */
244     HWTEST_F(ScreenSettingHelperTest, GetSettingRotation02, Function | SmallTest | Level3)
245     {
246         if (!SceneBoardJudgement::IsSceneBoardEnabled()) {
247             GTEST_SKIP() << "SceneBoard is not enabled, skipping test.";
248         }
249         int32_t rotation = 0;
250         std::string key = "default_display_dpi";
251         auto result = ScreenSettingHelper::GetSettingRotation(rotation, key);
252         ASSERT_EQ(result, true);
253     }
254 
255     /**
256      * @tc.name: SetSettingRotationScreenId
257      * @tc.desc: SetSettingRotationScreenId
258      * @tc.type: FUNC
259      */
260     HWTEST_F(ScreenSettingHelperTest, SetSettingRotationScreenId, Function | SmallTest | Level3)
261     {
262         int32_t screenId = 0;
263         ScreenSettingHelper::SetSettingRotationScreenId(screenId);
264         ASSERT_NE(ScreenSettingHelper::rotationObserver_, nullptr);
265     }
266 
267     /**
268      * @tc.name: GetSettingRotationScreenID01
269      * @tc.desc: GetSettingRotationScreenID01
270      * @tc.type: FUNC
271      */
272     HWTEST_F(ScreenSettingHelperTest, GetSettingRotationScreenID01, Function | SmallTest | Level3)
273     {
274         int32_t screenId = 0;
275         std::string key = "test";
276         auto result = ScreenSettingHelper::GetSettingRotation(screenId, key);
277         ASSERT_EQ(result, false);
278     }
279 
280     /**
281      * @tc.name: GetSettingRotationScreenID02
282      * @tc.desc: GetSettingRotationScreenID02
283      * @tc.type: FUNC
284      */
285     HWTEST_F(ScreenSettingHelperTest, GetSettingRotationScreenID02, Function | SmallTest | Level3)
286     {
287         int32_t screenId = 0;
288         std::string key = "screen_rotation_screen_id_value";
289         auto result = ScreenSettingHelper::GetSettingRotation(screenId, key);
290         ASSERT_EQ(result, false);
291     }
292 
293     /**
294      * @tc.name: GetSettingValue
295      * @tc.desc: GetSettingValue
296      * @tc.type: FUNC
297      */
298     HWTEST_F(ScreenSettingHelperTest, GetSettingValue, Function | SmallTest | Level3)
299     {
300         ScreenSettingHelper screenSettingHelper = ScreenSettingHelper();
301         uint32_t value = 0;
302         std::string key = "test";
303         bool ret = screenSettingHelper.GetSettingValue(value, key);
304         ASSERT_FALSE(ret);
305     }
306 
307     /**
308      * @tc.name: RemoveInvalidChar01
309      * @tc.desc: RemoveInvalidChar Test01
310      * @tc.type: FUNC
311      */
312     HWTEST_F(ScreenSettingHelperTest, RemoveInvalidChar01, Function | SmallTest | Level3)
313     {
314         ScreenSettingHelper screenSettingHelper = ScreenSettingHelper();
315         std::string test_str = "test";
316         auto ret = screenSettingHelper.RemoveInvalidChar(test_str);
317         ASSERT_EQ(ret, "");
318     }
319 
320     /**
321      * @tc.name: RemoveInvalidChar02
322      * @tc.desc: RemoveInvalidChar Test02
323      * @tc.type: FUNC
324      */
325     HWTEST_F(ScreenSettingHelperTest, RemoveInvalidChar02, Function | SmallTest | Level3)
326     {
327         ScreenSettingHelper screenSettingHelper = ScreenSettingHelper();
328         std::string test_str = "test 2.0 ,";
329         auto ret = screenSettingHelper.RemoveInvalidChar(test_str);
330         ASSERT_EQ(ret, " 2.0 ,");
331     }
332 
333     /**
334      * @tc.name: SplitString
335      * @tc.desc: SplitString Test01
336      * @tc.type: FUNC
337      */
338     HWTEST_F(ScreenSettingHelperTest, SplitString01, Function | SmallTest | Level3)
339     {
340         ScreenSettingHelper screenSettingHelper = ScreenSettingHelper();
341         std::vector<std::string> splitValues = {"split", "test"};
342         std::string input = "";
343         char delimiter = ',';
344         auto ret = screenSettingHelper.SplitString(splitValues, input, delimiter);
345         ASSERT_FALSE(ret);
346     }
347 
348     /**
349      * @tc.name: SplitString
350      * @tc.desc: SplitString Test02
351      * @tc.type: FUNC
352      */
353     HWTEST_F(ScreenSettingHelperTest, SplitString02, Function | SmallTest | Level3)
354     {
355         ScreenSettingHelper screenSettingHelper = ScreenSettingHelper();
356         std::vector<std::string> splitValues = {};
357         std::string input = "test, str";
358         char delimiter = ',';
359         auto ret = screenSettingHelper.SplitString(splitValues, input, delimiter);
360         ASSERT_TRUE(ret);
361     }
362 
363     /**
364      * @tc.name: IsNumber01
365      * @tc.desc: IsNumber01 Test
366      * @tc.type: FUNC
367      */
368     HWTEST_F(ScreenSettingHelperTest, IsNumber01, Function | SmallTest | Level3)
369     {
370         ScreenSettingHelper screenSettingHelper = ScreenSettingHelper();
371         std::string test_str = "12.34";
372         auto ret = screenSettingHelper.IsNumber(test_str);
373         ASSERT_TRUE(ret);
374     }
375 
376     /**
377      * @tc.name: IsNumber02
378      * @tc.desc: IsNumber02 Test
379      * @tc.type: FUNC
380      */
381     HWTEST_F(ScreenSettingHelperTest, IsNumber02, Function | SmallTest | Level3)
382     {
383         ScreenSettingHelper screenSettingHelper = ScreenSettingHelper();
384         std::string test_str = "test";
385         auto ret = screenSettingHelper.IsNumber(test_str);
386         ASSERT_FALSE(ret);
387     }
388 
389     /**
390      * @tc.name: RegisterSettingWireCastObserver01
391      * @tc.desc: RegisterSettingWireCastObserver01
392      * @tc.type: FUNC
393      */
394     HWTEST_F(ScreenSettingHelperTest, RegisterSettingWireCastObserver01, Function | SmallTest | Level3)
395     {
__anon719a4df80602(const std::string&) 396         auto func = [] (const std::string&) {
397             TLOGI(WmsLogTag::DMS, "UT test");
398         };
399         ScreenSettingHelper::wireCastObserver_ = new SettingObserver;
400         ScreenSettingHelper::RegisterSettingWireCastObserver(func);
401         ASSERT_NE(ScreenSettingHelper::wireCastObserver_, nullptr);
402     }
403 
404     /**
405      * @tc.name: UnregisterSettingWireCastObserver01
406      * @tc.desc: UnregisterSettingWireCastObserver01
407      * @tc.type: FUNC
408      */
409     HWTEST_F(ScreenSettingHelperTest, UnregisterSettingWireCastObserver01, Function | SmallTest | Level3)
410     {
411         ScreenSettingHelper::wireCastObserver_ = nullptr;
412         ScreenSettingHelper::UnregisterSettingWireCastObserver();
413         ASSERT_EQ(ScreenSettingHelper::wireCastObserver_, nullptr);
414     }
415 
416     /**
417      * @tc.name: UnregisterSettingWireCastObserver02
418      * @tc.desc: UnregisterSettingWireCastObserver02
419      * @tc.type: FUNC
420      */
421     HWTEST_F(ScreenSettingHelperTest, UnregisterSettingWireCastObserver02, Function | SmallTest | Level3)
422     {
423         ScreenSettingHelper::wireCastObserver_ = new SettingObserver;
424         ScreenSettingHelper::UnregisterSettingWireCastObserver();
425         ASSERT_EQ(ScreenSettingHelper::wireCastObserver_, nullptr);
426     }
427 }
428 } // namespace Rosen
429 } // namespace OHOS