1 /* 2 * Copyright (c) 2025 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 "local_pending_want.h" 17 18 #include <gtest/gtest.h> 19 #include "element_name.h" 20 21 using namespace testing::ext; 22 namespace OHOS::AbilityRuntime::WantAgent { 23 /* 24 * @tc.number : LocalPendingWant_0100 25 * @tc.name : LocalPendingWant Constructors 26 * @tc.desc : LocalPendingWant Constructors 27 */ 28 HWTEST(LocalPendingWantTest, LocalPendingWant_0100, Function | MediumTest | Level1) 29 { 30 std::shared_ptr<AAFwk::Want> want = std::make_shared<AAFwk::Want>(); 31 LocalPendingWant localPendingWant = LocalPendingWant("TestBundleName", want, 0); 32 ASSERT_EQ(localPendingWant.GetBundleName(), "TestBundleName"); 33 } 34 35 /* 36 * @tc.number : LocalPendingWant_0200 37 * @tc.name : LocalPendingWant Get & Set bundleName 38 * @tc.desc : LocalPendingWant Get & Set bundleName 39 */ 40 HWTEST(LocalPendingWantTest, LocalPendingWant_0200, Function | MediumTest | Level1) 41 { 42 std::shared_ptr<AAFwk::Want> want = std::make_shared<AAFwk::Want>(); 43 LocalPendingWant localPendingWant = LocalPendingWant("TestBundleName", want, 0); 44 localPendingWant.SetBundleName("xxx"); 45 ASSERT_EQ(localPendingWant.GetBundleName(), "xxx"); 46 } 47 48 /* 49 * @tc.number : LocalPendingWant_0300 50 * @tc.name : LocalPendingWant Get & Set uid 51 * @tc.desc : LocalPendingWant Get & Set uid 52 */ 53 HWTEST(LocalPendingWantTest, LocalPendingWant_0300, Function | MediumTest | Level1) 54 { 55 std::shared_ptr<AAFwk::Want> want = std::make_shared<AAFwk::Want>(); 56 LocalPendingWant localPendingWant = LocalPendingWant("TestBundleName", want, 0); 57 localPendingWant.SetUid(300); 58 ASSERT_EQ(localPendingWant.GetUid(), 300); 59 } 60 61 /* 62 * @tc.number : LocalPendingWant_0400 63 * @tc.name : LocalPendingWant Get & Set operType 64 * @tc.desc : LocalPendingWant Get & Set operType 65 */ 66 HWTEST(LocalPendingWantTest, LocalPendingWant_0400, Function | MediumTest | Level1) 67 { 68 std::shared_ptr<AAFwk::Want> want = std::make_shared<AAFwk::Want>(); 69 LocalPendingWant localPendingWant = LocalPendingWant("TestBundleName", want, 0); 70 localPendingWant.SetType(400); 71 ASSERT_EQ(localPendingWant.GetType(), 400); 72 } 73 74 /* 75 * @tc.number : LocalPendingWant_0500 76 * @tc.name : LocalPendingWant Get & Set want 77 * @tc.desc : LocalPendingWant Get & Set want 78 */ 79 HWTEST(LocalPendingWantTest, LocalPendingWant_0500, Function | MediumTest | Level1) 80 { 81 std::shared_ptr<AAFwk::Want> want = std::make_shared<AAFwk::Want>(); 82 LocalPendingWant localPendingWant = LocalPendingWant("TestBundleName", want, 0); 83 want->SetElement(AppExecFwk::ElementName("TestDeviceId", "TestBundleName", "TestAbilityName")); 84 localPendingWant.SetWant(want); 85 ASSERT_EQ(localPendingWant.GetWant()->GetElement().GetAbilityName(), "TestAbilityName"); 86 } 87 88 /* 89 * @tc.number : LocalPendingWant_0600 90 * @tc.name : LocalPendingWant Get & Set hashCode 91 * @tc.desc : LocalPendingWant Get & Set hashCode 92 */ 93 HWTEST(LocalPendingWantTest, LocalPendingWant_0600, Function | MediumTest | Level1) 94 { 95 std::shared_ptr<AAFwk::Want> want = std::make_shared<AAFwk::Want>(); 96 LocalPendingWant localPendingWant = LocalPendingWant("TestBundleName", want, 0); 97 localPendingWant.SetHashCode(600); 98 ASSERT_EQ(localPendingWant.GetHashCode(), 600); 99 } 100 101 /* 102 * @tc.number : LocalPendingWant_0700 103 * @tc.name : LocalPendingWant Marshalling & Unmarshalling 104 * @tc.desc : LocalPendingWant Marshalling & Unmarshalling 105 */ 106 HWTEST(LocalPendingWantTest, LocalPendingWant_0700, Function | MediumTest | Level1) 107 { 108 std::shared_ptr<AAFwk::Want> want = std::make_shared<AAFwk::Want>(); 109 LocalPendingWant localPendingWant = LocalPendingWant("TestBundleName", want, 0); 110 Parcel parcel; 111 localPendingWant.Marshalling(parcel); 112 const auto actual = localPendingWant.Unmarshalling(parcel); 113 ASSERT_EQ(localPendingWant.GetBundleName(), "TestBundleName"); 114 ASSERT_EQ(actual->GetBundleName(), "TestBundleName"); 115 } 116 117 /* 118 * @tc.number : LocalPendingWant_0800 119 * @tc.name : LocalPendingWant IsEquals 120 * @tc.desc : LocalPendingWant IsEquals 121 */ 122 HWTEST(LocalPendingWantTest, LocalPendingWant_0800, Function | MediumTest | Level1) 123 { 124 std::shared_ptr<LocalPendingWant> localPendingWant = nullptr; 125 std::shared_ptr<LocalPendingWant> otherLocalPendingWant = nullptr; 126 ASSERT_EQ(LocalPendingWant::IsEquals(localPendingWant, otherLocalPendingWant), 0); 127 std::shared_ptr<AAFwk::Want> want = std::make_shared<AAFwk::Want>(); 128 localPendingWant = std::make_shared<LocalPendingWant>("TestBundleName", want, 0); 129 otherLocalPendingWant = std::make_shared<LocalPendingWant>("TestBundleName", want, 0); 130 ASSERT_EQ(LocalPendingWant::IsEquals(localPendingWant, otherLocalPendingWant), -1); 131 } 132 }