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 
18 #include "oh_input_manager.h"
19 #include "oh_key_code.h"
20 
21 namespace OHOS {
22 namespace MMI {
23 namespace {
24 using namespace testing::ext;
25 } // namespace
26 
27 class InputNativeTest : public testing::Test {
28 public:
SetUpTestCase(void)29     static void SetUpTestCase(void) {}
TearDownTestCase(void)30     static void TearDownTestCase(void) {}
31 
SetUp()32     void SetUp() {}
TearDown()33     void TearDown() {}
34 };
35 
36 /**
37  * @tc.name: InputNativeTest_KeyState_001
38  * @tc.desc: Verify the create and destroy of key states
39  * @tc.type: FUNC
40  * @tc.require:
41  */
HWTEST_F(InputNativeTest, InputNativeTest_KeyState_001, TestSize.Level1)42 HWTEST_F(InputNativeTest, InputNativeTest_KeyState_001, TestSize.Level1)
43 {
44     struct Input_KeyState *keyState = OH_Input_CreateKeyState();
45     if (keyState == nullptr) {
46         ASSERT_EQ(keyState, nullptr);
47     } else {
48         ASSERT_NE(keyState, nullptr);
49         OH_Input_DestroyKeyState(&keyState);
50     }
51 }
52 
53 /**
54  * @tc.name: InputNativeTest_KeyCode_001
55  * @tc.desc: Verify the set and get of key states
56  * @tc.type: FUNC
57  * @tc.require:
58  */
HWTEST_F(InputNativeTest, InputNativeTest_KeyCode_001, TestSize.Level1)59 HWTEST_F(InputNativeTest, InputNativeTest_KeyCode_001, TestSize.Level1)
60 {
61     struct Input_KeyState *keyState = OH_Input_CreateKeyState();
62     ASSERT_NE(keyState, nullptr);
63     OH_Input_SetKeyCode(keyState, 2000);
64     int32_t keyCode = OH_Input_GetKeyCode(keyState);
65     ASSERT_EQ(keyCode, 2000);
66     OH_Input_DestroyKeyState(&keyState);
67 }
68 
69 /**
70  * @tc.name: InputNativeTest_KeyPressed_001
71  * @tc.desc: Verify the set and get of key pressed
72  * @tc.type: FUNC
73  * @tc.require:
74  */
HWTEST_F(InputNativeTest, InputNativeTest_KeyPressed_001, TestSize.Level1)75 HWTEST_F(InputNativeTest, InputNativeTest_KeyPressed_001, TestSize.Level1)
76 {
77     struct Input_KeyState *keyState = OH_Input_CreateKeyState();
78     ASSERT_NE(keyState, nullptr);
79     OH_Input_SetKeyPressed(keyState, 0);
80     int32_t keyAction = OH_Input_GetKeyPressed(keyState);
81     ASSERT_EQ(keyAction, 0);
82     OH_Input_DestroyKeyState(&keyState);
83 }
84 
85 /**
86  * @tc.name: InputNativeTest_KeySwitch_001
87  * @tc.desc: Verify the set and get of key switch
88  * @tc.type: FUNC
89  * @tc.require:
90  */
HWTEST_F(InputNativeTest, InputNativeTest_KeySwitch_001, TestSize.Level1)91 HWTEST_F(InputNativeTest, InputNativeTest_KeySwitch_001, TestSize.Level1)
92 {
93     struct Input_KeyState *keyState = OH_Input_CreateKeyState();
94     ASSERT_NE(keyState, nullptr);
95     OH_Input_SetKeySwitch(keyState, 2);
96     int32_t keySwitch = OH_Input_GetKeySwitch(keyState);
97     ASSERT_EQ(keySwitch, 2);
98     OH_Input_DestroyKeyState(&keyState);
99 }
100 
101 /**
102  * @tc.name: InputNativeTest_GetKeyState_001
103  * @tc.desc: Verify the GetKeyState
104  * @tc.type: FUNC
105  * @tc.require:
106  */
HWTEST_F(InputNativeTest, InputNativeTest_GetKeyState_001, TestSize.Level1)107 HWTEST_F(InputNativeTest, InputNativeTest_GetKeyState_001, TestSize.Level1)
108 {
109     struct Input_KeyState* keyState = OH_Input_CreateKeyState();
110     ASSERT_NE(keyState, nullptr);
111     OH_Input_SetKeyCode(keyState, KEYCODE_DPAD_UP);
112     OH_Input_GetKeyState(keyState);
113     EXPECT_EQ(OH_Input_GetKeyPressed(keyState), KEY_RELEASED);
114     EXPECT_EQ(OH_Input_GetKeySwitch(keyState), KEY_DEFAULT);
115     EXPECT_EQ(OH_Input_GetKeyState(keyState), INPUT_SUCCESS);
116     OH_Input_DestroyKeyState(&keyState);
117 }
118 
119 /**
120  * @tc.name: InputNativeTest_InjectKeyEvent_001
121  * @tc.desc: Verify the InjectKeyEvent
122  * @tc.type: FUNC
123  * @tc.require:
124  */
HWTEST_F(InputNativeTest, InputNativeTest_InjectKeyEvent_001, TestSize.Level1)125 HWTEST_F(InputNativeTest, InputNativeTest_InjectKeyEvent_001, TestSize.Level1)
126 {
127     Input_KeyEvent *keyEvent = OH_Input_CreateKeyEvent();
128     ASSERT_NE(keyEvent, nullptr);
129     OH_Input_SetKeyEventAction(keyEvent, KEY_ACTION_DOWN);
130     OH_Input_SetKeyEventKeyCode(keyEvent, KEYCODE_UNKNOWN);
131     OH_Input_SetKeyEventActionTime(keyEvent, -1);
132     int32_t retResult = OH_Input_InjectKeyEvent(keyEvent);
133     EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
134     OH_Input_SetKeyEventAction(keyEvent, KEY_ACTION_UP);
135     OH_Input_SetKeyEventKeyCode(keyEvent, KEYCODE_UNKNOWN);
136     OH_Input_SetKeyEventActionTime(keyEvent, -1);
137     retResult = OH_Input_InjectKeyEvent(keyEvent);
138     EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
139     OH_Input_CancelInjection();
140     OH_Input_DestroyKeyEvent(&keyEvent);
141     EXPECT_EQ(keyEvent, nullptr);
142 }
143 
144 /**
145  * @tc.name: InputNativeTest_KeyEventAction_001
146  * @tc.desc: Verify the set and get of keyEvent action
147  * @tc.type: FUNC
148  * @tc.require:
149  */
HWTEST_F(InputNativeTest, InputNativeTest_KeyEventAction_001, TestSize.Level1)150 HWTEST_F(InputNativeTest, InputNativeTest_KeyEventAction_001, TestSize.Level1)
151 {
152     Input_KeyEvent *keyEvent = OH_Input_CreateKeyEvent();
153     ASSERT_NE(keyEvent, nullptr);
154     OH_Input_SetKeyEventAction(keyEvent, KEY_ACTION_DOWN);
155     int32_t action = OH_Input_GetKeyEventAction(keyEvent);
156     EXPECT_EQ(action, KEY_ACTION_DOWN);
157     OH_Input_DestroyKeyEvent(&keyEvent);
158     EXPECT_EQ(keyEvent, nullptr);
159 }
160 
161 /**
162  * @tc.name: InputNativeTest_KeyEventKeyCode_001
163  * @tc.desc: Verify the set and get of keyEvent code
164  * @tc.type: FUNC
165  * @tc.require:
166  */
HWTEST_F(InputNativeTest, InputNativeTest_KeyEventKeyCode_001, TestSize.Level1)167 HWTEST_F(InputNativeTest, InputNativeTest_KeyEventKeyCode_001, TestSize.Level1)
168 {
169     Input_KeyEvent *keyEvent = OH_Input_CreateKeyEvent();
170     ASSERT_NE(keyEvent, nullptr);
171     OH_Input_SetKeyEventKeyCode(keyEvent, KEYCODE_A);
172     int32_t keyCode = OH_Input_GetKeyEventKeyCode(keyEvent);
173     EXPECT_EQ(keyCode, KEYCODE_A);
174     OH_Input_DestroyKeyEvent(&keyEvent);
175     EXPECT_EQ(keyEvent, nullptr);
176 }
177 
178 /**
179  * @tc.name: InputNativeTest_KeyEventActionTime_001
180  * @tc.desc: Verify the set and get of keyEvent time
181  * @tc.type: FUNC
182  * @tc.require:
183  */
HWTEST_F(InputNativeTest, InputNativeTest_KeyEventActionTime_001, TestSize.Level1)184 HWTEST_F(InputNativeTest, InputNativeTest_KeyEventActionTime_001, TestSize.Level1)
185 {
186     Input_KeyEvent *keyEvent = OH_Input_CreateKeyEvent();
187     ASSERT_NE(keyEvent, nullptr);
188     OH_Input_SetKeyEventActionTime(keyEvent, 200);
189     int64_t actionTime = OH_Input_GetKeyEventActionTime(keyEvent);
190     EXPECT_EQ(actionTime, 200);
191     OH_Input_DestroyKeyEvent(&keyEvent);
192     EXPECT_EQ(keyEvent, nullptr);
193 }
194 
195 /**
196  * @tc.name: InputNativeTest_InjectMouseEvent_001
197  * @tc.desc: Verify the InjectMouseEvent
198  * @tc.type: FUNC
199  * @tc.require:
200  */
HWTEST_F(InputNativeTest, InputNativeTest_InjectMouseEvent_001, TestSize.Level1)201 HWTEST_F(InputNativeTest, InputNativeTest_InjectMouseEvent_001, TestSize.Level1)
202 {
203     Input_MouseEvent *mouseEvent = OH_Input_CreateMouseEvent();
204     ASSERT_NE(mouseEvent, nullptr);
205     OH_Input_SetMouseEventAction(mouseEvent, MOUSE_ACTION_MOVE);
206     OH_Input_SetMouseEventDisplayX(mouseEvent, 350);
207     OH_Input_SetMouseEventDisplayY(mouseEvent, 350);
208     OH_Input_SetMouseEventButton(mouseEvent, -2);
209     OH_Input_SetMouseEventActionTime(mouseEvent, -1);
210     int32_t retResult = OH_Input_InjectMouseEvent(mouseEvent);
211     EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
212     OH_Input_DestroyMouseEvent(&mouseEvent);
213     EXPECT_EQ(mouseEvent, nullptr);
214 }
215 
216 /**
217  * @tc.name: InputNativeTest_InjectMouseEvent_002
218  * @tc.desc: Verify the InjectMouseEvent
219  * @tc.type: FUNC
220  * @tc.require:
221  */
HWTEST_F(InputNativeTest, InputNativeTest_InjectMouseEvent_002, TestSize.Level1)222 HWTEST_F(InputNativeTest, InputNativeTest_InjectMouseEvent_002, TestSize.Level1)
223 {
224     Input_MouseEvent *mouseEvent = OH_Input_CreateMouseEvent();
225     ASSERT_NE(mouseEvent, nullptr);
226     OH_Input_SetMouseEventAction(mouseEvent, MOUSE_ACTION_AXIS_BEGIN);
227     OH_Input_SetMouseEventDisplayX(mouseEvent, 350);
228     OH_Input_SetMouseEventDisplayY(mouseEvent, 350);
229     OH_Input_SetMouseEventAxisType(mouseEvent, MOUSE_AXIS_SCROLL_VERTICAL);
230     OH_Input_SetMouseEventAxisValue(mouseEvent, 1.1);
231     OH_Input_SetMouseEventButton(mouseEvent, -2);
232     OH_Input_SetMouseEventActionTime(mouseEvent, -1);
233     int32_t retResult = OH_Input_InjectMouseEvent(mouseEvent);
234     EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
235     OH_Input_SetMouseEventAction(mouseEvent, MOUSE_ACTION_AXIS_END);
236     OH_Input_SetMouseEventDisplayX(mouseEvent, 350);
237     OH_Input_SetMouseEventDisplayY(mouseEvent, 350);
238     OH_Input_SetMouseEventAxisType(mouseEvent, MOUSE_AXIS_SCROLL_VERTICAL);
239     OH_Input_SetMouseEventAxisValue(mouseEvent, 1.1);
240     OH_Input_SetMouseEventButton(mouseEvent, -2);
241     OH_Input_SetMouseEventActionTime(mouseEvent, -1);
242     retResult = OH_Input_InjectMouseEvent(mouseEvent);
243     EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
244     OH_Input_DestroyMouseEvent(&mouseEvent);
245     EXPECT_EQ(mouseEvent, nullptr);
246 }
247 
248 /**
249  * @tc.name: InputNativeTest_MouseEventAction_001
250  * @tc.desc: Verify the set and get of mouseEvent action
251  * @tc.type: FUNC
252  * @tc.require:
253  */
HWTEST_F(InputNativeTest, InputNativeTest_MouseEventAction_001, TestSize.Level1)254 HWTEST_F(InputNativeTest, InputNativeTest_MouseEventAction_001, TestSize.Level1)
255 {
256     Input_MouseEvent *mouseEvent = OH_Input_CreateMouseEvent();
257     ASSERT_NE(mouseEvent, nullptr);
258     OH_Input_SetMouseEventAction(mouseEvent, MOUSE_ACTION_BUTTON_DOWN);
259     int32_t action = OH_Input_GetMouseEventAction(mouseEvent);
260     EXPECT_EQ(action, MOUSE_ACTION_BUTTON_DOWN);
261     OH_Input_DestroyMouseEvent(&mouseEvent);
262     EXPECT_EQ(mouseEvent, nullptr);
263 }
264 
265 /**
266  * @tc.name: InputNativeTest_MouseEventDisplayX_001
267  * @tc.desc: Verify the set and get of mouseEvent displayX
268  * @tc.type: FUNC
269  * @tc.require:
270  */
HWTEST_F(InputNativeTest, InputNativeTest_MouseEventDisplayX_001, TestSize.Level1)271 HWTEST_F(InputNativeTest, InputNativeTest_MouseEventDisplayX_001, TestSize.Level1)
272 {
273     Input_MouseEvent *mouseEvent = OH_Input_CreateMouseEvent();
274     ASSERT_NE(mouseEvent, nullptr);
275     OH_Input_SetMouseEventDisplayX(mouseEvent, 100);
276     int32_t displayX = OH_Input_GetMouseEventDisplayX(mouseEvent);
277     EXPECT_EQ(displayX, 100);
278     OH_Input_DestroyMouseEvent(&mouseEvent);
279     EXPECT_EQ(mouseEvent, nullptr);
280 }
281 
282 /**
283  * @tc.name: InputNativeTest_MouseEventDisplayY_001
284  * @tc.desc: Verify the set and get of mouseEvent displayY
285  * @tc.type: FUNC
286  * @tc.require:
287  */
HWTEST_F(InputNativeTest, InputNativeTest_MouseEventDisplayY_001, TestSize.Level1)288 HWTEST_F(InputNativeTest, InputNativeTest_MouseEventDisplayY_001, TestSize.Level1)
289 {
290     Input_MouseEvent *mouseEvent = OH_Input_CreateMouseEvent();
291     ASSERT_NE(mouseEvent, nullptr);
292     OH_Input_SetMouseEventDisplayY(mouseEvent, 100);
293     int32_t displayY = OH_Input_GetMouseEventDisplayY(mouseEvent);
294     EXPECT_EQ(displayY, 100);
295     OH_Input_DestroyMouseEvent(&mouseEvent);
296     EXPECT_EQ(mouseEvent, nullptr);
297 }
298 
299 /**
300  * @tc.name: InputNativeTest_MouseEventButton_001
301  * @tc.desc: Verify the set and get of mouseEvent button
302  * @tc.type: FUNC
303  * @tc.require:
304  */
HWTEST_F(InputNativeTest, InputNativeTest_MouseEventButton_001, TestSize.Level1)305 HWTEST_F(InputNativeTest, InputNativeTest_MouseEventButton_001, TestSize.Level1)
306 {
307     Input_MouseEvent *mouseEvent = OH_Input_CreateMouseEvent();
308     ASSERT_NE(mouseEvent, nullptr);
309     OH_Input_SetMouseEventButton(mouseEvent, MOUSE_BUTTON_LEFT);
310     int32_t button = OH_Input_GetMouseEventButton(mouseEvent);
311     EXPECT_EQ(button, MOUSE_BUTTON_LEFT);
312     OH_Input_DestroyMouseEvent(&mouseEvent);
313     EXPECT_EQ(mouseEvent, nullptr);
314 }
315 
316 /**
317  * @tc.name: InputNativeTest_MouseEventAxisType_001
318  * @tc.desc: Verify the set and get of mouseEvent axisType
319  * @tc.type: FUNC
320  * @tc.require:
321  */
HWTEST_F(InputNativeTest, InputNativeTest_MouseEventAxisType_001, TestSize.Level1)322 HWTEST_F(InputNativeTest, InputNativeTest_MouseEventAxisType_001, TestSize.Level1)
323 {
324     Input_MouseEvent *mouseEvent = OH_Input_CreateMouseEvent();
325     ASSERT_NE(mouseEvent, nullptr);
326     OH_Input_SetMouseEventAxisType(mouseEvent, MOUSE_AXIS_SCROLL_VERTICAL);
327     int32_t axisType = OH_Input_GetMouseEventAxisType(mouseEvent);
328     EXPECT_EQ(axisType, MOUSE_BUTTON_LEFT);
329     OH_Input_DestroyMouseEvent(&mouseEvent);
330     EXPECT_EQ(mouseEvent, nullptr);
331 }
332 
333 /**
334  * @tc.name: InputNativeTest_MouseEventAxisValue_001
335  * @tc.desc: Verify the set and get of mouseEvent axisValue
336  * @tc.type: FUNC
337  * @tc.require:
338  */
HWTEST_F(InputNativeTest, InputNativeTest_MouseEventAxisValue_001, TestSize.Level1)339 HWTEST_F(InputNativeTest, InputNativeTest_MouseEventAxisValue_001, TestSize.Level1)
340 {
341     Input_MouseEvent *mouseEvent = OH_Input_CreateMouseEvent();
342     ASSERT_NE(mouseEvent, nullptr);
343     OH_Input_SetMouseEventAxisValue(mouseEvent, 15.0);
344     float axisValue = OH_Input_GetMouseEventAxisValue(mouseEvent);
345     EXPECT_EQ(axisValue, 15.0);
346     OH_Input_DestroyMouseEvent(&mouseEvent);
347     EXPECT_EQ(mouseEvent, nullptr);
348 }
349 
350 /**
351  * @tc.name: InputNativeTest_MouseEventActionTime_001
352  * @tc.desc: Verify the set and get of mouseEvent actionTime
353  * @tc.type: FUNC
354  * @tc.require:
355  */
HWTEST_F(InputNativeTest, InputNativeTest_MouseEventActionTime_001, TestSize.Level1)356 HWTEST_F(InputNativeTest, InputNativeTest_MouseEventActionTime_001, TestSize.Level1)
357 {
358     Input_MouseEvent *mouseEvent = OH_Input_CreateMouseEvent();
359     ASSERT_NE(mouseEvent, nullptr);
360     OH_Input_SetMouseEventActionTime(mouseEvent, 200);
361     int64_t actionTime = OH_Input_GetMouseEventActionTime(mouseEvent);
362     EXPECT_EQ(actionTime, 200);
363     OH_Input_DestroyMouseEvent(&mouseEvent);
364     EXPECT_EQ(mouseEvent, nullptr);
365 }
366 
367 /**
368  * @tc.name: InputNativeTest_InjectTouchEvent_001
369  * @tc.desc: Verify the InjectTouchEvent
370  * @tc.type: FUNC
371  * @tc.require:
372  */
HWTEST_F(InputNativeTest, InputNativeTest_InjectTouchEvent_001, TestSize.Level1)373 HWTEST_F(InputNativeTest, InputNativeTest_InjectTouchEvent_001, TestSize.Level1)
374 {
375     Input_TouchEvent *touchEvent = OH_Input_CreateTouchEvent();
376     ASSERT_NE(touchEvent, nullptr);
377     OH_Input_SetTouchEventAction(touchEvent, TOUCH_ACTION_DOWN);
378     OH_Input_SetTouchEventFingerId(touchEvent, 0);
379     OH_Input_SetTouchEventDisplayX(touchEvent, 671);
380     OH_Input_SetTouchEventDisplayY(touchEvent, -10);
381     OH_Input_SetTouchEventActionTime(touchEvent, -1);
382     int32_t retResult = OH_Input_InjectTouchEvent(touchEvent);
383     EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
384     OH_Input_SetTouchEventAction(touchEvent, TOUCH_ACTION_UP);
385     OH_Input_SetTouchEventFingerId(touchEvent, 0);
386     OH_Input_SetTouchEventDisplayX(touchEvent, 671);
387     OH_Input_SetTouchEventDisplayY(touchEvent, -10);
388     OH_Input_SetTouchEventActionTime(touchEvent, -1);
389     retResult = OH_Input_InjectTouchEvent(touchEvent);
390     EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
391     OH_Input_DestroyTouchEvent(&touchEvent);
392     EXPECT_EQ(touchEvent, nullptr);
393 }
394 
395 /**
396  * @tc.name: InputNativeTest_TouchEventAction_001
397  * @tc.desc: Verify the set and get of touchEvent action
398  * @tc.type: FUNC
399  * @tc.require:
400  */
HWTEST_F(InputNativeTest, InputNativeTest_TouchEventAction_001, TestSize.Level1)401 HWTEST_F(InputNativeTest, InputNativeTest_TouchEventAction_001, TestSize.Level1)
402 {
403     Input_TouchEvent *touchEvent = OH_Input_CreateTouchEvent();
404     ASSERT_NE(touchEvent, nullptr);
405     OH_Input_SetTouchEventAction(touchEvent, TOUCH_ACTION_DOWN);
406     int32_t action = OH_Input_GetTouchEventAction(touchEvent);
407     EXPECT_EQ(action, TOUCH_ACTION_DOWN);
408     OH_Input_DestroyTouchEvent(&touchEvent);
409     EXPECT_EQ(touchEvent, nullptr);
410 }
411 
412 /**
413  * @tc.name: InputNativeTest_TouchEventFingerId_001
414  * @tc.desc: Verify the set and get of touchEvent id
415  * @tc.type: FUNC
416  * @tc.require:
417  */
HWTEST_F(InputNativeTest, InputNativeTest_TouchEventFingerId_001, TestSize.Level1)418 HWTEST_F(InputNativeTest, InputNativeTest_TouchEventFingerId_001, TestSize.Level1)
419 {
420     Input_TouchEvent *touchEvent = OH_Input_CreateTouchEvent();
421     ASSERT_NE(touchEvent, nullptr);
422     OH_Input_SetTouchEventFingerId(touchEvent, 0);
423     int32_t id = OH_Input_GetTouchEventFingerId(touchEvent);
424     EXPECT_EQ(id, 0);
425     OH_Input_DestroyTouchEvent(&touchEvent);
426     EXPECT_EQ(touchEvent, nullptr);
427 }
428 
429 /**
430  * @tc.name: InputNativeTest_TouchEventDisplayX_001
431  * @tc.desc: Verify the set and get of touchEvent displayX
432  * @tc.type: FUNC
433  * @tc.require:
434  */
HWTEST_F(InputNativeTest, InputNativeTest_TouchEventDisplayX_001, TestSize.Level1)435 HWTEST_F(InputNativeTest, InputNativeTest_TouchEventDisplayX_001, TestSize.Level1)
436 {
437     Input_TouchEvent *touchEvent = OH_Input_CreateTouchEvent();
438     ASSERT_NE(touchEvent, nullptr);
439     OH_Input_SetTouchEventDisplayX(touchEvent, 100);
440     int32_t displayX = OH_Input_GetTouchEventDisplayX(touchEvent);
441     EXPECT_EQ(displayX, 100);
442     OH_Input_DestroyTouchEvent(&touchEvent);
443     EXPECT_EQ(touchEvent, nullptr);
444 }
445 
446 /**
447  * @tc.name: InputNativeTest_TouchEventDisplayY_001
448  * @tc.desc: Verify the set and get of touchEvent displayY
449  * @tc.type: FUNC
450  * @tc.require:
451  */
HWTEST_F(InputNativeTest, InputNativeTest_TouchEventDisplayY_001, TestSize.Level1)452 HWTEST_F(InputNativeTest, InputNativeTest_TouchEventDisplayY_001, TestSize.Level1)
453 {
454     Input_TouchEvent *touchEvent = OH_Input_CreateTouchEvent();
455     ASSERT_NE(touchEvent, nullptr);
456     OH_Input_SetTouchEventDisplayY(touchEvent, 100);
457     int32_t displayY = OH_Input_GetTouchEventDisplayY(touchEvent);
458     EXPECT_EQ(displayY, 100);
459     OH_Input_DestroyTouchEvent(&touchEvent);
460     EXPECT_EQ(touchEvent, nullptr);
461 }
462 
463 /**
464  * @tc.name: InputNativeTest_TouchEventActionTime_001
465  * @tc.desc: Verify the set and get of touchEvent actionTime
466  * @tc.type: FUNC
467  * @tc.require:
468  */
HWTEST_F(InputNativeTest, InputNativeTest_TouchEventActionTime_001, TestSize.Level1)469 HWTEST_F(InputNativeTest, InputNativeTest_TouchEventActionTime_001, TestSize.Level1)
470 {
471     Input_TouchEvent *touchEvent = OH_Input_CreateTouchEvent();
472     ASSERT_NE(touchEvent, nullptr);
473     OH_Input_SetTouchEventActionTime(touchEvent, 200);
474     int64_t actionTime = OH_Input_GetTouchEventActionTime(touchEvent);
475     EXPECT_EQ(actionTime, 200);
476     OH_Input_DestroyTouchEvent(&touchEvent);
477     EXPECT_EQ(touchEvent, nullptr);
478 }
479 } // namespace MMI
480 } // namespace OHOS