1 /*
2  * Copyright (C) 2022 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 <vector>
17 #include <gtest/gtest.h>
18 #include "accessibility_config.h"
19 #include "parameter.h"
20 #include "system_ability_definition.h"
21 
22 using namespace testing;
23 using namespace testing::ext;
24 
25 namespace OHOS {
26 namespace AccessibilityConfig {
27 namespace {
28     constexpr float BRIGHTNESS_DISCOUNT_VALUE = 0.2f;
29 } // namespace
30 
31 class AccessibilityConfigImplTest : public ::testing::Test {
32 public:
AccessibilityConfigImplTest()33     AccessibilityConfigImplTest()
34     {}
~AccessibilityConfigImplTest()35     ~AccessibilityConfigImplTest()
36     {}
37 
SetUpTestCase()38     static void SetUpTestCase()
39     {
40         GTEST_LOG_(INFO) << "AccessibilityConfigImplTest Start";
41     }
TearDownTestCase()42     static void TearDownTestCase()
43     {
44         GTEST_LOG_(INFO) << "AccessibilityConfigImplTest End";
45     }
SetUp()46     void SetUp()
47     {
48         GTEST_LOG_(INFO) << "AccessibilityConfigImplTest SetUp()";
49     };
TearDown()50     void TearDown()
51     {
52         GTEST_LOG_(INFO) << "AccessibilityConfigImplTest TearDown()";
53     }
54 };
55 
56 class MockAccessibilityConfigObserverImpl : public OHOS::AccessibilityConfig::AccessibilityConfigObserver {
57 public:
58     MockAccessibilityConfigObserverImpl() = default;
OnConfigChanged(const OHOS::AccessibilityConfig::CONFIG_ID id,const OHOS::AccessibilityConfig::ConfigValue & value)59     void OnConfigChanged(const OHOS::AccessibilityConfig::CONFIG_ID id,
60         const OHOS::AccessibilityConfig::ConfigValue& value) override
61     {}
62 };
63 
64 class MockAccessibilityEnableAbilityListsObserverImpl :
65         public OHOS::AccessibilityConfig::AccessibilityEnableAbilityListsObserver {
66 public:
67     MockAccessibilityEnableAbilityListsObserverImpl() = default;
OnEnableAbilityListsStateChanged()68     void OnEnableAbilityListsStateChanged() override
69     {}
OnInstallAbilityListsStateChanged()70     void OnInstallAbilityListsStateChanged() override
71     {}
72 };
73 
74 /**
75  * @tc.number: SetCaptionProperty_002
76  * @tc.name: SetCaptionProperty_002
77  * @tc.desc: Test function SetCaptionsProperty GetCaptionsProperty
78  */
79 HWTEST_F(AccessibilityConfigImplTest, SetCaptionProperty_002, TestSize.Level1)
80 {
81     GTEST_LOG_(INFO) << "SetCaptionProperty_002 start";
82 
83     CaptionProperty caption;
84     CaptionProperty value;
85     caption.SetFontFamily("sansSerif");
86 
87     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
88     instance.SetCaptionsProperty(caption);
89     instance.GetCaptionsProperty(value);
90     EXPECT_STREQ(value.GetFontFamily().c_str(), "default");
91     GTEST_LOG_(INFO) << "SetCaptionProperty_002 end";
92 }
93 
94 /**
95  * @tc.number: SetScreenMagnificationState_002
96  * @tc.name: SetScreenMagnificationState_002
97  * @tc.desc: Test function SetScreenMagnificationState GetScreenMagnificationState
98  */
99 HWTEST_F(AccessibilityConfigImplTest, SetScreenMagnificationState_002, TestSize.Level1)
100 {
101     GTEST_LOG_(INFO) << "SetScreenMagnificationState_002 start";
102 
103     bool state = true;
104     bool value = false;
105     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
106     instance.SetScreenMagnificationState(state);
107     instance.GetScreenMagnificationState(value);
108     EXPECT_FALSE(value);
109     GTEST_LOG_(INFO) << "SetScreenMagnificationState_002 end";
110 }
111 
112 /**
113  * @tc.number: SetShortKeyState_002
114  * @tc.name: SetShortKeyState_002
115  * @tc.desc: Test function SetShortKeyState GetShortKeyState
116  * @tc.require: issueI5NTXH
117  */
118 HWTEST_F(AccessibilityConfigImplTest, SetShortKeyState_002, TestSize.Level1)
119 {
120     GTEST_LOG_(INFO) << "SetShortKeyState_002 start";
121 
122     bool state = true;
123     bool value = false;
124     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
125     instance.SetShortKeyState(state);
126     instance.GetShortKeyState(value);
127     EXPECT_FALSE(value);
128     GTEST_LOG_(INFO) << "SetShortKeyState_002 end";
129 }
130 
131 /**
132  * @tc.number: SetMouseKeyState_002
133  * @tc.name: SetMouseKeyState_002
134  * @tc.desc: Test function SetMouseKeyState GetMouseKeyState
135  * @tc.require: issueI5NTXA
136  */
137 HWTEST_F(AccessibilityConfigImplTest, SetMouseKeyState_002, TestSize.Level1)
138 {
139     GTEST_LOG_(INFO) << "SetMouseKeyState_002 start";
140     bool state = true;
141     bool value = false;
142     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
143     instance.SetMouseKeyState(state);
144     instance.GetMouseKeyState(value);
145     EXPECT_FALSE(value);
146     GTEST_LOG_(INFO) << "SetMouseKeyState_002 end";
147 }
148 
149 /**
150  * @tc.number: SetCaptionsState_002
151  * @tc.name: SetCaptionsState_002
152  * @tc.desc: Test function SetCaptionsState GetCaptionsState
153  */
154 HWTEST_F(AccessibilityConfigImplTest, SetCaptionsState_002, TestSize.Level1)
155 {
156     GTEST_LOG_(INFO) << "SetCaptionsState_002 start";
157 
158     bool state = true;
159     bool value = false;
160     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
161     instance.SetCaptionsState(state);
162     instance.GetCaptionsState(value);
163     EXPECT_FALSE(value);
164     GTEST_LOG_(INFO) << "SetCaptionsState_002 end";
165 }
166 
167 /**
168  * @tc.number: SetMouseAutoClick_002
169  * @tc.name: SetMouseAutoClick_002
170  * @tc.desc: Test function SetMouseAutoClick GetMouseAutoClick
171  * @tc.require: issueI5NTXC
172  */
173 HWTEST_F(AccessibilityConfigImplTest, SetMouseAutoClick_002, TestSize.Level1)
174 {
175     GTEST_LOG_(INFO) << "SetMouseAutoClick_002 start";
176 
177     int32_t time = 10;
178     int32_t value = 0;
179     std::vector<int> info;
180     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
181     instance.SetMouseAutoClick(time);
182     instance.GetMouseAutoClick(value);
183     EXPECT_EQ(info.size(), 0);
184     GTEST_LOG_(INFO) << "SetMouseAutoClick_002 end";
185 }
186 
187 /**
188  * @tc.number: SetShortkeyTarget_002
189  * @tc.name: SetShortkeyTarget_002
190  * @tc.desc: Test function SetShortkeyTarget GetShortkeyTarget
191  * @tc.require: issueI5NTXH
192  */
193 HWTEST_F(AccessibilityConfigImplTest, SetShortkeyTarget_002, TestSize.Level1)
194 {
195     GTEST_LOG_(INFO) << "SetShortkeyTarget_002 start";
196 
197     std::string name = "test";
198     std::string value = "";
199     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
200     instance.SetShortkeyTarget(name);
201     instance.GetShortkeyTarget(value);
202     EXPECT_STREQ(value.c_str(), "");
203     GTEST_LOG_(INFO) << "SetShortkeyTarget_002 end";
204 }
205 
206 /**
207  * @tc.number: SetShortkeyMultiTarget_001
208  * @tc.name: SetShortkeyMultiTarget_001
209  * @tc.desc: Test function SetShortkeyMultiTarget GetShortkeyMultiTarget
210  * @tc.require: issueI5NTXH
211  */
212 HWTEST_F(AccessibilityConfigImplTest, GetShortkeyMultiTarget_001, TestSize.Level1)
213 {
214     GTEST_LOG_(INFO) << "SetShortkeyMultiTarget_001 start";
215 
216     std::vector<std::string> name = {"test"};
217     std::vector<std::string> value = {"test"};
218     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
219     instance.SetShortkeyMultiTarget(name);
220     instance.GetShortkeyMultiTarget(value);
221     EXPECT_EQ(value.size(), 1);
222     GTEST_LOG_(INFO) << "SetShortkeyMultiTarget_001 end";
223 }
224 
225 /**
226  * @tc.number: SetShortkeyMultiTarget_002
227  * @tc.name: SetShortkeyMultiTarget_002
228  * @tc.desc: Test function SetShortkeyMultiTarget GetShortkeyMultiTarget
229  * @tc.require: issueI5NTXH
230  */
231 HWTEST_F(AccessibilityConfigImplTest, SetShortkeyMultiTarget_002, TestSize.Level1)
232 {
233     GTEST_LOG_(INFO) << "SetShortkeyMultiTarget_002 start";
234 
235     std::vector<std::string> name = {"test"};
236     std::vector<std::string> value = {};
237     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
238     instance.SetShortkeyMultiTarget(name);
239     instance.GetShortkeyMultiTarget(value);
240     EXPECT_EQ(value.size(), 0);
241     GTEST_LOG_(INFO) << "SetShortkeyMultiTarget_002 end";
242 }
243 
244 /**
245  * @tc.number: SetDaltonizationState_002
246  * @tc.name: SetDaltonizationState_002
247  * @tc.desc: Test function SetDaltonizationState GetDaltonizationState
248  * @tc.require: issueI5NTX9
249  */
250 HWTEST_F(AccessibilityConfigImplTest, SetDaltonizationState_002, TestSize.Level1)
251 {
252     GTEST_LOG_(INFO) << "SetDaltonizationState_002 start";
253 
254     bool state = true;
255     bool value = false;
256     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
257     instance.SetDaltonizationState(state);
258     instance.GetDaltonizationState(value);
259     EXPECT_FALSE(value);
260     GTEST_LOG_(INFO) << "SetDaltonizationState_002 end";
261 }
262 
263 /**
264  * @tc.number: SetHighContrastTextState_002
265  * @tc.name: SetHighContrastTextState_002
266  * @tc.desc: Test function SetHighContrastTextState GetHighContrastTextState
267  * @tc.require: issueI5NTX9
268  */
269 HWTEST_F(AccessibilityConfigImplTest, SetHighContrastTextState_002, TestSize.Level1)
270 {
271     GTEST_LOG_(INFO) << "SetHighContrastTextState_002 start";
272 
273     bool state = true;
274     bool value = false;
275     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
276     instance.SetHighContrastTextState(state);
277     instance.GetHighContrastTextState(value);
278     EXPECT_FALSE(value);
279     GTEST_LOG_(INFO) << "SetHighContrastTextState_002 end";
280 }
281 
282 /**
283  * @tc.number: SetInvertColorState_002
284  * @tc.name: SetInvertColorState_002
285  * @tc.desc: Test function SetInvertColorState GetInvertColorState
286  * @tc.require: issueI5NTX7
287  */
288 HWTEST_F(AccessibilityConfigImplTest, SetInvertColorState_002, TestSize.Level1)
289 {
290     GTEST_LOG_(INFO) << "SetInvertColorState_002 start";
291 
292     bool state = true;
293     bool value = false;
294     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
295     instance.SetInvertColorState(state);
296     instance.GetInvertColorState(value);
297     EXPECT_FALSE(value);
298     GTEST_LOG_(INFO) << "SetInvertColorState_002 end";
299 }
300 
301 /**
302  * @tc.number: SetDaltonizationColorFilter_002
303  * @tc.name: SetDaltonizationColorFilter_002
304  * @tc.desc: Test function SetDaltonizationColorFilter GetDaltonizationColorFilter
305  * @tc.require: issueI5NTX8
306  */
307 HWTEST_F(AccessibilityConfigImplTest, SetDaltonizationColorFilter_002, TestSize.Level1)
308 {
309     GTEST_LOG_(INFO) << "SetDaltonizationColorFilter_002 start";
310 
311     DALTONIZATION_TYPE type = Protanomaly;
312     DALTONIZATION_TYPE value = Normal;
313     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
314     instance.SetDaltonizationColorFilter(type);
315     instance.GetDaltonizationColorFilter(value);
316     EXPECT_EQ(0, static_cast<uint32_t>(value));
317     GTEST_LOG_(INFO) << "SetDaltonizationColorFilter_002 end";
318 }
319 
320 /**
321  * @tc.number: SetContentTimeout_002
322  * @tc.name: SetContentTimeout_002
323  * @tc.desc: Test function SetContentTimeout GetContentTimeout
324  * @tc.require: issueI5NTXF
325  */
326 HWTEST_F(AccessibilityConfigImplTest, SetContentTimeout_002, TestSize.Level1)
327 {
328     GTEST_LOG_(INFO) << "SetContentTimeout_002 start";
329 
330     uint32_t timer = 10;
331     uint32_t value = 0;
332     std::vector<int> info;
333     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
334     instance.SetContentTimeout(timer);
335     instance.GetContentTimeout(value);
336     EXPECT_EQ(info.size(), 0);
337     GTEST_LOG_(INFO) << "SetContentTimeout_002 end";
338 }
339 
340 /**
341  * @tc.number: SetAnimationOffState_002
342  * @tc.name: SetAnimationOffState_002
343  * @tc.desc: Test function SetAnimationOffState GetAnimationOffState
344  * @tc.require: issueI5NTXG
345  */
346 HWTEST_F(AccessibilityConfigImplTest, SetAnimationOffState_002, TestSize.Level1)
347 {
348     GTEST_LOG_(INFO) << "SetAnimationOffState_002 start";
349 
350     bool state = true;
351     bool value = false;
352     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
353     instance.SetAnimationOffState(state);
354     instance.GetAnimationOffState(value);
355     EXPECT_FALSE(value);
356     GTEST_LOG_(INFO) << "SetAnimationOffState_002 end";
357 }
358 
359 /**
360  * @tc.number: SetBrightnessDiscount_002
361  * @tc.name: SetBrightnessDiscount_002
362  * @tc.desc: Test function SetBrightnessDiscount GetBrightnessDiscount
363  * @tc.require: issueI5NTXE
364  */
365 HWTEST_F(AccessibilityConfigImplTest, SetBrightnessDiscount_002, TestSize.Level1)
366 {
367     GTEST_LOG_(INFO) << "SetBrightnessDiscount_002 start";
368 
369     float brightness = BRIGHTNESS_DISCOUNT_VALUE;
370     float value = 0;
371     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
372     instance.SetBrightnessDiscount(brightness);
373     instance.GetBrightnessDiscount(value);
374     EXPECT_FLOAT_EQ(0, value);
375     GTEST_LOG_(INFO) << "SetBrightnessDiscount_002 end";
376 }
377 
378 /**
379  * @tc.number: SetAudioMonoState_002
380  * @tc.name: SetAudioMonoState_002
381  * @tc.desc: Test function SetAudioMonoState GetAudioMonoState
382  */
383 HWTEST_F(AccessibilityConfigImplTest, SetAudioMonoState_002, TestSize.Level1)
384 {
385     GTEST_LOG_(INFO) << "SetAudioMonoState_002 start";
386 
387     bool state = true;
388     bool value = false;
389     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
390     instance.SetAudioMonoState(state);
391     instance.GetAudioMonoState(value);
392     EXPECT_FALSE(value);
393     GTEST_LOG_(INFO) << "SetAudioMonoState_002 end";
394 }
395 
396 /**
397  * @tc.number: SetAudioBalance_002
398  * @tc.name: SetAudioBalance_002
399  * @tc.desc: Test function SetAudioBalance GetAudioBalance
400  */
401 HWTEST_F(AccessibilityConfigImplTest, SetAudioBalance_002, TestSize.Level1)
402 {
403     GTEST_LOG_(INFO) << "SetAudioBalance_002 start";
404     float balance = -1.0;
405     float value = 0;
406     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
407     instance.SetAudioBalance(balance);
408     instance.GetAudioBalance(value);
409     EXPECT_FLOAT_EQ(0, value);
410     GTEST_LOG_(INFO) << "SetAudioBalance_002 end";
411 }
412 
413 /**
414  * @tc.number: SetClickResponseTime_002
415  * @tc.name: SetClickResponseTime_002
416  * @tc.desc: Test function SetClickResponseTime GetClickResponseTime
417  */
418 HWTEST_F(AccessibilityConfigImplTest, SetClickResponseTime_002, TestSize.Level1)
419 {
420     GTEST_LOG_(INFO) << "SetClickResponseTime_002 start";
421     CLICK_RESPONSE_TIME time = ResponseDelayMedium;
422     CLICK_RESPONSE_TIME value = ResponseDelayShort;
423     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
424     instance.SetClickResponseTime(time);
425     instance.GetClickResponseTime(value);
426     EXPECT_EQ(0, static_cast<uint32_t>(value));
427     GTEST_LOG_(INFO) << "SetClickResponseTime_002 end";
428 }
429 
430 /**
431  * @tc.number: SetIgnoreRepeatClickState_002
432  * @tc.name: SetIgnoreRepeatClickState_002
433  * @tc.desc: Test function SetIgnoreRepeatClickState GetIgnoreRepeatClickState
434  */
435 HWTEST_F(AccessibilityConfigImplTest, SetIgnoreRepeatClickState_002, TestSize.Level1)
436 {
437     GTEST_LOG_(INFO) << "SetIgnoreRepeatClickState_002 start";
438     bool state = true;
439     bool value = false;
440     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
441     instance.SetIgnoreRepeatClickState(state);
442     instance.GetIgnoreRepeatClickState(value);
443     EXPECT_EQ(false, value);
444     GTEST_LOG_(INFO) << "SetIgnoreRepeatClickState_002 end";
445 }
446 
447 /**
448  * @tc.number: SetIgnoreRepeatClickTime_002
449  * @tc.name: SetIgnoreRepeatClickTime_002
450  * @tc.desc: Test function SetIgnoreRepeatClickTime SetIgnoreRepeatClickTime
451  */
452 HWTEST_F(AccessibilityConfigImplTest, SetIgnoreRepeatClickTime_002, TestSize.Level1)
453 {
454     GTEST_LOG_(INFO) << "SetIgnoreRepeatClickTime_002 start";
455     IGNORE_REPEAT_CLICK_TIME time = RepeatClickTimeoutShort;
456     IGNORE_REPEAT_CLICK_TIME value = RepeatClickTimeoutShortest;
457     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
458     instance.SetIgnoreRepeatClickTime(time);
459     instance.GetIgnoreRepeatClickTime(value);
460     EXPECT_EQ(0, static_cast<uint32_t>(value));
461     GTEST_LOG_(INFO) << "SetIgnoreRepeatClickTime_002 end";
462 }
463 
464 /**
465  * @tc.number: ConnectToService_001
466  * @tc.name: ConnectToService_001
467  * @tc.desc: Test function ConnectToService
468  */
469 HWTEST_F(AccessibilityConfigImplTest, ConnectToService_001, TestSize.Level1)
470 {
471     GTEST_LOG_(INFO) << "ConnectToService_001 start";
472 
473     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
474     WaitParameter(NULL, NULL, 1);
475     instance.InitializeContext();
476     WaitParameter(NULL, NULL, 0);
477     GTEST_LOG_(INFO) << "ConnectToService_001 end";
478 }
479 
480 /**
481  * @tc.number: SetCaptionProperty_001
482  * @tc.name: SetCaptionProperty_001
483  * @tc.desc: Test function SetCaptionsProperty GetCaptionsProperty
484  */
485 HWTEST_F(AccessibilityConfigImplTest, SetCaptionProperty_001, TestSize.Level1)
486 {
487     GTEST_LOG_(INFO) << "SetCaptionProperty_001 start";
488 
489     CaptionProperty caption;
490     caption.SetFontFamily("sansSerif");
491     CaptionProperty value;
492 
493     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
494     instance.InitializeContext();
495     instance.SetCaptionsProperty(caption);
496     instance.GetCaptionsProperty(value);
497     EXPECT_STREQ(caption.GetFontFamily().c_str(), value.GetFontFamily().c_str());
498     GTEST_LOG_(INFO) << "SetCaptionProperty_001 end";
499 }
500 
501 /**
502  * @tc.number: SetScreenMagnificationState_001
503  * @tc.name: SetScreenMagnificationState_001
504  * @tc.desc: Test function SetScreenMagnificationState GetScreenMagnificationState
505  */
506 HWTEST_F(AccessibilityConfigImplTest, SetScreenMagnificationState_001, TestSize.Level1)
507 {
508     GTEST_LOG_(INFO) << "SetScreenMagnificationState_001 start";
509 
510     bool state = true;
511     bool value = false;
512     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
513     instance.InitializeContext();
514     instance.SetScreenMagnificationState(state);
515     instance.GetScreenMagnificationState(value);
516     EXPECT_TRUE(value);
517     GTEST_LOG_(INFO) << "SetScreenMagnificationState_001 end";
518 }
519 
520 /**
521  * @tc.number: SetShortKeyState_001
522  * @tc.name: SetShortKeyState_001
523  * @tc.desc: Test function SetShortKeyState GetShortKeyState
524  * @tc.require: issueI5NTXH
525  */
526 HWTEST_F(AccessibilityConfigImplTest, SetShortKeyState_001, TestSize.Level1)
527 {
528     GTEST_LOG_(INFO) << "SetShortKeyState_001 start";
529     bool state = true;
530     bool value = false;
531     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
532     instance.InitializeContext();
533     instance.SetShortKeyState(state);
534     instance.GetShortKeyState(value);
535     EXPECT_TRUE(value);
536     GTEST_LOG_(INFO) << "SetShortKeyState_001 end";
537 }
538 
539 /**
540  * @tc.number: SetMouseKeyState_001
541  * @tc.name: SetMouseKeyState_001
542  * @tc.desc: Test function SetMouseKeyState GetMouseKeyState
543  * @tc.require: issueI5NTXA
544  */
545 HWTEST_F(AccessibilityConfigImplTest, SetMouseKeyState_001, TestSize.Level1)
546 {
547     GTEST_LOG_(INFO) << "SetMouseKeyState_001 start";
548     bool state = true;
549     bool value = false;
550     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
551     instance.InitializeContext();
552     instance.SetMouseKeyState(state);
553     instance.GetMouseKeyState(value);
554     EXPECT_TRUE(value);
555     GTEST_LOG_(INFO) << "SetMouseKeyState_001 end";
556 }
557 
558 /**
559  * @tc.number: SetCaptionsState_001
560  * @tc.name: SetCaptionsState_001
561  * @tc.desc: Test function SetCaptionsState GetCaptionsState
562  */
563 HWTEST_F(AccessibilityConfigImplTest, SetCaptionsState_001, TestSize.Level1)
564 {
565     GTEST_LOG_(INFO) << "SetCaptionsState_001 start";
566 
567     bool state = true;
568     bool value = false;
569     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
570     instance.InitializeContext();
571     instance.SetCaptionsState(state);
572     instance.GetCaptionsState(value);
573     EXPECT_TRUE(value);
574     GTEST_LOG_(INFO) << "SetCaptionsState_001 end";
575 }
576 
577 /**
578  * @tc.number: SetMouseAutoClick_001
579  * @tc.name: SetMouseAutoClick_001
580  * @tc.desc: Test function SetMouseAutoClick GetMouseAutoClick
581  * @tc.require: issueI5NTXC
582  */
583 HWTEST_F(AccessibilityConfigImplTest, SetMouseAutoClick_001, TestSize.Level1)
584 {
585     GTEST_LOG_(INFO) << "SetMouseAutoClick_001 start";
586 
587     int32_t time = 10;
588     int32_t value = 0;
589     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
590     instance.InitializeContext();
591     instance.SetMouseAutoClick(time);
592     instance.GetMouseAutoClick(value);
593     EXPECT_EQ(time, value);
594     GTEST_LOG_(INFO) << "SetMouseAutoClick_001 end";
595 }
596 
597 /**
598  * @tc.number: SetShortkeyTarget_001
599  * @tc.name: SetShortkeyTarget_001
600  * @tc.desc: Test function SetShortkeyTarget GetShortkeyTarget
601  * @tc.require: issueI5NTXH
602  */
603 HWTEST_F(AccessibilityConfigImplTest, SetShortkeyTarget_001, TestSize.Level1)
604 {
605     GTEST_LOG_(INFO) << "SetShortkeyTarget_001 start";
606 
607     std::string name = "test";
608     std::string value = "";
609     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
610     instance.InitializeContext();
611     instance.SetShortkeyTarget(name);
612     instance.GetShortkeyTarget(value);
613     EXPECT_STREQ(name.c_str(), value.c_str());
614     GTEST_LOG_(INFO) << "SetShortkeyTarget_001 end";
615 }
616 
617 /**
618  * @tc.number: SetDaltonizationState_001
619  * @tc.name: SetDaltonizationState_001
620  * @tc.desc: Test function SetDaltonizationState GetDaltonizationState
621  * @tc.require: issueI5NTX9
622  */
623 HWTEST_F(AccessibilityConfigImplTest, SetDaltonizationState_001, TestSize.Level1)
624 {
625     GTEST_LOG_(INFO) << "SetDaltonizationState_001 start";
626 
627     bool state = true;
628     bool value = false;
629     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
630     instance.InitializeContext();
631     instance.SetDaltonizationState(state);
632     instance.GetDaltonizationState(value);
633     EXPECT_TRUE(value);
634     GTEST_LOG_(INFO) << "SetDaltonizationState_001 end";
635 }
636 
637 /**
638  * @tc.number: SetHighContrastTextState_001
639  * @tc.name: SetHighContrastTextState_001
640  * @tc.desc: Test function SetHighContrastTextState GetHighContrastTextState
641  * @tc.require: issueI5NTX9
642  */
643 HWTEST_F(AccessibilityConfigImplTest, SetHighContrastTextState_001, TestSize.Level1)
644 {
645     GTEST_LOG_(INFO) << "SetHighContrastTextState_001 start";
646 
647     bool state = true;
648     bool value = false;
649     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
650     instance.InitializeContext();
651     instance.SetHighContrastTextState(state);
652     instance.GetHighContrastTextState(value);
653     EXPECT_TRUE(value);
654     GTEST_LOG_(INFO) << "SetHighContrastTextState_001 end";
655 }
656 
657 /**
658  * @tc.number: SetInvertColorState_001
659  * @tc.name: SetInvertColorState_001
660  * @tc.desc: Test function SetInvertColorState GetInvertColorState
661  * @tc.require: issueI5NTX7
662  */
663 HWTEST_F(AccessibilityConfigImplTest, SetInvertColorState_001, TestSize.Level1)
664 {
665     GTEST_LOG_(INFO) << "SetInvertColorState_001 start";
666 
667     bool state = true;
668     bool value = false;
669     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
670     instance.InitializeContext();
671     instance.SetInvertColorState(state);
672     instance.GetInvertColorState(value);
673     EXPECT_TRUE(value);
674     GTEST_LOG_(INFO) << "SetInvertColorState_001 end";
675 }
676 
677 /**
678  * @tc.number: SetDaltonizationColorFilter_001
679  * @tc.name: SetDaltonizationColorFilter_001
680  * @tc.desc: Test function SetDaltonizationColorFilter GetDaltonizationColorFilter
681  * @tc.require: issueI5NTX8
682  */
683 HWTEST_F(AccessibilityConfigImplTest, SetDaltonizationColorFilter_001, TestSize.Level1)
684 {
685     GTEST_LOG_(INFO) << "SetDaltonizationColorFilter_001 start";
686 
687     DALTONIZATION_TYPE type = Protanomaly;
688     DALTONIZATION_TYPE value = Normal;
689     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
690     instance.InitializeContext();
691     instance.SetDaltonizationColorFilter(type);
692     instance.GetDaltonizationColorFilter(value);
693     EXPECT_EQ(static_cast<uint32_t>(type), static_cast<uint32_t>(value));
694     GTEST_LOG_(INFO) << "SetDaltonizationColorFilter_001 end";
695 }
696 
697 /**
698  * @tc.number: SetContentTimeout_001
699  * @tc.name: SetContentTimeout_001
700  * @tc.desc: Test function SetContentTimeout GetContentTimeout
701  * @tc.require: issueI5NTXF
702  */
703 HWTEST_F(AccessibilityConfigImplTest, SetContentTimeout_001, TestSize.Level1)
704 {
705     GTEST_LOG_(INFO) << "SetContentTimeout_001 start";
706 
707     uint32_t timer = 10;
708     uint32_t value = 0;
709     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
710     instance.InitializeContext();
711     instance.SetContentTimeout(timer);
712     instance.GetContentTimeout(value);
713     EXPECT_EQ(timer, value);
714     GTEST_LOG_(INFO) << "SetContentTimeout_001 end";
715 }
716 
717 /**
718  * @tc.number: SetAnimationOffState_001
719  * @tc.name: SetAnimationOffState_001
720  * @tc.desc: Test function SetAnimationOffState GetAnimationOffState
721  * @tc.require: issueI5NTXG
722  */
723 HWTEST_F(AccessibilityConfigImplTest, SetAnimationOffState_001, TestSize.Level1)
724 {
725     GTEST_LOG_(INFO) << "SetAnimationOffState_001 start";
726 
727     bool state = true;
728     bool value = false;
729     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
730     instance.InitializeContext();
731     instance.SetAnimationOffState(state);
732     instance.GetAnimationOffState(value);
733     EXPECT_TRUE(value);
734     GTEST_LOG_(INFO) << "SetAnimationOffState_001 end";
735 }
736 
737 /**
738  * @tc.number: SetBrightnessDiscount_001
739  * @tc.name: SetBrightnessDiscount_001
740  * @tc.desc: Test function SetBrightnessDiscount GetBrightnessDiscount
741  * @tc.require: issueI5NTXE
742  */
743 HWTEST_F(AccessibilityConfigImplTest, SetBrightnessDiscount_001, TestSize.Level1)
744 {
745     GTEST_LOG_(INFO) << "SetBrightnessDiscount_001 start";
746 
747     float brightness = 0;
748     float value = BRIGHTNESS_DISCOUNT_VALUE;
749     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
750     instance.InitializeContext();
751     instance.SetBrightnessDiscount(brightness);
752     instance.GetBrightnessDiscount(value);
753     EXPECT_FLOAT_EQ(brightness, value);
754     GTEST_LOG_(INFO) << "SetBrightnessDiscount_001 end";
755 }
756 
757 /**
758  * @tc.number: SetAudioMonoState_001
759  * @tc.name: SetAudioMonoState_001
760  * @tc.desc: Test function SetAudioMonoState GetAudioMonoState
761  */
762 HWTEST_F(AccessibilityConfigImplTest, SetAudioMonoState_001, TestSize.Level1)
763 {
764     GTEST_LOG_(INFO) << "SetAudioMonoState_001 start";
765 
766     bool state = true;
767     bool value = false;
768     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
769     instance.InitializeContext();
770     instance.SetAudioMonoState(state);
771     instance.GetAudioMonoState(value);
772     EXPECT_TRUE(value);
773     GTEST_LOG_(INFO) << "SetAudioMonoState_001 end";
774 }
775 
776 /**
777  * @tc.number: SetAudioBalance_001
778  * @tc.name: SetAudioBalance_001
779  * @tc.desc: Test function SetAudioBalance GetAudioBalance
780  */
781 HWTEST_F(AccessibilityConfigImplTest, SetAudioBalance_001, TestSize.Level1)
782 {
783     GTEST_LOG_(INFO) << "SetAudioBalance_001 start";
784     float balance = 0;
785     float value = 0;
786     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
787     instance.InitializeContext();
788     instance.SetAudioBalance(balance);
789     instance.GetAudioBalance(value);
790     EXPECT_FLOAT_EQ(balance, value);
791     sleep(1);
792     GTEST_LOG_(INFO) << "SetAudioBalance_001 end";
793 }
794 
795 /**
796  * @tc.number: SetClickResponseTime_001
797  * @tc.name: SetClickResponseTime_001
798  * @tc.desc: Test function SetClickResponseTime GetClickResponseTime
799  */
800 HWTEST_F(AccessibilityConfigImplTest, SetClickResponseTime_001, TestSize.Level1)
801 {
802     GTEST_LOG_(INFO) << "SetClickResponseTime_001 start";
803     CLICK_RESPONSE_TIME time = ResponseDelayMedium;
804     CLICK_RESPONSE_TIME value = ResponseDelayShort;
805     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
806     instance.InitializeContext();
807     instance.SetClickResponseTime(time);
808     instance.GetClickResponseTime(value);
809     EXPECT_EQ(1, static_cast<uint32_t>(value));
810     GTEST_LOG_(INFO) << "SetClickResponseTime_001 end";
811 }
812 
813 /**
814  * @tc.number: SetIgnoreRepeatClickState_001
815  * @tc.name: SetIgnoreRepeatClickState_001
816  * @tc.desc: Test function SetIgnoreRepeatClickState GetIgnoreRepeatClickState
817  */
818 HWTEST_F(AccessibilityConfigImplTest, SetIgnoreRepeatClickState_001, TestSize.Level1)
819 {
820     GTEST_LOG_(INFO) << "SetIgnoreRepeatClickState_001 start";
821     bool state = true;
822     bool value = false;
823     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
824     instance.InitializeContext();
825     instance.SetIgnoreRepeatClickState(state);
826     instance.GetIgnoreRepeatClickState(value);
827     EXPECT_EQ(true, value);
828     GTEST_LOG_(INFO) << "SetIgnoreRepeatClickState_001 end";
829 }
830 
831 /**
832  * @tc.number: SetIgnoreRepeatClickTime_001
833  * @tc.name: SetIgnoreRepeatClickTime_001
834  * @tc.desc: Test function SetIgnoreRepeatClickTime SetIgnoreRepeatClickTime
835  */
836 HWTEST_F(AccessibilityConfigImplTest, SetIgnoreRepeatClickTime_001, TestSize.Level1)
837 {
838     GTEST_LOG_(INFO) << "SetIgnoreRepeatClickTime_001 start";
839     IGNORE_REPEAT_CLICK_TIME time = RepeatClickTimeoutShort;
840     IGNORE_REPEAT_CLICK_TIME value = RepeatClickTimeoutShortest;
841     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
842     instance.InitializeContext();
843     instance.SetIgnoreRepeatClickTime(time);
844     instance.GetIgnoreRepeatClickTime(value);
845     EXPECT_EQ(1, static_cast<uint32_t>(value));
846     GTEST_LOG_(INFO) << "SetIgnoreRepeatClickTime_001 end";
847 }
848 
849 /**
850  * @tc.number: ConfigNotify_001
851  * @tc.name: ConfigNotify_001
852  * @tc.desc: Test function OnConfigStateChanged
853  */
854 HWTEST_F(AccessibilityConfigImplTest, ConfigNotify_001, TestSize.Level1)
855 {
856     GTEST_LOG_(INFO) << "ConfigNotify_001 start";
857     float balance = -1.0;
858     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
859     std::shared_ptr<MockAccessibilityConfigObserverImpl> observer =
860         std::make_shared<MockAccessibilityConfigObserverImpl>();
861     instance.InitializeContext();
862     for (int32_t index = 0; index < static_cast<int32_t>(CONFIG_ID_MAX); index ++) {
863         instance.SubscribeConfigObserver(static_cast<CONFIG_ID>(index), observer, false);
864     }
865     instance.SetAudioBalance(balance);
866     sleep(1);
867     instance.SetAudioBalance(balance);
868     sleep(1);
869     for (int32_t index = 0; index < static_cast<int32_t>(CONFIG_ID_MAX); index ++) {
870         instance.UnsubscribeConfigObserver(static_cast<CONFIG_ID>(index), observer);
871     }
872     GTEST_LOG_(INFO) << "ConfigNotify_001 end";
873 }
874 
875 /**
876  * @tc.number: ConfigNotify_002
877  * @tc.name: ConfigNotify_002
878  * @tc.desc: Test function OnConfigStateChanged
879  */
880 HWTEST_F(AccessibilityConfigImplTest, ConfigNotify_002, TestSize.Level1)
881 {
882     GTEST_LOG_(INFO) << "ConfigNotify_002 start";
883     float balance = 0;
884     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
885     std::shared_ptr<MockAccessibilityConfigObserverImpl> observer =
886         std::make_shared<MockAccessibilityConfigObserverImpl>();
887     instance.InitializeContext();
888     for (int32_t index = 0; index < static_cast<int32_t>(CONFIG_ID_MAX); index ++) {
889         instance.SubscribeConfigObserver(static_cast<CONFIG_ID>(index), observer);
890     }
891     instance.SetAudioBalance(balance);
892     sleep(1);
893     GTEST_LOG_(INFO) << "ConfigNotify_002 end";
894 }
895 
896 /**
897  * @tc.number: ConfigNotify_003
898  * @tc.name: ConfigNotify_003
899  * @tc.desc: Test function OnConfigStateChanged
900  */
901 HWTEST_F(AccessibilityConfigImplTest, ConfigNotify_003, TestSize.Level1)
902 {
903     GTEST_LOG_(INFO) << "ConfigNotify_003 start";
904     float balance = -1.0;
905     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
906     instance.InitializeContext();
907     for (int32_t index = 0; index < static_cast<int32_t>(CONFIG_ID_MAX); index ++) {
908         instance.SubscribeConfigObserver(static_cast<CONFIG_ID>(index), nullptr);
909     }
910     instance.SetAudioBalance(balance);
911     sleep(1);
912     GTEST_LOG_(INFO) << "ConfigNotify_003 end";
913 }
914 
915 /**
916  * @tc.number: SubscribeConfigObserver_001
917  * @tc.name: SubscribeConfigObserver_001
918  * @tc.desc: Test function SubscribeConfigObserver
919  */
920 HWTEST_F(AccessibilityConfigImplTest, SubscribeConfigObserver_001, TestSize.Level1)
921 {
922     GTEST_LOG_(INFO) << "SubscribeConfigObserver_001 start";
923 
924     std::shared_ptr<AccessibilityConfigObserver> observer = nullptr;
925     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
926     instance.InitializeContext();
927     instance.SubscribeConfigObserver(CONFIG_HIGH_CONTRAST_TEXT, observer);
928     GTEST_LOG_(INFO) << "SubscribeConfigObserver_001 end";
929 }
930 
931 /**
932  * @tc.number: UnsubscribeConfigObserver_001
933  * @tc.name: UnsubscribeConfigObserver_001
934  * @tc.desc: Test function UnsubscribeConfigObserver
935  */
936 HWTEST_F(AccessibilityConfigImplTest, UnsubscribeConfigObserver_001, TestSize.Level1)
937 {
938     GTEST_LOG_(INFO) << "UnsubscribeConfigObserver_001 start";
939 
940     std::shared_ptr<AccessibilityConfigObserver> observer = nullptr;
941     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
942     instance.InitializeContext();
943     instance.UnsubscribeConfigObserver(CONFIG_HIGH_CONTRAST_TEXT, observer);
944     GTEST_LOG_(INFO) << "UnsubscribeConfigObserver_001 end";
945 }
946 
947 /**
948  * @tc.number: UnsubscribeConfigObserver_002
949  * @tc.name: UnsubscribeConfigObserver_002
950  * @tc.desc: Test function UnsubscribeConfigObserver
951  */
952 HWTEST_F(AccessibilityConfigImplTest, UnsubscribeConfigObserver_002, TestSize.Level1)
953 {
954     GTEST_LOG_(INFO) << "UnsubscribeConfigObserver_002 start";
955 
956     std::shared_ptr<AccessibilityConfigObserver> observer = nullptr;
957     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
958     instance.InitializeContext();
959     instance.UnsubscribeConfigObserver(CONFIG_ID_MAX, observer);
960     GTEST_LOG_(INFO) << "UnsubscribeConfigObserver_002 end";
961 }
962 
963 /**
964  * @tc.number: SubscribeEnableAbilityListsObserver_001
965  * @tc.name: SubscribeEnableAbilityListsObserver_001
966  * @tc.desc: Test function SubscribeEnableAbilityListsObserver
967  */
968 HWTEST_F(AccessibilityConfigImplTest, SubscribeEnableAbilityListsObserver_001, TestSize.Level1)
969 {
970     GTEST_LOG_(INFO) << "SubscribeEnableAbilityListsObserver_001 start";
971 
972     std::shared_ptr<AccessibilityEnableAbilityListsObserver> observer =
973         std::make_shared<MockAccessibilityEnableAbilityListsObserverImpl>();
974     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
975     instance.InitializeContext();
976     instance.SubscribeEnableAbilityListsObserver(observer);
977     GTEST_LOG_(INFO) << "SubscribeEnableAbilityListsObserver_001 end";
978 }
979 
980 /**
981  * @tc.number: UnsubscribeEnableAbilityListsObserver_001
982  * @tc.name: UnsubscribeEnableAbilityListsObserver_001
983  * @tc.desc: Test function UnsubscribeEnableAbilityListsObserver
984  */
985 HWTEST_F(AccessibilityConfigImplTest, UnsubscribeEnableAbilityListsObserver_001, TestSize.Level1)
986 {
987     GTEST_LOG_(INFO) << "UnsubscribeEnableAbilityListsObserver_001 start";
988 
989     std::shared_ptr<AccessibilityEnableAbilityListsObserver> observer = nullptr;
990     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
991     instance.InitializeContext();
992     instance.SubscribeEnableAbilityListsObserver(observer);
993     instance.UnsubscribeEnableAbilityListsObserver(observer);
994     GTEST_LOG_(INFO) << "UnsubscribeEnableAbilityListsObserver_001 end";
995 }
996 
997 /**
998  * @tc.number: UnsubscribeEnableAbilityListsObserver_002
999  * @tc.name: UnsubscribeEnableAbilityListsObserver_002
1000  * @tc.desc: Test function UnsubscribeEnableAbilityListsObserver
1001  */
1002 HWTEST_F(AccessibilityConfigImplTest, UnsubscribeEnableAbilityListsObserver_002, TestSize.Level1)
1003 {
1004     GTEST_LOG_(INFO) << "UnsubscribeEnableAbilityListsObserver_002 start";
1005 
1006     std::shared_ptr<AccessibilityEnableAbilityListsObserver> observer = nullptr;
1007     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
1008     instance.InitializeContext();
1009     instance.UnsubscribeEnableAbilityListsObserver(observer);
1010     GTEST_LOG_(INFO) << "UnsubscribeEnableAbilityListsObserver_002 end";
1011 }
1012 
1013 /**
1014  * @tc.number: EnableAbility_001
1015  * @tc.name: EnableAbility_001
1016  * @tc.desc: Test function EnableAbility
1017  */
1018 HWTEST_F(AccessibilityConfigImplTest, EnableAbility_001, TestSize.Level1)
1019 {
1020     GTEST_LOG_(INFO) << "EnableAbility_001 start";
1021 
1022     std::string name = "test";
1023     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
1024     instance.InitializeContext();
1025     EXPECT_EQ(Accessibility::RET_OK, instance.EnableAbility(name, 0));
1026     sleep(1);
1027     GTEST_LOG_(INFO) << "EnableAbility_001 end";
1028 }
1029 
1030 /**
1031  * @tc.number: DisableAbility_001
1032  * @tc.name: DisableAbility_001
1033  * @tc.desc: Test function DisableAbility
1034  */
1035 HWTEST_F(AccessibilityConfigImplTest, DisableAbility_001, TestSize.Level1)
1036 {
1037     GTEST_LOG_(INFO) << "DisableAbility_001 start";
1038 
1039     std::string name = "test";
1040     auto &instance = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance();
1041     instance.InitializeContext();
1042     EXPECT_EQ(Accessibility::RET_OK, instance.DisableAbility(name));
1043     GTEST_LOG_(INFO) << "DisableAbility_001 end";
1044 }
1045 } // namespace AccessibilityConfig
1046 } // namespace OHOS