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 */ 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 */ 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