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 #include "accessibility_ability_info_parcel.h"
18
19 using namespace testing;
20 using namespace testing::ext;
21
22 namespace OHOS {
23 namespace Accessibility {
24 class AccessibilityAbilityInfoParcelTest : public ::testing::Test {
25 public:
AccessibilityAbilityInfoParcelTest()26 AccessibilityAbilityInfoParcelTest()
27 {}
~AccessibilityAbilityInfoParcelTest()28 ~AccessibilityAbilityInfoParcelTest()
29 {}
SetUpTestCase()30 static void SetUpTestCase()
31 {
32 GTEST_LOG_(INFO) << "AccessibilityAbilityInfoParcelTest Start";
33 }
TearDownTestCase()34 static void TearDownTestCase()
35 {
36 GTEST_LOG_(INFO) << "AccessibilityAbilityInfoParcelTest End";
37 }
38
SetUp()39 void SetUp()
40 {
41 GTEST_LOG_(INFO) << "AccessibilityAbilityInfoParcelTest SetUp() Start";
42 AccessibilityAbilityInitParams params;
43 params.bundleName = "bundleName";
44 params.moduleName = "moduleName";
45 params.name = "name";
46 params.description = "description";
47 params.rationale = "rationale";
48 params.settingsAbility = "settingsAbility";
49 params.staticCapabilities = 1;
50 params.abilityTypes = ACCESSIBILITY_ABILITY_TYPE_SPOKEN;
51 params.isImportant = true;
52 params.needHide = false;
53 abilityInfo_ = std::make_shared<AccessibilityAbilityInfo>(params);
54 abilityInfoParcel_ = std::make_shared<AccessibilityAbilityInfoParcel>(*abilityInfo_);
55 GTEST_LOG_(INFO) << "AccessibilityAbilityInfoParcelTest SetUp() End";
56 };
57
TearDown()58 void TearDown()
59 {
60 GTEST_LOG_(INFO) << "AccessibilityAbilityInfoParcelTest TearDown()";
61 abilityInfo_ = nullptr;
62 abilityInfoParcel_ = nullptr;
63 }
64
65 std::shared_ptr<AccessibilityAbilityInfo> abilityInfo_ = nullptr;
66 std::shared_ptr<AccessibilityAbilityInfoParcel> abilityInfoParcel_ = nullptr;
67 };
68
69 /**
70 * @tc.number: Marshalling_001
71 * @tc.name: Marshalling
72 * @tc.desc: Test function Marshalling
73 */
HWTEST_F(AccessibilityAbilityInfoParcelTest, Marshalling_001, TestSize.Level1)74 HWTEST_F(AccessibilityAbilityInfoParcelTest, Marshalling_001, TestSize.Level1)
75 {
76 GTEST_LOG_(INFO) << "Marshalling_001 start";
77 if (!abilityInfoParcel_) {
78 GTEST_LOG_(INFO) << "abilityInfoParcel_ is null";
79 return;
80 }
81
82 Parcel parcel;
83 bool ret = abilityInfoParcel_->Marshalling(parcel);
84 EXPECT_EQ(ret, true);
85 GTEST_LOG_(INFO) << "Marshalling_001 end";
86 }
87
88 /**
89 * @tc.number: Unmarshalling_001
90 * @tc.name: Unmarshalling
91 * @tc.desc: Test function Unmarshalling
92 */
HWTEST_F(AccessibilityAbilityInfoParcelTest, Unmarshalling_001, TestSize.Level1)93 HWTEST_F(AccessibilityAbilityInfoParcelTest, Unmarshalling_001, TestSize.Level1)
94 {
95 GTEST_LOG_(INFO) << "Unmarshalling_001 start";
96 if (!abilityInfoParcel_) {
97 GTEST_LOG_(INFO) << "abilityInfoParcel_ is null";
98 return;
99 }
100
101 Parcel parcel;
102 sptr<AccessibilityAbilityInfoParcel> infoParcel = abilityInfoParcel_->Unmarshalling(parcel);
103 EXPECT_EQ(true, infoParcel == nullptr);
104 }
105 } // namespace Accessibility
106 } // namespace OHOS