• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 }