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_element_info_parcel.h"
18
19 using namespace testing;
20 using namespace testing::ext;
21
22 namespace OHOS {
23 namespace Accessibility {
24 class AccessibilityElementInfoParcelTest : public ::testing::Test {
25 public:
AccessibilityElementInfoParcelTest()26 AccessibilityElementInfoParcelTest()
27 {}
~AccessibilityElementInfoParcelTest()28 ~AccessibilityElementInfoParcelTest()
29 {}
SetUpTestCase()30 static void SetUpTestCase()
31 {
32 GTEST_LOG_(INFO) << "AccessibilityElementInfoParcelTest Start";
33 }
TearDownTestCase()34 static void TearDownTestCase()
35 {
36 GTEST_LOG_(INFO) << "AccessibilityElementInfoParcelTest End";
37 }
SetUp()38 void SetUp()
39 {
40 GTEST_LOG_(INFO) << "AccessibilityElementInfoParcelTest SetUp() Start";
41 elementInfo_ = std::make_shared<AccessibilityElementInfo>();
42 elementInfoParcel_ = std::make_shared<AccessibilityElementInfoParcel>(*elementInfo_);
43 action_ = std::make_shared<AccessibleAction>();
44 actionParcel_ = std::make_shared<AccessibleActionParcel>(*action_);
45 rangeInfo_ = std::make_shared<RangeInfo>();
46 rangeInfoParcel_ = std::make_shared<RangeInfoParcel>(*rangeInfo_);
47 gridInfo_ = std::make_shared<GridInfo>();
48 gridInfoParcel_ = std::make_shared<GridInfoParcel>(*gridInfo_);
49 gridItemInfo_ = std::make_shared<GridItemInfo>();
50 gridItemInfoParcel_ = std::make_shared<GridItemInfoParcel>(*gridItemInfo_);
51 rect_ = std::make_shared<Rect>();
52 rectParcel_ = std::make_shared<RectParcel>(*rect_);
53 extraElementInfo_ = std::make_shared<ExtraElementInfo>();
54 extraElementInfoParcel_ = std::make_shared<ExtraElementInfoParcel>(*extraElementInfo_);
55 GTEST_LOG_(INFO) << "AccessibilityElementInfoParcelTest SetUp() End";
56 };
TearDown()57 void TearDown()
58 {
59 GTEST_LOG_(INFO) << "AccessibilityElementInfoParcelTest TearDown()";
60 elementInfo_ = nullptr;
61 elementInfoParcel_ = nullptr;
62 action_ = nullptr;
63 actionParcel_ = nullptr;
64 rangeInfo_ = nullptr;
65 rangeInfoParcel_ = nullptr;
66 gridInfo_ = nullptr;
67 gridInfoParcel_ = nullptr;
68 gridItemInfo_ = nullptr;
69 gridItemInfoParcel_ = nullptr;
70 rect_ = nullptr;
71 rectParcel_ = nullptr;
72 extraElementInfo_ = nullptr;
73 extraElementInfoParcel_ = nullptr;
74 }
75
76 std::shared_ptr<AccessibleAction> action_ = nullptr;
77 std::shared_ptr<AccessibleActionParcel> actionParcel_ = nullptr;
78 std::shared_ptr<RangeInfo> rangeInfo_ = nullptr;
79 std::shared_ptr<RangeInfoParcel> rangeInfoParcel_ = nullptr;
80 std::shared_ptr<GridInfo> gridInfo_ = nullptr;
81 std::shared_ptr<GridInfoParcel> gridInfoParcel_ = nullptr;
82 std::shared_ptr<GridItemInfo> gridItemInfo_ = nullptr;
83 std::shared_ptr<GridItemInfoParcel> gridItemInfoParcel_ = nullptr;
84 std::shared_ptr<Rect> rect_ = nullptr;
85 std::shared_ptr<RectParcel> rectParcel_ = nullptr;
86 std::shared_ptr<AccessibilityElementInfo> elementInfo_ = nullptr;
87 std::shared_ptr<AccessibilityElementInfoParcel> elementInfoParcel_ = nullptr;
88 std::shared_ptr<ExtraElementInfo> extraElementInfo_ = nullptr;
89 std::shared_ptr<ExtraElementInfoParcel> extraElementInfoParcel_ = nullptr;
90 };
91
92 /**
93 * @tc.number: Element_Info__Marshalling_001
94 * @tc.name: Element_Info_Marshalling
95 * @tc.desc: Test function Marshalling
96 */
HWTEST_F(AccessibilityElementInfoParcelTest, Element_Info_Marshalling_001, TestSize.Level1)97 HWTEST_F(AccessibilityElementInfoParcelTest, Element_Info_Marshalling_001, TestSize.Level1)
98 {
99 GTEST_LOG_(INFO) << "Element_Info_Marshalling_001 start";
100 if (!elementInfoParcel_) {
101 GTEST_LOG_(INFO) << "elementInfoParcel_ is null";
102 return;
103 }
104
105 Parcel parcel;
106 bool ret = elementInfoParcel_->Marshalling(parcel);
107 EXPECT_EQ(ret, true);
108 GTEST_LOG_(INFO) << "Element_Info_Marshalling_001 end";
109 }
110
111 /**
112 * @tc.number: Element_Info_Unmarshalling_001
113 * @tc.name: Element_Info_Unmarshalling
114 * @tc.desc: Test function Unmarshalling
115 */
HWTEST_F(AccessibilityElementInfoParcelTest, Element_Info_Unmarshalling_001, TestSize.Level1)116 HWTEST_F(AccessibilityElementInfoParcelTest, Element_Info_Unmarshalling_001, TestSize.Level1)
117 {
118 GTEST_LOG_(INFO) << "Element_Info_Unmarshalling_001 start";
119 if (!elementInfoParcel_) {
120 GTEST_LOG_(INFO) << "elementInfoParcel_ is null";
121 return;
122 }
123
124 Parcel parcel;
125 sptr<AccessibilityElementInfoParcel> elementInfoParcel = elementInfoParcel_->Unmarshalling(parcel);
126 EXPECT_EQ(true, elementInfoParcel == nullptr);
127 GTEST_LOG_(INFO) << "Element_Info_Unmarshalling_001 end";
128 }
129
130 /**
131 * @tc.number: Rect_Marshalling_001
132 * @tc.name: Rect_Marshalling
133 * @tc.desc: Test function Marshalling
134 */
HWTEST_F(AccessibilityElementInfoParcelTest, Rect_Marshalling_001, TestSize.Level1)135 HWTEST_F(AccessibilityElementInfoParcelTest, Rect_Marshalling_001, TestSize.Level1)
136 {
137 GTEST_LOG_(INFO) << "Rect_Marshalling_001 start";
138 if (!rectParcel_) {
139 GTEST_LOG_(INFO) << "rectParcel_ is null";
140 return;
141 }
142
143 Parcel parcel;
144 bool ret = rectParcel_->Marshalling(parcel);
145 EXPECT_EQ(ret, true);
146 GTEST_LOG_(INFO) << "Rect_Marshalling_001 end";
147 }
148
149 /**
150 * @tc.number: Rect_Unmarshalling_001
151 * @tc.name: Rect__Unmarshalling
152 * @tc.desc: Test function Unmarshalling
153 */
HWTEST_F(AccessibilityElementInfoParcelTest, Rect_Unmarshalling_001, TestSize.Level1)154 HWTEST_F(AccessibilityElementInfoParcelTest, Rect_Unmarshalling_001, TestSize.Level1)
155 {
156 GTEST_LOG_(INFO) << "Rect_Unmarshalling_001 start";
157 if (!rectParcel_) {
158 GTEST_LOG_(INFO) << "rectParcel_ is null";
159 return;
160 }
161
162 Parcel parcel;
163 sptr<RectParcel> rectParcel = rectParcel_->Unmarshalling(parcel);
164 EXPECT_EQ(true, rectParcel == nullptr);
165 GTEST_LOG_(INFO) << "Rect_Unmarshalling_001 end";
166 }
167
168 /**
169 * @tc.number: Grid_Item_Info_Marshalling_001
170 * @tc.name: Grid_Item_Info_Marshalling
171 * @tc.desc: Test function Marshalling
172 */
HWTEST_F(AccessibilityElementInfoParcelTest, Grid_Item_Info_Marshalling_001, TestSize.Level1)173 HWTEST_F(AccessibilityElementInfoParcelTest, Grid_Item_Info_Marshalling_001, TestSize.Level1)
174 {
175 GTEST_LOG_(INFO) << "Grid_Item_Info_Marshalling_001 start";
176 if (!gridItemInfoParcel_) {
177 GTEST_LOG_(INFO) << "gridItemInfoParcel_ is null";
178 return;
179 }
180
181 Parcel parcel;
182 bool ret = gridItemInfoParcel_->Marshalling(parcel);
183 EXPECT_EQ(ret, true);
184 GTEST_LOG_(INFO) << "Grid_Item_Info_Marshalling_001 end";
185 }
186
187 /**
188 * @tc.number: Grid_Item_Info_Unmarshalling_001
189 * @tc.name: Grid_Item_Info_Unmarshalling
190 * @tc.desc: Test function Unmarshalling
191 */
HWTEST_F(AccessibilityElementInfoParcelTest, Grid_Item_Info_Unmarshalling_001, TestSize.Level1)192 HWTEST_F(AccessibilityElementInfoParcelTest, Grid_Item_Info_Unmarshalling_001, TestSize.Level1)
193 {
194 GTEST_LOG_(INFO) << "Grid_Item_Info_Unmarshalling_001 start";
195 if (!gridItemInfoParcel_) {
196 GTEST_LOG_(INFO) << "gridItemInfoParcel_ is null";
197 return;
198 }
199
200 Parcel parcel;
201 sptr<GridItemInfoParcel> gridItemInfoParcel = gridItemInfoParcel_->Unmarshalling(parcel);
202 EXPECT_EQ(true, gridItemInfoParcel == nullptr);
203 GTEST_LOG_(INFO) << "Grid_Item_Info_Unmarshalling_001 end";
204 }
205
206 /**
207 * @tc.number: Action_Marshalling_001
208 * @tc.name: Action_Marshalling
209 * @tc.desc: Test function Marshalling
210 */
HWTEST_F(AccessibilityElementInfoParcelTest, Action_Marshalling_001, TestSize.Level1)211 HWTEST_F(AccessibilityElementInfoParcelTest, Action_Marshalling_001, TestSize.Level1)
212 {
213 GTEST_LOG_(INFO) << "Action_Marshalling_001 start";
214 if (!actionParcel_) {
215 GTEST_LOG_(INFO) << "actionParcel_ is null";
216 return;
217 }
218
219 Parcel parcel;
220 bool ret = actionParcel_->Marshalling(parcel);
221 EXPECT_EQ(ret, true);
222 GTEST_LOG_(INFO) << "Action_Marshalling_001 end";
223 }
224
225 /**
226 * @tc.number: Action_Unmarshalling_001
227 * @tc.name: Action_Unmarshalling
228 * @tc.desc: Test function Unmarshalling
229 */
HWTEST_F(AccessibilityElementInfoParcelTest, Action_Unmarshalling_001, TestSize.Level1)230 HWTEST_F(AccessibilityElementInfoParcelTest, Action_Unmarshalling_001, TestSize.Level1)
231 {
232 GTEST_LOG_(INFO) << "Action_Unmarshalling_001 start";
233 if (!actionParcel_) {
234 GTEST_LOG_(INFO) << "actionParcel_ is null";
235 return;
236 }
237
238 Parcel parcel;
239 sptr<AccessibleActionParcel> actionParcel = actionParcel_->Unmarshalling(parcel);
240 EXPECT_EQ(true, actionParcel == nullptr);
241 GTEST_LOG_(INFO) << "Action_Unmarshalling_001 end";
242 }
243
244 /**
245 * @tc.number: Range_Info_Marshalling_001
246 * @tc.name: Range_Info_Marshalling
247 * @tc.desc: Test function Marshalling
248 */
HWTEST_F(AccessibilityElementInfoParcelTest, Range_Info_Marshalling_001, TestSize.Level1)249 HWTEST_F(AccessibilityElementInfoParcelTest, Range_Info_Marshalling_001, TestSize.Level1)
250 {
251 GTEST_LOG_(INFO) << "Range_Info_Marshalling_001 start";
252 if (!rangeInfoParcel_) {
253 GTEST_LOG_(INFO) << "rangeInfoParcel_ is null";
254 return;
255 }
256
257 Parcel parcel;
258 bool ret = rangeInfoParcel_->Marshalling(parcel);
259 EXPECT_EQ(ret, true);
260 GTEST_LOG_(INFO) << "Range_Info_Marshalling_001 end";
261 }
262
263 /**
264 * @tc.number: Range_Info_Unmarshalling_001
265 * @tc.name: Range_Info_Unmarshalling
266 * @tc.desc: Test function Unmarshalling
267 */
HWTEST_F(AccessibilityElementInfoParcelTest, Range_Info_Unmarshalling_001, TestSize.Level1)268 HWTEST_F(AccessibilityElementInfoParcelTest, Range_Info_Unmarshalling_001, TestSize.Level1)
269 {
270 GTEST_LOG_(INFO) << "Range_Info_Unmarshalling_001 start";
271 if (!rangeInfoParcel_) {
272 GTEST_LOG_(INFO) << "rangeInfoParcel_ is null";
273 return;
274 }
275
276 Parcel parcel;
277 sptr<RangeInfoParcel> rangeInfoParcel = rangeInfoParcel_->Unmarshalling(parcel);
278 EXPECT_EQ(true, rangeInfoParcel == nullptr);
279 GTEST_LOG_(INFO) << "Range_Info_Unmarshalling_001 end";
280 }
281
282 /**
283 * @tc.number: Grid_Info_Marshalling_001
284 * @tc.name: Grid_Info_Marshalling
285 * @tc.desc: Test function Marshalling
286 */
HWTEST_F(AccessibilityElementInfoParcelTest, Grid_Info_Marshalling_001, TestSize.Level1)287 HWTEST_F(AccessibilityElementInfoParcelTest, Grid_Info_Marshalling_001, TestSize.Level1)
288 {
289 GTEST_LOG_(INFO) << "Grid_Info_Marshalling_001 start";
290 if (!gridInfoParcel_) {
291 GTEST_LOG_(INFO) << "gridInfoParcel_ is null";
292 return;
293 }
294
295 Parcel parcel;
296 bool ret = gridInfoParcel_->Marshalling(parcel);
297 EXPECT_EQ(ret, true);
298 GTEST_LOG_(INFO) << "Grid_Info_Marshalling_001 end";
299 }
300
301 /**
302 * @tc.number: Grid_Info_Unmarshalling_001
303 * @tc.name: Grid_Info_Unmarshalling
304 * @tc.desc: Test function Unmarshalling
305 */
HWTEST_F(AccessibilityElementInfoParcelTest, Grid_Info_Unmarshalling_001, TestSize.Level1)306 HWTEST_F(AccessibilityElementInfoParcelTest, Grid_Info_Unmarshalling_001, TestSize.Level1)
307 {
308 GTEST_LOG_(INFO) << "Grid_Info_Unmarshalling_001 start";
309 if (!gridInfoParcel_) {
310 GTEST_LOG_(INFO) << "gridInfoParcel_ is null";
311 return;
312 }
313
314 Parcel parcel;
315 sptr<GridInfoParcel> gridInfoParcel = gridInfoParcel_->Unmarshalling(parcel);
316 EXPECT_EQ(true, gridInfoParcel == nullptr);
317 GTEST_LOG_(INFO) << "Grid_Info_Unmarshalling_001 end";
318 }
319
320 /**
321 * @tc.number: Extra_Element_Info_Parcel__001
322 * @tc.name: Extra_Element_Info_Parcel
323 * @tc.desc: Test function ReadFromParcel
324 */
HWTEST_F(AccessibilityElementInfoParcelTest, Extra_Element_Info_Parcel__001, TestSize.Level1)325 HWTEST_F(AccessibilityElementInfoParcelTest, Extra_Element_Info_Parcel__001, TestSize.Level1)
326 {
327 GTEST_LOG_(INFO) << "Extra_Element_Info_Parcel__001 start";
328 if (!extraElementInfoParcel_) {
329 GTEST_LOG_(INFO) << "extraElementInfoParcel_ is null";
330 return;
331 }
332
333 Parcel parcel;
334 EXPECT_EQ(false, extraElementInfoParcel_->ReadFromParcel(parcel));
335 GTEST_LOG_(INFO) << "Extra_Element_Info_Parcel__001 end";
336 }
337
338 /**
339 * @tc.number: Extra_Element_Info_Parcel__002
340 * @tc.name: Extra_Element_Info_Parcel
341 * @tc.desc: Test function Unmarshalling
342 */
HWTEST_F(AccessibilityElementInfoParcelTest, Extra_Element_Info_Parcel__002, TestSize.Level1)343 HWTEST_F(AccessibilityElementInfoParcelTest, Extra_Element_Info_Parcel__002, TestSize.Level1)
344 {
345 GTEST_LOG_(INFO) << "Extra_Element_Info_Parcel__002 start";
346 if (!extraElementInfoParcel_) {
347 GTEST_LOG_(INFO) << "extraElementInfoParcel_ is null";
348 return;
349 }
350
351 Parcel parcel;
352 sptr<ExtraElementInfoParcel> extraElementInfoParcel = extraElementInfoParcel_->Unmarshalling(parcel);
353 EXPECT_EQ(true, extraElementInfoParcel == nullptr);
354 GTEST_LOG_(INFO) << "Extra_Element_Info_Parcel__002 end";
355 }
356 } // namespace Accessibility
357 } // namespace OHOS