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 <gtest/gtest.h>
17 #include <map>
18 #include <memory>
19 #include "accessibility_short_key.h"
20 #include "accessibility_ut_helper.h"
21 #include "accessible_ability_manager_service.h"
22 
23 using namespace testing;
24 using namespace testing::ext;
25 
26 namespace OHOS {
27 namespace Accessibility {
28 class AccessibilityShortKeyUnitTest : public ::testing::Test {
29 public:
AccessibilityShortKeyUnitTest()30     AccessibilityShortKeyUnitTest()
31     {}
~AccessibilityShortKeyUnitTest()32     ~AccessibilityShortKeyUnitTest()
33     {}
34 
35     static void SetUpTestCase();
36     static void TearDownTestCase();
37     void SetUp() override;
38     void TearDown() override;
39 
40     std::shared_ptr<AccessibilityShortKey> shortKey_ = nullptr;
41 };
42 
SetUpTestCase()43 void AccessibilityShortKeyUnitTest::SetUpTestCase()
44 {
45     GTEST_LOG_(INFO) << "###################### AccessibilityShortKeyUnitTest Start ######################";
46     Singleton<AccessibleAbilityManagerService>::GetInstance().OnStart();
47 }
48 
TearDownTestCase()49 void AccessibilityShortKeyUnitTest::TearDownTestCase()
50 {
51     GTEST_LOG_(INFO) << "###################### AccessibilityShortKeyUnitTest End ######################";
52     Singleton<AccessibleAbilityManagerService>::GetInstance().OnStop();
53 }
54 
SetUp()55 void AccessibilityShortKeyUnitTest::SetUp()
56 {
57     GTEST_LOG_(INFO) << "SetUp";
58     shortKey_ = std::make_shared<AccessibilityShortKey>();
59 }
60 
TearDown()61 void AccessibilityShortKeyUnitTest::TearDown()
62 {
63     GTEST_LOG_(INFO) << "TearDown";
64     shortKey_ = nullptr;
65 }
66 
67 /**
68  * @tc.number: AccessibilityShortKey_Unittest_Register_001
69  * @tc.name: Register
70  * @tc.desc: Test function Register
71  * @tc.require: issueI5NTXH
72  */
73 HWTEST_F(AccessibilityShortKeyUnitTest, AccessibilityShortKey_Unittest_Register_001, TestSize.Level1)
74 {
75     GTEST_LOG_(INFO) << "AccessibilityShortKey_Unittest_Register_001 start";
76     shortKey_->Unregister();
77     shortKey_->Register();
78     GTEST_LOG_(INFO) << "AccessibilityShortKey_Unittest_OnKeyEvent_001 end";
79 }
80 
81 /**
82  * @tc.number: Accessibility_Short_Key_UnitTest_AccessibilityShortKey001
83  * @tc.name: AccessibilityShortKey
84  * @tc.desc: Test function AccessibilityShortKey(power key cancel)
85  * @tc.require: issueI5NTXH
86  */
87 HWTEST_F(AccessibilityShortKeyUnitTest, AccessibilityShortKey_001, TestSize.Level1)
88 {
89     GTEST_LOG_(INFO) << "Accessibility_Short_Key_UnitTest_AccessibilityShortKey001 start";
90     TearDownTestCase();
91     sptr<AccessibilityShortKey> test = new (std::nothrow) AccessibilityShortKey();
92     test = nullptr;
93     SetUpTestCase();
94     GTEST_LOG_(INFO) << "Accessibility_Short_Key_UnitTest_AccessibilityShortKey001 end";
95 }
96 } // namespace Accessibility
97 } // namespace OHOS