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 "../../include/parcel/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 } SetUp()38 void SetUp() 39 { 40 GTEST_LOG_(INFO) << "AccessibilityAbilityInfoParcelTest SetUp() Start"; 41 AccessibilityAbilityInitParams params; 42 params.bundleName = "bundleName"; 43 params.moduleName = "moduleName"; 44 params.name = "name"; 45 params.description = "description"; 46 params.rationale = "rationale"; 47 params.settingsAbility = "settingsAbility"; 48 params.staticCapabilities = 1; 49 params.abilityTypes = ACCESSIBILITY_ABILITY_TYPE_SPOKEN; 50 params.isImportant = true; 51 abilityInfo_ = std::make_shared<AccessibilityAbilityInfo>(params); 52 abilityInfoParcel_ = std::make_shared<AccessibilityAbilityInfoParcel>(*abilityInfo_); 53 GTEST_LOG_(INFO) << "AccessibilityAbilityInfoParcelTest SetUp() End"; 54 }; TearDown()55 void TearDown() 56 { 57 GTEST_LOG_(INFO) << "AccessibilityAbilityInfoParcelTest TearDown()"; 58 abilityInfo_ = nullptr; 59 abilityInfoParcel_ = nullptr; 60 } 61 62 std::shared_ptr<AccessibilityAbilityInfo> abilityInfo_ = nullptr; 63 std::shared_ptr<AccessibilityAbilityInfoParcel> abilityInfoParcel_ = nullptr; 64 }; 65 66 /** 67 * @tc.number: Marshalling_001 68 * @tc.name: Marshalling 69 * @tc.desc: Test function Marshalling 70 */ 71 HWTEST_F(AccessibilityAbilityInfoParcelTest, Marshalling_001, TestSize.Level1) 72 { 73 GTEST_LOG_(INFO) << "Marshalling_001 start"; 74 if (!abilityInfoParcel_) { 75 GTEST_LOG_(INFO) << "abilityInfoParcel_ is null"; 76 return; 77 } 78 79 Parcel parcel; 80 bool ret = abilityInfoParcel_->Marshalling(parcel); 81 EXPECT_EQ(ret, true); 82 GTEST_LOG_(INFO) << "Marshalling_001 end"; 83 } 84 85 /** 86 * @tc.number: Unmarshalling_001 87 * @tc.name: Unmarshalling 88 * @tc.desc: Test function Unmarshalling 89 */ 90 HWTEST_F(AccessibilityAbilityInfoParcelTest, Unmarshalling_001, TestSize.Level1) 91 { 92 GTEST_LOG_(INFO) << "Unmarshalling_001 start"; 93 if (!abilityInfoParcel_) { 94 GTEST_LOG_(INFO) << "abilityInfoParcel_ is null"; 95 return; 96 } 97 98 Parcel parcel; 99 sptr<AccessibilityAbilityInfoParcel> infoParcel = abilityInfoParcel_->Unmarshalling(parcel); 100 EXPECT_EQ(true, infoParcel == nullptr); 101 } 102 } // namespace Accessibility 103 } // namespace OHOS