1c29fa5a6Sopenharmony_ci/*
2c29fa5a6Sopenharmony_ci * Copyright (c) 2021-2024 Huawei Device Co., Ltd.
3c29fa5a6Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4c29fa5a6Sopenharmony_ci * you may not use this file except in compliance with the License.
5c29fa5a6Sopenharmony_ci * You may obtain a copy of the License at
6c29fa5a6Sopenharmony_ci *
7c29fa5a6Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0
8c29fa5a6Sopenharmony_ci *
9c29fa5a6Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10c29fa5a6Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11c29fa5a6Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12c29fa5a6Sopenharmony_ci * See the License for the specific language governing permissions and
13c29fa5a6Sopenharmony_ci * limitations under the License.
14c29fa5a6Sopenharmony_ci */
15c29fa5a6Sopenharmony_ci
16c29fa5a6Sopenharmony_ci#include <gtest/gtest.h>
17c29fa5a6Sopenharmony_ci
18c29fa5a6Sopenharmony_ci#include "input_manager.h"
19c29fa5a6Sopenharmony_ci#include "key_event.h"
20c29fa5a6Sopenharmony_ci#include "mmi_log.h"
21c29fa5a6Sopenharmony_ci#include "oh_input_manager.h"
22c29fa5a6Sopenharmony_ci#include "oh_key_code.h"
23c29fa5a6Sopenharmony_ci#ifdef OHOS_BUILD_ENABLE_INFRARED_EMITTER
24c29fa5a6Sopenharmony_ci#include "infrared_emitter_controller.h"
25c29fa5a6Sopenharmony_ci#endif
26c29fa5a6Sopenharmony_ci
27c29fa5a6Sopenharmony_ci#undef MMI_LOG_TAG
28c29fa5a6Sopenharmony_ci#define MMI_LOG_TAG "InputNativeTest"
29c29fa5a6Sopenharmony_ci
30c29fa5a6Sopenharmony_cinamespace OHOS {
31c29fa5a6Sopenharmony_cinamespace MMI {
32c29fa5a6Sopenharmony_cinamespace {
33c29fa5a6Sopenharmony_ciusing namespace testing::ext;
34c29fa5a6Sopenharmony_ci
35c29fa5a6Sopenharmony_ciconstexpr float DISPLAY_X { 100.0 };
36c29fa5a6Sopenharmony_ciconstexpr float DISPLAY_Y { 200.0 };
37c29fa5a6Sopenharmony_ciconstexpr double DEFAULT_AXIS_VALUE { 50.0 };
38c29fa5a6Sopenharmony_ciconstexpr double AXIS_VALUE { 100.0 };
39c29fa5a6Sopenharmony_ciconstexpr int64_t DEFAULT_ACTIONE_TIME { 10 };
40c29fa5a6Sopenharmony_ciconstexpr int64_t ACTIONE_TIME { 20 };
41c29fa5a6Sopenharmony_ci} // namespace
42c29fa5a6Sopenharmony_ci
43c29fa5a6Sopenharmony_ciclass InputNativeTest : public testing::Test {
44c29fa5a6Sopenharmony_cipublic:
45c29fa5a6Sopenharmony_ci    static void SetUpTestCase(void) {}
46c29fa5a6Sopenharmony_ci    static void TearDownTestCase(void) {}
47c29fa5a6Sopenharmony_ci    void SetUp() {}
48c29fa5a6Sopenharmony_ci    void TearDown() {}
49c29fa5a6Sopenharmony_ci};
50c29fa5a6Sopenharmony_ci
51c29fa5a6Sopenharmony_ci/**
52c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_KeyState_001
53c29fa5a6Sopenharmony_ci * @tc.desc: Verify the create and destroy of key states
54c29fa5a6Sopenharmony_ci * @tc.type: FUNC
55c29fa5a6Sopenharmony_ci * @tc.require:
56c29fa5a6Sopenharmony_ci */
57c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_KeyState_001, TestSize.Level1)
58c29fa5a6Sopenharmony_ci{
59c29fa5a6Sopenharmony_ci    struct Input_KeyState* keyState = OH_Input_CreateKeyState();
60c29fa5a6Sopenharmony_ci    if (keyState == nullptr) {
61c29fa5a6Sopenharmony_ci        ASSERT_EQ(keyState, nullptr);
62c29fa5a6Sopenharmony_ci    } else {
63c29fa5a6Sopenharmony_ci        ASSERT_NE(keyState, nullptr);
64c29fa5a6Sopenharmony_ci        OH_Input_DestroyKeyState(&keyState);
65c29fa5a6Sopenharmony_ci    }
66c29fa5a6Sopenharmony_ci}
67c29fa5a6Sopenharmony_ci
68c29fa5a6Sopenharmony_ci/**
69c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_KeyCode_001
70c29fa5a6Sopenharmony_ci * @tc.desc: Verify the set and get of key states
71c29fa5a6Sopenharmony_ci * @tc.type: FUNC
72c29fa5a6Sopenharmony_ci * @tc.require:
73c29fa5a6Sopenharmony_ci */
74c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_KeyCode_001, TestSize.Level1)
75c29fa5a6Sopenharmony_ci{
76c29fa5a6Sopenharmony_ci    struct Input_KeyState* keyState = OH_Input_CreateKeyState();
77c29fa5a6Sopenharmony_ci    ASSERT_NE(keyState, nullptr);
78c29fa5a6Sopenharmony_ci    OH_Input_SetKeyCode(keyState, 2000);
79c29fa5a6Sopenharmony_ci    int32_t keyCode = OH_Input_GetKeyCode(keyState);
80c29fa5a6Sopenharmony_ci    ASSERT_EQ(keyCode, 2000);
81c29fa5a6Sopenharmony_ci    OH_Input_DestroyKeyState(&keyState);
82c29fa5a6Sopenharmony_ci}
83c29fa5a6Sopenharmony_ci
84c29fa5a6Sopenharmony_ci/**
85c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_KeyPressed_001
86c29fa5a6Sopenharmony_ci * @tc.desc: Verify the set and get of key pressed
87c29fa5a6Sopenharmony_ci * @tc.type: FUNC
88c29fa5a6Sopenharmony_ci * @tc.require:
89c29fa5a6Sopenharmony_ci */
90c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_KeyPressed_001, TestSize.Level1)
91c29fa5a6Sopenharmony_ci{
92c29fa5a6Sopenharmony_ci    struct Input_KeyState* keyState = OH_Input_CreateKeyState();
93c29fa5a6Sopenharmony_ci    ASSERT_NE(keyState, nullptr);
94c29fa5a6Sopenharmony_ci    OH_Input_SetKeyPressed(keyState, 0);
95c29fa5a6Sopenharmony_ci    int32_t keyAction = OH_Input_GetKeyPressed(keyState);
96c29fa5a6Sopenharmony_ci    ASSERT_EQ(keyAction, 0);
97c29fa5a6Sopenharmony_ci    OH_Input_DestroyKeyState(&keyState);
98c29fa5a6Sopenharmony_ci}
99c29fa5a6Sopenharmony_ci
100c29fa5a6Sopenharmony_ci/**
101c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_KeySwitch_001
102c29fa5a6Sopenharmony_ci * @tc.desc: Verify the set and get of key switch
103c29fa5a6Sopenharmony_ci * @tc.type: FUNC
104c29fa5a6Sopenharmony_ci * @tc.require:
105c29fa5a6Sopenharmony_ci */
106c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_KeySwitch_001, TestSize.Level1)
107c29fa5a6Sopenharmony_ci{
108c29fa5a6Sopenharmony_ci    struct Input_KeyState* keyState = OH_Input_CreateKeyState();
109c29fa5a6Sopenharmony_ci    ASSERT_NE(keyState, nullptr);
110c29fa5a6Sopenharmony_ci    OH_Input_SetKeySwitch(keyState, 2);
111c29fa5a6Sopenharmony_ci    int32_t keySwitch = OH_Input_GetKeySwitch(keyState);
112c29fa5a6Sopenharmony_ci    ASSERT_EQ(keySwitch, 2);
113c29fa5a6Sopenharmony_ci    OH_Input_DestroyKeyState(&keyState);
114c29fa5a6Sopenharmony_ci}
115c29fa5a6Sopenharmony_ci
116c29fa5a6Sopenharmony_ci/**
117c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_GetKeyState_001
118c29fa5a6Sopenharmony_ci * @tc.desc: Verify the GetKeyState
119c29fa5a6Sopenharmony_ci * @tc.type: FUNC
120c29fa5a6Sopenharmony_ci * @tc.require:
121c29fa5a6Sopenharmony_ci */
122c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_GetKeyState_001, TestSize.Level1)
123c29fa5a6Sopenharmony_ci{
124c29fa5a6Sopenharmony_ci    struct Input_KeyState* keyState = OH_Input_CreateKeyState();
125c29fa5a6Sopenharmony_ci    ASSERT_NE(keyState, nullptr);
126c29fa5a6Sopenharmony_ci    OH_Input_SetKeyCode(keyState, KEYCODE_DPAD_UP);
127c29fa5a6Sopenharmony_ci    OH_Input_GetKeyState(keyState);
128c29fa5a6Sopenharmony_ci    EXPECT_EQ(OH_Input_GetKeyPressed(keyState), KEY_RELEASED);
129c29fa5a6Sopenharmony_ci    EXPECT_EQ(OH_Input_GetKeySwitch(keyState), KEY_DEFAULT);
130c29fa5a6Sopenharmony_ci    EXPECT_EQ(OH_Input_GetKeyState(keyState), INPUT_SUCCESS);
131c29fa5a6Sopenharmony_ci    OH_Input_DestroyKeyState(&keyState);
132c29fa5a6Sopenharmony_ci}
133c29fa5a6Sopenharmony_ci
134c29fa5a6Sopenharmony_ci/**
135c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_InjectKeyEvent_001
136c29fa5a6Sopenharmony_ci * @tc.desc: Verify the InjectKeyEvent
137c29fa5a6Sopenharmony_ci * @tc.type: FUNC
138c29fa5a6Sopenharmony_ci * @tc.require:
139c29fa5a6Sopenharmony_ci */
140c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_InjectKeyEvent_001, TestSize.Level1)
141c29fa5a6Sopenharmony_ci{
142c29fa5a6Sopenharmony_ci    Input_KeyEvent* keyEvent = OH_Input_CreateKeyEvent();
143c29fa5a6Sopenharmony_ci    ASSERT_NE(keyEvent, nullptr);
144c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventAction(keyEvent, KEY_ACTION_DOWN);
145c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventKeyCode(keyEvent, KEYCODE_UNKNOWN);
146c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventActionTime(keyEvent, -1);
147c29fa5a6Sopenharmony_ci    int32_t retResult = OH_Input_InjectKeyEvent(keyEvent);
148c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
149c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventAction(keyEvent, KEY_ACTION_UP);
150c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventKeyCode(keyEvent, KEYCODE_UNKNOWN);
151c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventActionTime(keyEvent, -1);
152c29fa5a6Sopenharmony_ci    retResult = OH_Input_InjectKeyEvent(keyEvent);
153c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
154c29fa5a6Sopenharmony_ci    InputManager::GetInstance()->Authorize(true);
155c29fa5a6Sopenharmony_ci    OH_Input_CancelInjection();
156c29fa5a6Sopenharmony_ci    OH_Input_DestroyKeyEvent(&keyEvent);
157c29fa5a6Sopenharmony_ci    EXPECT_EQ(keyEvent, nullptr);
158c29fa5a6Sopenharmony_ci}
159c29fa5a6Sopenharmony_ci
160c29fa5a6Sopenharmony_ci/**
161c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_KeyEventAction_001
162c29fa5a6Sopenharmony_ci * @tc.desc: Verify the set and get of keyEvent action
163c29fa5a6Sopenharmony_ci * @tc.type: FUNC
164c29fa5a6Sopenharmony_ci * @tc.require:
165c29fa5a6Sopenharmony_ci */
166c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_KeyEventAction_001, TestSize.Level1)
167c29fa5a6Sopenharmony_ci{
168c29fa5a6Sopenharmony_ci    Input_KeyEvent* keyEvent = OH_Input_CreateKeyEvent();
169c29fa5a6Sopenharmony_ci    ASSERT_NE(keyEvent, nullptr);
170c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventAction(keyEvent, KEY_ACTION_DOWN);
171c29fa5a6Sopenharmony_ci    int32_t action = OH_Input_GetKeyEventAction(keyEvent);
172c29fa5a6Sopenharmony_ci    EXPECT_EQ(action, KEY_ACTION_DOWN);
173c29fa5a6Sopenharmony_ci    OH_Input_DestroyKeyEvent(&keyEvent);
174c29fa5a6Sopenharmony_ci    EXPECT_EQ(keyEvent, nullptr);
175c29fa5a6Sopenharmony_ci}
176c29fa5a6Sopenharmony_ci
177c29fa5a6Sopenharmony_ci/**
178c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_KeyEventKeyCode_001
179c29fa5a6Sopenharmony_ci * @tc.desc: Verify the set and get of keyEvent code
180c29fa5a6Sopenharmony_ci * @tc.type: FUNC
181c29fa5a6Sopenharmony_ci * @tc.require:
182c29fa5a6Sopenharmony_ci */
183c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_KeyEventKeyCode_001, TestSize.Level1)
184c29fa5a6Sopenharmony_ci{
185c29fa5a6Sopenharmony_ci    Input_KeyEvent* keyEvent = OH_Input_CreateKeyEvent();
186c29fa5a6Sopenharmony_ci    ASSERT_NE(keyEvent, nullptr);
187c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventKeyCode(keyEvent, KEYCODE_A);
188c29fa5a6Sopenharmony_ci    int32_t keyCode = OH_Input_GetKeyEventKeyCode(keyEvent);
189c29fa5a6Sopenharmony_ci    EXPECT_EQ(keyCode, KEYCODE_A);
190c29fa5a6Sopenharmony_ci    OH_Input_DestroyKeyEvent(&keyEvent);
191c29fa5a6Sopenharmony_ci    EXPECT_EQ(keyEvent, nullptr);
192c29fa5a6Sopenharmony_ci}
193c29fa5a6Sopenharmony_ci
194c29fa5a6Sopenharmony_ci/**
195c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_KeyEventActionTime_001
196c29fa5a6Sopenharmony_ci * @tc.desc: Verify the set and get of keyEvent time
197c29fa5a6Sopenharmony_ci * @tc.type: FUNC
198c29fa5a6Sopenharmony_ci * @tc.require:
199c29fa5a6Sopenharmony_ci */
200c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_KeyEventActionTime_001, TestSize.Level1)
201c29fa5a6Sopenharmony_ci{
202c29fa5a6Sopenharmony_ci    Input_KeyEvent* keyEvent = OH_Input_CreateKeyEvent();
203c29fa5a6Sopenharmony_ci    ASSERT_NE(keyEvent, nullptr);
204c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventActionTime(keyEvent, 200);
205c29fa5a6Sopenharmony_ci    int64_t actionTime = OH_Input_GetKeyEventActionTime(keyEvent);
206c29fa5a6Sopenharmony_ci    EXPECT_EQ(actionTime, 200);
207c29fa5a6Sopenharmony_ci    OH_Input_DestroyKeyEvent(&keyEvent);
208c29fa5a6Sopenharmony_ci    EXPECT_EQ(keyEvent, nullptr);
209c29fa5a6Sopenharmony_ci}
210c29fa5a6Sopenharmony_ci
211c29fa5a6Sopenharmony_ci/**
212c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_InjectMouseEvent_001
213c29fa5a6Sopenharmony_ci * @tc.desc: Verify the InjectMouseEvent
214c29fa5a6Sopenharmony_ci * @tc.type: FUNC
215c29fa5a6Sopenharmony_ci * @tc.require:
216c29fa5a6Sopenharmony_ci */
217c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_InjectMouseEvent_001, TestSize.Level1)
218c29fa5a6Sopenharmony_ci{
219c29fa5a6Sopenharmony_ci    Input_MouseEvent* mouseEvent = OH_Input_CreateMouseEvent();
220c29fa5a6Sopenharmony_ci    ASSERT_NE(mouseEvent, nullptr);
221c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAction(mouseEvent, MOUSE_ACTION_MOVE);
222c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventDisplayX(mouseEvent, 350);
223c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventDisplayY(mouseEvent, 350);
224c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventButton(mouseEvent, -2);
225c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventActionTime(mouseEvent, -1);
226c29fa5a6Sopenharmony_ci    int32_t retResult = OH_Input_InjectMouseEvent(mouseEvent);
227c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
228c29fa5a6Sopenharmony_ci    OH_Input_DestroyMouseEvent(&mouseEvent);
229c29fa5a6Sopenharmony_ci    EXPECT_EQ(mouseEvent, nullptr);
230c29fa5a6Sopenharmony_ci}
231c29fa5a6Sopenharmony_ci
232c29fa5a6Sopenharmony_ci/**
233c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_InjectMouseEvent_002
234c29fa5a6Sopenharmony_ci * @tc.desc: Verify the InjectMouseEvent
235c29fa5a6Sopenharmony_ci * @tc.type: FUNC
236c29fa5a6Sopenharmony_ci * @tc.require:
237c29fa5a6Sopenharmony_ci */
238c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_InjectMouseEvent_002, TestSize.Level1)
239c29fa5a6Sopenharmony_ci{
240c29fa5a6Sopenharmony_ci    Input_MouseEvent* mouseEvent = OH_Input_CreateMouseEvent();
241c29fa5a6Sopenharmony_ci    ASSERT_NE(mouseEvent, nullptr);
242c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAction(mouseEvent, MOUSE_ACTION_AXIS_BEGIN);
243c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventDisplayX(mouseEvent, 350);
244c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventDisplayY(mouseEvent, 350);
245c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAxisType(mouseEvent, MOUSE_AXIS_SCROLL_VERTICAL);
246c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAxisValue(mouseEvent, 1.1);
247c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventButton(mouseEvent, -2);
248c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventActionTime(mouseEvent, -1);
249c29fa5a6Sopenharmony_ci    int32_t retResult = OH_Input_InjectMouseEvent(mouseEvent);
250c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
251c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAction(mouseEvent, MOUSE_ACTION_AXIS_END);
252c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventDisplayX(mouseEvent, 350);
253c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventDisplayY(mouseEvent, 350);
254c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAxisType(mouseEvent, MOUSE_AXIS_SCROLL_VERTICAL);
255c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAxisValue(mouseEvent, 1.1);
256c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventButton(mouseEvent, -2);
257c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventActionTime(mouseEvent, -1);
258c29fa5a6Sopenharmony_ci    retResult = OH_Input_InjectMouseEvent(mouseEvent);
259c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
260c29fa5a6Sopenharmony_ci    OH_Input_DestroyMouseEvent(&mouseEvent);
261c29fa5a6Sopenharmony_ci    EXPECT_EQ(mouseEvent, nullptr);
262c29fa5a6Sopenharmony_ci}
263c29fa5a6Sopenharmony_ci
264c29fa5a6Sopenharmony_ci/**
265c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_MouseEventAction_001
266c29fa5a6Sopenharmony_ci * @tc.desc: Verify the set and get of mouseEvent action
267c29fa5a6Sopenharmony_ci * @tc.type: FUNC
268c29fa5a6Sopenharmony_ci * @tc.require:
269c29fa5a6Sopenharmony_ci */
270c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_MouseEventAction_001, TestSize.Level1)
271c29fa5a6Sopenharmony_ci{
272c29fa5a6Sopenharmony_ci    Input_MouseEvent* mouseEvent = OH_Input_CreateMouseEvent();
273c29fa5a6Sopenharmony_ci    ASSERT_NE(mouseEvent, nullptr);
274c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAction(mouseEvent, MOUSE_ACTION_BUTTON_DOWN);
275c29fa5a6Sopenharmony_ci    int32_t action = OH_Input_GetMouseEventAction(mouseEvent);
276c29fa5a6Sopenharmony_ci    EXPECT_EQ(action, MOUSE_ACTION_BUTTON_DOWN);
277c29fa5a6Sopenharmony_ci    OH_Input_DestroyMouseEvent(&mouseEvent);
278c29fa5a6Sopenharmony_ci    EXPECT_EQ(mouseEvent, nullptr);
279c29fa5a6Sopenharmony_ci}
280c29fa5a6Sopenharmony_ci
281c29fa5a6Sopenharmony_ci/**
282c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_MouseEventDisplayX_001
283c29fa5a6Sopenharmony_ci * @tc.desc: Verify the set and get of mouseEvent displayX
284c29fa5a6Sopenharmony_ci * @tc.type: FUNC
285c29fa5a6Sopenharmony_ci * @tc.require:
286c29fa5a6Sopenharmony_ci */
287c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_MouseEventDisplayX_001, TestSize.Level1)
288c29fa5a6Sopenharmony_ci{
289c29fa5a6Sopenharmony_ci    Input_MouseEvent* mouseEvent = OH_Input_CreateMouseEvent();
290c29fa5a6Sopenharmony_ci    ASSERT_NE(mouseEvent, nullptr);
291c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventDisplayX(mouseEvent, 100);
292c29fa5a6Sopenharmony_ci    int32_t displayX = OH_Input_GetMouseEventDisplayX(mouseEvent);
293c29fa5a6Sopenharmony_ci    EXPECT_EQ(displayX, 100);
294c29fa5a6Sopenharmony_ci    OH_Input_DestroyMouseEvent(&mouseEvent);
295c29fa5a6Sopenharmony_ci    EXPECT_EQ(mouseEvent, nullptr);
296c29fa5a6Sopenharmony_ci}
297c29fa5a6Sopenharmony_ci
298c29fa5a6Sopenharmony_ci/**
299c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_MouseEventDisplayY_001
300c29fa5a6Sopenharmony_ci * @tc.desc: Verify the set and get of mouseEvent displayY
301c29fa5a6Sopenharmony_ci * @tc.type: FUNC
302c29fa5a6Sopenharmony_ci * @tc.require:
303c29fa5a6Sopenharmony_ci */
304c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_MouseEventDisplayY_001, TestSize.Level1)
305c29fa5a6Sopenharmony_ci{
306c29fa5a6Sopenharmony_ci    Input_MouseEvent* mouseEvent = OH_Input_CreateMouseEvent();
307c29fa5a6Sopenharmony_ci    ASSERT_NE(mouseEvent, nullptr);
308c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventDisplayY(mouseEvent, 100);
309c29fa5a6Sopenharmony_ci    int32_t displayY = OH_Input_GetMouseEventDisplayY(mouseEvent);
310c29fa5a6Sopenharmony_ci    EXPECT_EQ(displayY, 100);
311c29fa5a6Sopenharmony_ci    OH_Input_DestroyMouseEvent(&mouseEvent);
312c29fa5a6Sopenharmony_ci    EXPECT_EQ(mouseEvent, nullptr);
313c29fa5a6Sopenharmony_ci}
314c29fa5a6Sopenharmony_ci
315c29fa5a6Sopenharmony_ci/**
316c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_MouseEventButton_001
317c29fa5a6Sopenharmony_ci * @tc.desc: Verify the set and get of mouseEvent button
318c29fa5a6Sopenharmony_ci * @tc.type: FUNC
319c29fa5a6Sopenharmony_ci * @tc.require:
320c29fa5a6Sopenharmony_ci */
321c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_MouseEventButton_001, TestSize.Level1)
322c29fa5a6Sopenharmony_ci{
323c29fa5a6Sopenharmony_ci    Input_MouseEvent* mouseEvent = OH_Input_CreateMouseEvent();
324c29fa5a6Sopenharmony_ci    ASSERT_NE(mouseEvent, nullptr);
325c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventButton(mouseEvent, MOUSE_BUTTON_LEFT);
326c29fa5a6Sopenharmony_ci    int32_t button = OH_Input_GetMouseEventButton(mouseEvent);
327c29fa5a6Sopenharmony_ci    EXPECT_EQ(button, MOUSE_BUTTON_LEFT);
328c29fa5a6Sopenharmony_ci    OH_Input_DestroyMouseEvent(&mouseEvent);
329c29fa5a6Sopenharmony_ci    EXPECT_EQ(mouseEvent, nullptr);
330c29fa5a6Sopenharmony_ci}
331c29fa5a6Sopenharmony_ci
332c29fa5a6Sopenharmony_ci/**
333c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_MouseEventAxisType_001
334c29fa5a6Sopenharmony_ci * @tc.desc: Verify the set and get of mouseEvent axisType
335c29fa5a6Sopenharmony_ci * @tc.type: FUNC
336c29fa5a6Sopenharmony_ci * @tc.require:
337c29fa5a6Sopenharmony_ci */
338c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_MouseEventAxisType_001, TestSize.Level1)
339c29fa5a6Sopenharmony_ci{
340c29fa5a6Sopenharmony_ci    Input_MouseEvent* mouseEvent = OH_Input_CreateMouseEvent();
341c29fa5a6Sopenharmony_ci    ASSERT_NE(mouseEvent, nullptr);
342c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAxisType(mouseEvent, MOUSE_AXIS_SCROLL_VERTICAL);
343c29fa5a6Sopenharmony_ci    int32_t axisType = OH_Input_GetMouseEventAxisType(mouseEvent);
344c29fa5a6Sopenharmony_ci    EXPECT_EQ(axisType, MOUSE_BUTTON_LEFT);
345c29fa5a6Sopenharmony_ci    OH_Input_DestroyMouseEvent(&mouseEvent);
346c29fa5a6Sopenharmony_ci    EXPECT_EQ(mouseEvent, nullptr);
347c29fa5a6Sopenharmony_ci}
348c29fa5a6Sopenharmony_ci
349c29fa5a6Sopenharmony_ci/**
350c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_MouseEventAxisValue_001
351c29fa5a6Sopenharmony_ci * @tc.desc: Verify the set and get of mouseEvent axisValue
352c29fa5a6Sopenharmony_ci * @tc.type: FUNC
353c29fa5a6Sopenharmony_ci * @tc.require:
354c29fa5a6Sopenharmony_ci */
355c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_MouseEventAxisValue_001, TestSize.Level1)
356c29fa5a6Sopenharmony_ci{
357c29fa5a6Sopenharmony_ci    Input_MouseEvent* mouseEvent = OH_Input_CreateMouseEvent();
358c29fa5a6Sopenharmony_ci    ASSERT_NE(mouseEvent, nullptr);
359c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAxisValue(mouseEvent, 15.0);
360c29fa5a6Sopenharmony_ci    float axisValue = OH_Input_GetMouseEventAxisValue(mouseEvent);
361c29fa5a6Sopenharmony_ci    EXPECT_EQ(axisValue, 15.0);
362c29fa5a6Sopenharmony_ci    OH_Input_DestroyMouseEvent(&mouseEvent);
363c29fa5a6Sopenharmony_ci    EXPECT_EQ(mouseEvent, nullptr);
364c29fa5a6Sopenharmony_ci}
365c29fa5a6Sopenharmony_ci
366c29fa5a6Sopenharmony_ci/**
367c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_MouseEventActionTime_001
368c29fa5a6Sopenharmony_ci * @tc.desc: Verify the set and get of mouseEvent actionTime
369c29fa5a6Sopenharmony_ci * @tc.type: FUNC
370c29fa5a6Sopenharmony_ci * @tc.require:
371c29fa5a6Sopenharmony_ci */
372c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_MouseEventActionTime_001, TestSize.Level1)
373c29fa5a6Sopenharmony_ci{
374c29fa5a6Sopenharmony_ci    Input_MouseEvent* mouseEvent = OH_Input_CreateMouseEvent();
375c29fa5a6Sopenharmony_ci    ASSERT_NE(mouseEvent, nullptr);
376c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventActionTime(mouseEvent, 200);
377c29fa5a6Sopenharmony_ci    int64_t actionTime = OH_Input_GetMouseEventActionTime(mouseEvent);
378c29fa5a6Sopenharmony_ci    EXPECT_EQ(actionTime, 200);
379c29fa5a6Sopenharmony_ci    OH_Input_DestroyMouseEvent(&mouseEvent);
380c29fa5a6Sopenharmony_ci    EXPECT_EQ(mouseEvent, nullptr);
381c29fa5a6Sopenharmony_ci}
382c29fa5a6Sopenharmony_ci
383c29fa5a6Sopenharmony_ci/**
384c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_InjectTouchEvent_001
385c29fa5a6Sopenharmony_ci * @tc.desc: Verify the InjectTouchEvent
386c29fa5a6Sopenharmony_ci * @tc.type: FUNC
387c29fa5a6Sopenharmony_ci * @tc.require:
388c29fa5a6Sopenharmony_ci */
389c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_InjectTouchEvent_001, TestSize.Level1)
390c29fa5a6Sopenharmony_ci{
391c29fa5a6Sopenharmony_ci    Input_TouchEvent* touchEvent = OH_Input_CreateTouchEvent();
392c29fa5a6Sopenharmony_ci    ASSERT_NE(touchEvent, nullptr);
393c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventAction(touchEvent, TOUCH_ACTION_DOWN);
394c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventFingerId(touchEvent, 0);
395c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventDisplayX(touchEvent, 671);
396c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventDisplayY(touchEvent, -10);
397c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventActionTime(touchEvent, -1);
398c29fa5a6Sopenharmony_ci    int32_t retResult = OH_Input_InjectTouchEvent(touchEvent);
399c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
400c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventAction(touchEvent, TOUCH_ACTION_UP);
401c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventFingerId(touchEvent, 0);
402c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventDisplayX(touchEvent, 671);
403c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventDisplayY(touchEvent, -10);
404c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventActionTime(touchEvent, -1);
405c29fa5a6Sopenharmony_ci    retResult = OH_Input_InjectTouchEvent(touchEvent);
406c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
407c29fa5a6Sopenharmony_ci    OH_Input_DestroyTouchEvent(&touchEvent);
408c29fa5a6Sopenharmony_ci    EXPECT_EQ(touchEvent, nullptr);
409c29fa5a6Sopenharmony_ci}
410c29fa5a6Sopenharmony_ci
411c29fa5a6Sopenharmony_ci/**
412c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_TouchEventAction_001
413c29fa5a6Sopenharmony_ci * @tc.desc: Verify the set and get of touchEvent action
414c29fa5a6Sopenharmony_ci * @tc.type: FUNC
415c29fa5a6Sopenharmony_ci * @tc.require:
416c29fa5a6Sopenharmony_ci */
417c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_TouchEventAction_001, TestSize.Level1)
418c29fa5a6Sopenharmony_ci{
419c29fa5a6Sopenharmony_ci    Input_TouchEvent* touchEvent = OH_Input_CreateTouchEvent();
420c29fa5a6Sopenharmony_ci    ASSERT_NE(touchEvent, nullptr);
421c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventAction(touchEvent, TOUCH_ACTION_DOWN);
422c29fa5a6Sopenharmony_ci    int32_t action = OH_Input_GetTouchEventAction(touchEvent);
423c29fa5a6Sopenharmony_ci    EXPECT_EQ(action, TOUCH_ACTION_DOWN);
424c29fa5a6Sopenharmony_ci    OH_Input_DestroyTouchEvent(&touchEvent);
425c29fa5a6Sopenharmony_ci    EXPECT_EQ(touchEvent, nullptr);
426c29fa5a6Sopenharmony_ci}
427c29fa5a6Sopenharmony_ci
428c29fa5a6Sopenharmony_ci/**
429c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_TouchEventFingerId_001
430c29fa5a6Sopenharmony_ci * @tc.desc: Verify the set and get of touchEvent id
431c29fa5a6Sopenharmony_ci * @tc.type: FUNC
432c29fa5a6Sopenharmony_ci * @tc.require:
433c29fa5a6Sopenharmony_ci */
434c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_TouchEventFingerId_001, TestSize.Level1)
435c29fa5a6Sopenharmony_ci{
436c29fa5a6Sopenharmony_ci    Input_TouchEvent* touchEvent = OH_Input_CreateTouchEvent();
437c29fa5a6Sopenharmony_ci    ASSERT_NE(touchEvent, nullptr);
438c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventFingerId(touchEvent, 0);
439c29fa5a6Sopenharmony_ci    int32_t id = OH_Input_GetTouchEventFingerId(touchEvent);
440c29fa5a6Sopenharmony_ci    EXPECT_EQ(id, 0);
441c29fa5a6Sopenharmony_ci    OH_Input_DestroyTouchEvent(&touchEvent);
442c29fa5a6Sopenharmony_ci    EXPECT_EQ(touchEvent, nullptr);
443c29fa5a6Sopenharmony_ci}
444c29fa5a6Sopenharmony_ci
445c29fa5a6Sopenharmony_ci/**
446c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_TouchEventDisplayX_001
447c29fa5a6Sopenharmony_ci * @tc.desc: Verify the set and get of touchEvent displayX
448c29fa5a6Sopenharmony_ci * @tc.type: FUNC
449c29fa5a6Sopenharmony_ci * @tc.require:
450c29fa5a6Sopenharmony_ci */
451c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_TouchEventDisplayX_001, TestSize.Level1)
452c29fa5a6Sopenharmony_ci{
453c29fa5a6Sopenharmony_ci    Input_TouchEvent* touchEvent = OH_Input_CreateTouchEvent();
454c29fa5a6Sopenharmony_ci    ASSERT_NE(touchEvent, nullptr);
455c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventDisplayX(touchEvent, 100);
456c29fa5a6Sopenharmony_ci    int32_t displayX = OH_Input_GetTouchEventDisplayX(touchEvent);
457c29fa5a6Sopenharmony_ci    EXPECT_EQ(displayX, 100);
458c29fa5a6Sopenharmony_ci    OH_Input_DestroyTouchEvent(&touchEvent);
459c29fa5a6Sopenharmony_ci    EXPECT_EQ(touchEvent, nullptr);
460c29fa5a6Sopenharmony_ci}
461c29fa5a6Sopenharmony_ci
462c29fa5a6Sopenharmony_ci/**
463c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_TouchEventDisplayY_001
464c29fa5a6Sopenharmony_ci * @tc.desc: Verify the set and get of touchEvent displayY
465c29fa5a6Sopenharmony_ci * @tc.type: FUNC
466c29fa5a6Sopenharmony_ci * @tc.require:
467c29fa5a6Sopenharmony_ci */
468c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_TouchEventDisplayY_001, TestSize.Level1)
469c29fa5a6Sopenharmony_ci{
470c29fa5a6Sopenharmony_ci    Input_TouchEvent* touchEvent = OH_Input_CreateTouchEvent();
471c29fa5a6Sopenharmony_ci    ASSERT_NE(touchEvent, nullptr);
472c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventDisplayY(touchEvent, 100);
473c29fa5a6Sopenharmony_ci    int32_t displayY = OH_Input_GetTouchEventDisplayY(touchEvent);
474c29fa5a6Sopenharmony_ci    EXPECT_EQ(displayY, 100);
475c29fa5a6Sopenharmony_ci    OH_Input_DestroyTouchEvent(&touchEvent);
476c29fa5a6Sopenharmony_ci    EXPECT_EQ(touchEvent, nullptr);
477c29fa5a6Sopenharmony_ci}
478c29fa5a6Sopenharmony_ci
479c29fa5a6Sopenharmony_ci/**
480c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_TouchEventActionTime_001
481c29fa5a6Sopenharmony_ci * @tc.desc: Verify the set and get of touchEvent actionTime
482c29fa5a6Sopenharmony_ci * @tc.type: FUNC
483c29fa5a6Sopenharmony_ci * @tc.require:
484c29fa5a6Sopenharmony_ci */
485c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_TouchEventActionTime_001, TestSize.Level1)
486c29fa5a6Sopenharmony_ci{
487c29fa5a6Sopenharmony_ci    Input_TouchEvent* touchEvent = OH_Input_CreateTouchEvent();
488c29fa5a6Sopenharmony_ci    ASSERT_NE(touchEvent, nullptr);
489c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventActionTime(touchEvent, 200);
490c29fa5a6Sopenharmony_ci    int64_t actionTime = OH_Input_GetTouchEventActionTime(touchEvent);
491c29fa5a6Sopenharmony_ci    EXPECT_EQ(actionTime, 200);
492c29fa5a6Sopenharmony_ci    OH_Input_DestroyTouchEvent(&touchEvent);
493c29fa5a6Sopenharmony_ci    EXPECT_EQ(touchEvent, nullptr);
494c29fa5a6Sopenharmony_ci}
495c29fa5a6Sopenharmony_ci
496c29fa5a6Sopenharmony_ci/**
497c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_InjectKeyEvent_002
498c29fa5a6Sopenharmony_ci * @tc.desc: Verify the InjectKeyEvent
499c29fa5a6Sopenharmony_ci * @tc.type: FUNC
500c29fa5a6Sopenharmony_ci * @tc.require:
501c29fa5a6Sopenharmony_ci */
502c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_InjectKeyEvent_002, TestSize.Level1)
503c29fa5a6Sopenharmony_ci{
504c29fa5a6Sopenharmony_ci    Input_KeyEvent* keyEvent = OH_Input_CreateKeyEvent();
505c29fa5a6Sopenharmony_ci    ASSERT_NE(keyEvent, nullptr);
506c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventKeyCode(keyEvent, KEYCODE_VOLUME_DOWN);
507c29fa5a6Sopenharmony_ci    std::shared_ptr<OHOS::MMI::KeyEvent> g_keyEvent = OHOS::MMI::KeyEvent::Create();
508c29fa5a6Sopenharmony_ci    g_keyEvent->SetAction(OHOS::MMI::KeyEvent::KEY_ACTION_UP);
509c29fa5a6Sopenharmony_ci    int32_t retResult = OH_Input_InjectKeyEvent(keyEvent);
510c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
511c29fa5a6Sopenharmony_ci}
512c29fa5a6Sopenharmony_ci
513c29fa5a6Sopenharmony_ci/**
514c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_InjectKeyEvent_003
515c29fa5a6Sopenharmony_ci * @tc.desc: Verify the InjectKeyEvent
516c29fa5a6Sopenharmony_ci * @tc.type: FUNC
517c29fa5a6Sopenharmony_ci * @tc.require:
518c29fa5a6Sopenharmony_ci */
519c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_InjectKeyEvent_003, TestSize.Level1)
520c29fa5a6Sopenharmony_ci{
521c29fa5a6Sopenharmony_ci    Input_KeyEvent* keyEvent = OH_Input_CreateKeyEvent();
522c29fa5a6Sopenharmony_ci    ASSERT_NE(keyEvent, nullptr);
523c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventKeyCode(keyEvent, KEYCODE_VOLUME_DOWN);
524c29fa5a6Sopenharmony_ci    std::shared_ptr<OHOS::MMI::KeyEvent> g_keyEvent = OHOS::MMI::KeyEvent::Create();
525c29fa5a6Sopenharmony_ci    g_keyEvent->SetAction(OHOS::MMI::KeyEvent::KEY_ACTION_DOWN);
526c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventActionTime(keyEvent, -1);
527c29fa5a6Sopenharmony_ci    int32_t retResult = OH_Input_InjectKeyEvent(keyEvent);
528c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
529c29fa5a6Sopenharmony_ci}
530c29fa5a6Sopenharmony_ci
531c29fa5a6Sopenharmony_ci/**
532c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_InjectKeyEvent_004
533c29fa5a6Sopenharmony_ci * @tc.desc: Verify the InjectKeyEvent
534c29fa5a6Sopenharmony_ci * @tc.type: FUNC
535c29fa5a6Sopenharmony_ci * @tc.require:
536c29fa5a6Sopenharmony_ci */
537c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_InjectKeyEvent_004, TestSize.Level1)
538c29fa5a6Sopenharmony_ci{
539c29fa5a6Sopenharmony_ci    Input_KeyEvent* keyEvent = OH_Input_CreateKeyEvent();
540c29fa5a6Sopenharmony_ci    ASSERT_NE(keyEvent, nullptr);
541c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventKeyCode(keyEvent, KEYCODE_VOLUME_DOWN);
542c29fa5a6Sopenharmony_ci    std::shared_ptr<OHOS::MMI::KeyEvent> g_keyEvent = OHOS::MMI::KeyEvent::Create();
543c29fa5a6Sopenharmony_ci    g_keyEvent->SetAction(OHOS::MMI::KeyEvent::KEY_ACTION_DOWN);
544c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventActionTime(keyEvent, 2);
545c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventAction(keyEvent, KEY_ACTION_DOWN);
546c29fa5a6Sopenharmony_ci    int32_t retResult = OH_Input_InjectKeyEvent(keyEvent);
547c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
548c29fa5a6Sopenharmony_ci}
549c29fa5a6Sopenharmony_ci
550c29fa5a6Sopenharmony_ci/**
551c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_InjectKeyEvent_005
552c29fa5a6Sopenharmony_ci * @tc.desc: Verify the InjectKeyEvent
553c29fa5a6Sopenharmony_ci * @tc.type: FUNC
554c29fa5a6Sopenharmony_ci * @tc.require:
555c29fa5a6Sopenharmony_ci */
556c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_InjectKeyEvent_005, TestSize.Level1)
557c29fa5a6Sopenharmony_ci{
558c29fa5a6Sopenharmony_ci    Input_KeyEvent* keyEvent = OH_Input_CreateKeyEvent();
559c29fa5a6Sopenharmony_ci    ASSERT_NE(keyEvent, nullptr);
560c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventKeyCode(keyEvent, KEYCODE_VOLUME_DOWN);
561c29fa5a6Sopenharmony_ci    std::shared_ptr<OHOS::MMI::KeyEvent> g_keyEvent = OHOS::MMI::KeyEvent::Create();
562c29fa5a6Sopenharmony_ci    g_keyEvent->SetAction(OHOS::MMI::KeyEvent::KEY_ACTION_DOWN);
563c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventActionTime(keyEvent, 2);
564c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventAction(keyEvent, KEY_ACTION_UP);
565c29fa5a6Sopenharmony_ci    int32_t retResult = OH_Input_InjectKeyEvent(keyEvent);
566c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
567c29fa5a6Sopenharmony_ci}
568c29fa5a6Sopenharmony_ci
569c29fa5a6Sopenharmony_ci/**
570c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_InjectKeyEvent_006
571c29fa5a6Sopenharmony_ci * @tc.desc: Verify the InjectKeyEvent
572c29fa5a6Sopenharmony_ci * @tc.type: FUNC
573c29fa5a6Sopenharmony_ci * @tc.require:
574c29fa5a6Sopenharmony_ci */
575c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_InjectKeyEvent_006, TestSize.Level1)
576c29fa5a6Sopenharmony_ci{
577c29fa5a6Sopenharmony_ci    Input_KeyEvent* keyEvent = OH_Input_CreateKeyEvent();
578c29fa5a6Sopenharmony_ci    ASSERT_NE(keyEvent, nullptr);
579c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventKeyCode(keyEvent, KEYCODE_VOLUME_DOWN);
580c29fa5a6Sopenharmony_ci    std::shared_ptr<OHOS::MMI::KeyEvent> g_keyEvent = OHOS::MMI::KeyEvent::Create();
581c29fa5a6Sopenharmony_ci    g_keyEvent->SetAction(OHOS::MMI::KeyEvent::KEY_ACTION_DOWN);
582c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventActionTime(keyEvent, 2);
583c29fa5a6Sopenharmony_ci    OH_Input_SetKeyEventAction(keyEvent, KeyEvent::KEY_ACTION_UNKNOWN);
584c29fa5a6Sopenharmony_ci    int32_t retResult = OH_Input_InjectKeyEvent(keyEvent);
585c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
586c29fa5a6Sopenharmony_ci}
587c29fa5a6Sopenharmony_ci
588c29fa5a6Sopenharmony_ci/**
589c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_InjectMouseEvent_003
590c29fa5a6Sopenharmony_ci * @tc.desc: Verify the InjectMouseEvent
591c29fa5a6Sopenharmony_ci * @tc.type: FUNC
592c29fa5a6Sopenharmony_ci * @tc.require:
593c29fa5a6Sopenharmony_ci */
594c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_InjectMouseEvent_003, TestSize.Level1)
595c29fa5a6Sopenharmony_ci{
596c29fa5a6Sopenharmony_ci    Input_MouseEvent* mouseEvent = OH_Input_CreateMouseEvent();
597c29fa5a6Sopenharmony_ci    ASSERT_NE(mouseEvent, nullptr);
598c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAction(mouseEvent, MOUSE_ACTION_AXIS_BEGIN);
599c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventDisplayX(mouseEvent, 350);
600c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventDisplayY(mouseEvent, 350);
601c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAxisType(mouseEvent, MOUSE_AXIS_SCROLL_VERTICAL);
602c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAxisValue(mouseEvent, 1.1);
603c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventButton(mouseEvent, 3);
604c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventActionTime(mouseEvent, -1);
605c29fa5a6Sopenharmony_ci    int32_t retResult = OH_Input_InjectMouseEvent(mouseEvent);
606c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
607c29fa5a6Sopenharmony_ci}
608c29fa5a6Sopenharmony_ci
609c29fa5a6Sopenharmony_ci/**
610c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_InjectTouchEvent_002
611c29fa5a6Sopenharmony_ci * @tc.desc: Verify the InjectTouchEvent
612c29fa5a6Sopenharmony_ci * @tc.type: FUNC
613c29fa5a6Sopenharmony_ci * @tc.require:
614c29fa5a6Sopenharmony_ci */
615c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_InjectTouchEvent_002, TestSize.Level1)
616c29fa5a6Sopenharmony_ci{
617c29fa5a6Sopenharmony_ci    Input_TouchEvent* touchEvent = OH_Input_CreateTouchEvent();
618c29fa5a6Sopenharmony_ci    ASSERT_NE(touchEvent, nullptr);
619c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventAction(touchEvent, TOUCH_ACTION_UP);
620c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventFingerId(touchEvent, 0);
621c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventDisplayX(touchEvent, 671);
622c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventDisplayY(touchEvent, 10);
623c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventActionTime(touchEvent, -1);
624c29fa5a6Sopenharmony_ci    int32_t retResult = OH_Input_InjectTouchEvent(touchEvent);
625c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
626c29fa5a6Sopenharmony_ci}
627c29fa5a6Sopenharmony_ci
628c29fa5a6Sopenharmony_ci/**
629c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_InjectTouchEvent_003
630c29fa5a6Sopenharmony_ci * @tc.desc: Verify the InjectTouchEvent
631c29fa5a6Sopenharmony_ci * @tc.type: FUNC
632c29fa5a6Sopenharmony_ci * @tc.require:
633c29fa5a6Sopenharmony_ci */
634c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_InjectTouchEvent_003, TestSize.Level1)
635c29fa5a6Sopenharmony_ci{
636c29fa5a6Sopenharmony_ci    Input_TouchEvent* touchEvent = OH_Input_CreateTouchEvent();
637c29fa5a6Sopenharmony_ci    ASSERT_NE(touchEvent, nullptr);
638c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventAction(touchEvent, TOUCH_ACTION_DOWN);
639c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventFingerId(touchEvent, 0);
640c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventDisplayX(touchEvent, 671);
641c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventDisplayY(touchEvent, 10);
642c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventActionTime(touchEvent, -1);
643c29fa5a6Sopenharmony_ci    int32_t retResult = OH_Input_InjectTouchEvent(touchEvent);
644c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
645c29fa5a6Sopenharmony_ci}
646c29fa5a6Sopenharmony_ci
647c29fa5a6Sopenharmony_ci/**
648c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_InjectMouseEvent_004
649c29fa5a6Sopenharmony_ci * @tc.desc: Verify the InjectMouseEvent
650c29fa5a6Sopenharmony_ci * @tc.type: FUNC
651c29fa5a6Sopenharmony_ci * @tc.require:
652c29fa5a6Sopenharmony_ci */
653c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_InjectMouseEvent_004, TestSize.Level1)
654c29fa5a6Sopenharmony_ci{
655c29fa5a6Sopenharmony_ci    Input_MouseEvent* mouseEvent = OH_Input_CreateMouseEvent();
656c29fa5a6Sopenharmony_ci    ASSERT_NE(mouseEvent, nullptr);
657c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAction(mouseEvent, MOUSE_ACTION_CANCEL);
658c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventDisplayX(mouseEvent, 350);
659c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventDisplayY(mouseEvent, 350);
660c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAxisType(mouseEvent, MOUSE_AXIS_SCROLL_VERTICAL);
661c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAxisValue(mouseEvent, 1.1);
662c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventActionTime(mouseEvent, 2);
663c29fa5a6Sopenharmony_ci    int32_t retResult = OH_Input_InjectMouseEvent(mouseEvent);
664c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
665c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAction(mouseEvent, MOUSE_ACTION_MOVE);
666c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventButton(mouseEvent, MOUSE_BUTTON_NONE);
667c29fa5a6Sopenharmony_ci    retResult = OH_Input_InjectMouseEvent(mouseEvent);
668c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
669c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAction(mouseEvent, MOUSE_ACTION_BUTTON_DOWN);
670c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventButton(mouseEvent, MOUSE_BUTTON_LEFT);
671c29fa5a6Sopenharmony_ci    retResult = OH_Input_InjectMouseEvent(mouseEvent);
672c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
673c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAction(mouseEvent, MOUSE_ACTION_BUTTON_UP);
674c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventButton(mouseEvent, MOUSE_BUTTON_MIDDLE);
675c29fa5a6Sopenharmony_ci    retResult = OH_Input_InjectMouseEvent(mouseEvent);
676c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
677c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAction(mouseEvent, MOUSE_ACTION_AXIS_BEGIN);
678c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventButton(mouseEvent, MOUSE_BUTTON_RIGHT);
679c29fa5a6Sopenharmony_ci    retResult = OH_Input_InjectMouseEvent(mouseEvent);
680c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
681c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAction(mouseEvent, MOUSE_ACTION_AXIS_UPDATE);
682c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventButton(mouseEvent, MOUSE_BUTTON_FORWARD);
683c29fa5a6Sopenharmony_ci    retResult = OH_Input_InjectMouseEvent(mouseEvent);
684c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
685c29fa5a6Sopenharmony_ci}
686c29fa5a6Sopenharmony_ci
687c29fa5a6Sopenharmony_ci/**
688c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_InjectMouseEvent_005
689c29fa5a6Sopenharmony_ci * @tc.desc: Verify the InjectMouseEvent
690c29fa5a6Sopenharmony_ci * @tc.type: FUNC
691c29fa5a6Sopenharmony_ci * @tc.require:
692c29fa5a6Sopenharmony_ci */
693c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_InjectMouseEvent_005, TestSize.Level1)
694c29fa5a6Sopenharmony_ci{
695c29fa5a6Sopenharmony_ci    Input_MouseEvent* mouseEvent = OH_Input_CreateMouseEvent();
696c29fa5a6Sopenharmony_ci    ASSERT_NE(mouseEvent, nullptr);
697c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventDisplayX(mouseEvent, 350);
698c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventDisplayY(mouseEvent, 350);
699c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAxisType(mouseEvent, MOUSE_AXIS_SCROLL_VERTICAL);
700c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAxisValue(mouseEvent, 1.1);
701c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventActionTime(mouseEvent, 2);
702c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAction(mouseEvent, MOUSE_ACTION_AXIS_END);
703c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventButton(mouseEvent, MOUSE_BUTTON_BACK);
704c29fa5a6Sopenharmony_ci    int32_t retResult = OH_Input_InjectMouseEvent(mouseEvent);
705c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAction(mouseEvent, MOUSE_ACTION_AXIS_END);
706c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventButton(mouseEvent, 7);
707c29fa5a6Sopenharmony_ci    retResult = OH_Input_InjectMouseEvent(mouseEvent);
708c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
709c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAction(mouseEvent, 10);
710c29fa5a6Sopenharmony_ci    retResult = OH_Input_InjectMouseEvent(mouseEvent);
711c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
712c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAxisType(mouseEvent, MOUSE_AXIS_SCROLL_HORIZONTAL);
713c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAction(mouseEvent, MOUSE_ACTION_AXIS_BEGIN);
714c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventButton(mouseEvent, MOUSE_BUTTON_BACK);
715c29fa5a6Sopenharmony_ci    retResult = OH_Input_InjectMouseEvent(mouseEvent);
716c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
717c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAxisType(mouseEvent, 5);
718c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAction(mouseEvent, MOUSE_ACTION_AXIS_BEGIN);
719c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventButton(mouseEvent, MOUSE_BUTTON_BACK);
720c29fa5a6Sopenharmony_ci    retResult = OH_Input_InjectMouseEvent(mouseEvent);
721c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
722c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAxisType(mouseEvent, MOUSE_AXIS_SCROLL_VERTICAL);
723c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventAction(mouseEvent, MOUSE_ACTION_AXIS_BEGIN);
724c29fa5a6Sopenharmony_ci    OH_Input_SetMouseEventButton(mouseEvent, MOUSE_BUTTON_BACK);
725c29fa5a6Sopenharmony_ci    retResult = OH_Input_InjectMouseEvent(mouseEvent);
726c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
727c29fa5a6Sopenharmony_ci}
728c29fa5a6Sopenharmony_ci
729c29fa5a6Sopenharmony_ci/**
730c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_InjectTouchEvent_004
731c29fa5a6Sopenharmony_ci * @tc.desc: Verify the InjectTouchEvent
732c29fa5a6Sopenharmony_ci * @tc.type: FUNC
733c29fa5a6Sopenharmony_ci * @tc.require:
734c29fa5a6Sopenharmony_ci */
735c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_InjectTouchEvent_004, TestSize.Level1)
736c29fa5a6Sopenharmony_ci{
737c29fa5a6Sopenharmony_ci    Input_TouchEvent* touchEvent = OH_Input_CreateTouchEvent();
738c29fa5a6Sopenharmony_ci    ASSERT_NE(touchEvent, nullptr);
739c29fa5a6Sopenharmony_ci    std::shared_ptr<OHOS::MMI::KeyEvent> g_keyEvent = OHOS::MMI::KeyEvent::Create();
740c29fa5a6Sopenharmony_ci    ASSERT_NE(g_keyEvent, nullptr);
741c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventAction(touchEvent, TOUCH_ACTION_CANCEL);
742c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventFingerId(touchEvent, 0);
743c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventDisplayX(touchEvent, 671);
744c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventDisplayY(touchEvent, 10);
745c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventActionTime(touchEvent, 2);
746c29fa5a6Sopenharmony_ci    int32_t retResult = OH_Input_InjectTouchEvent(touchEvent);
747c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
748c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventActionTime(touchEvent, 2);
749c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventAction(touchEvent, TOUCH_ACTION_DOWN);
750c29fa5a6Sopenharmony_ci    retResult = OH_Input_InjectTouchEvent(touchEvent);
751c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
752c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventActionTime(touchEvent, 2);
753c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventAction(touchEvent, TOUCH_ACTION_MOVE);
754c29fa5a6Sopenharmony_ci    retResult = OH_Input_InjectTouchEvent(touchEvent);
755c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
756c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventActionTime(touchEvent, 2);
757c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventAction(touchEvent, TOUCH_ACTION_UP);
758c29fa5a6Sopenharmony_ci    retResult = OH_Input_InjectTouchEvent(touchEvent);
759c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
760c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventActionTime(touchEvent, 2);
761c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventAction(touchEvent, 10);
762c29fa5a6Sopenharmony_ci    retResult = OH_Input_InjectTouchEvent(touchEvent);
763c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
764c29fa5a6Sopenharmony_ci}
765c29fa5a6Sopenharmony_ci
766c29fa5a6Sopenharmony_ci/**
767c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_InjectTouchEvent_005
768c29fa5a6Sopenharmony_ci * @tc.desc: Verify the InjectTouchEvent
769c29fa5a6Sopenharmony_ci * @tc.type: FUNC
770c29fa5a6Sopenharmony_ci * @tc.require:
771c29fa5a6Sopenharmony_ci */
772c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_InjectTouchEvent_005, TestSize.Level1)
773c29fa5a6Sopenharmony_ci{
774c29fa5a6Sopenharmony_ci    Input_TouchEvent* touchEvent = OH_Input_CreateTouchEvent();
775c29fa5a6Sopenharmony_ci    ASSERT_NE(touchEvent, nullptr);
776c29fa5a6Sopenharmony_ci    std::shared_ptr<OHOS::MMI::KeyEvent> g_keyEvent = OHOS::MMI::KeyEvent::Create();
777c29fa5a6Sopenharmony_ci    ASSERT_NE(g_keyEvent, nullptr);
778c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventAction(touchEvent, TOUCH_ACTION_CANCEL);
779c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventFingerId(touchEvent, 0);
780c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventDisplayX(touchEvent, -10);
781c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventDisplayY(touchEvent, 10);
782c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventActionTime(touchEvent, 2);
783c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventAction(touchEvent, TOUCH_ACTION_DOWN);
784c29fa5a6Sopenharmony_ci    int32_t retResult = OH_Input_InjectTouchEvent(touchEvent);
785c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
786c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventDisplayX(touchEvent, 671);
787c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventDisplayY(touchEvent, 10);
788c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventActionTime(touchEvent, 2);
789c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventAction(touchEvent, TOUCH_ACTION_DOWN);
790c29fa5a6Sopenharmony_ci    retResult = OH_Input_InjectTouchEvent(touchEvent);
791c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
792c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventDisplayX(touchEvent, 671);
793c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventDisplayY(touchEvent, 10);
794c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventActionTime(touchEvent, 2);
795c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventAction(touchEvent, TOUCH_ACTION_MOVE);
796c29fa5a6Sopenharmony_ci    retResult = OH_Input_InjectTouchEvent(touchEvent);
797c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
798c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventDisplayX(touchEvent, 671);
799c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventDisplayY(touchEvent, 10);
800c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventActionTime(touchEvent, 2);
801c29fa5a6Sopenharmony_ci    OH_Input_SetTouchEventAction(touchEvent, TOUCH_ACTION_CANCEL);
802c29fa5a6Sopenharmony_ci    retResult = OH_Input_InjectTouchEvent(touchEvent);
803c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
804c29fa5a6Sopenharmony_ci}
805c29fa5a6Sopenharmony_ci
806c29fa5a6Sopenharmony_ci/**
807c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_CreateAxisEvent_001
808c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_CreateAxisEvent
809c29fa5a6Sopenharmony_ci * @tc.type: FUNC
810c29fa5a6Sopenharmony_ci * @tc.require:
811c29fa5a6Sopenharmony_ci */
812c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_CreateAxisEvent_001, TestSize.Level1)
813c29fa5a6Sopenharmony_ci{
814c29fa5a6Sopenharmony_ci    Input_AxisEvent* axisEvent = OH_Input_CreateAxisEvent();
815c29fa5a6Sopenharmony_ci    EXPECT_NE(axisEvent, nullptr);
816c29fa5a6Sopenharmony_ci
817c29fa5a6Sopenharmony_ci    InputEvent_AxisAction action = AXIS_ACTION_BEGIN;
818c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_SetAxisEventAction(axisEvent, action);
819c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
820c29fa5a6Sopenharmony_ci    action = AXIS_ACTION_UPDATE;
821c29fa5a6Sopenharmony_ci    result = OH_Input_GetAxisEventAction(axisEvent, &action);
822c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
823c29fa5a6Sopenharmony_ci    EXPECT_EQ(action, AXIS_ACTION_BEGIN);
824c29fa5a6Sopenharmony_ci
825c29fa5a6Sopenharmony_ci    float displayX = DISPLAY_X;
826c29fa5a6Sopenharmony_ci    result = OH_Input_SetAxisEventDisplayX(axisEvent, displayX);
827c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
828c29fa5a6Sopenharmony_ci    displayX = DISPLAY_Y;
829c29fa5a6Sopenharmony_ci    result = OH_Input_GetAxisEventDisplayX(axisEvent, &displayX);
830c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
831c29fa5a6Sopenharmony_ci    EXPECT_FLOAT_EQ(displayX, DISPLAY_X);
832c29fa5a6Sopenharmony_ci
833c29fa5a6Sopenharmony_ci    float displayY = DISPLAY_Y;
834c29fa5a6Sopenharmony_ci    result = OH_Input_SetAxisEventDisplayY(axisEvent, displayY);
835c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
836c29fa5a6Sopenharmony_ci    displayY = DISPLAY_X;
837c29fa5a6Sopenharmony_ci    result = OH_Input_GetAxisEventDisplayY(axisEvent, &displayY);
838c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
839c29fa5a6Sopenharmony_ci    EXPECT_FLOAT_EQ(displayY, DISPLAY_Y);
840c29fa5a6Sopenharmony_ci
841c29fa5a6Sopenharmony_ci    InputEvent_AxisType axisType = AXIS_TYPE_SCROLL_VERTICAL;
842c29fa5a6Sopenharmony_ci    double axisValue = DEFAULT_AXIS_VALUE;
843c29fa5a6Sopenharmony_ci    result = OH_Input_SetAxisEventAxisValue(axisEvent, axisType, axisValue);
844c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
845c29fa5a6Sopenharmony_ci    axisValue = AXIS_VALUE;
846c29fa5a6Sopenharmony_ci    result = OH_Input_GetAxisEventAxisValue(axisEvent, axisType, &axisValue);
847c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
848c29fa5a6Sopenharmony_ci    EXPECT_DOUBLE_EQ(axisValue, DEFAULT_AXIS_VALUE);
849c29fa5a6Sopenharmony_ci
850c29fa5a6Sopenharmony_ci    int64_t actionTime = DEFAULT_ACTIONE_TIME;
851c29fa5a6Sopenharmony_ci    result = OH_Input_SetAxisEventActionTime(axisEvent, actionTime);
852c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
853c29fa5a6Sopenharmony_ci    actionTime = ACTIONE_TIME;
854c29fa5a6Sopenharmony_ci    result = OH_Input_GetAxisEventActionTime(axisEvent, &actionTime);
855c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
856c29fa5a6Sopenharmony_ci    EXPECT_EQ(actionTime, DEFAULT_ACTIONE_TIME);
857c29fa5a6Sopenharmony_ci
858c29fa5a6Sopenharmony_ci    InputEvent_AxisEventType axisEventType = AXIS_EVENT_TYPE_PINCH;
859c29fa5a6Sopenharmony_ci    result = OH_Input_SetAxisEventType(axisEvent, axisEventType);
860c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
861c29fa5a6Sopenharmony_ci    axisEventType = AXIS_EVENT_TYPE_SCROLL;
862c29fa5a6Sopenharmony_ci    result = OH_Input_GetAxisEventType(axisEvent, &axisEventType);
863c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
864c29fa5a6Sopenharmony_ci    EXPECT_EQ(axisEventType, AXIS_EVENT_TYPE_PINCH);
865c29fa5a6Sopenharmony_ci
866c29fa5a6Sopenharmony_ci    InputEvent_SourceType sourceType = SOURCE_TYPE_MOUSE;
867c29fa5a6Sopenharmony_ci    result = OH_Input_SetAxisEventSourceType(axisEvent, sourceType);
868c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
869c29fa5a6Sopenharmony_ci    sourceType = SOURCE_TYPE_TOUCHSCREEN;
870c29fa5a6Sopenharmony_ci    result = OH_Input_GetAxisEventSourceType(axisEvent, &sourceType);
871c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
872c29fa5a6Sopenharmony_ci    EXPECT_EQ(sourceType, SOURCE_TYPE_MOUSE);
873c29fa5a6Sopenharmony_ci
874c29fa5a6Sopenharmony_ci    result = OH_Input_DestroyAxisEvent(&axisEvent);
875c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
876c29fa5a6Sopenharmony_ci}
877c29fa5a6Sopenharmony_ci
878c29fa5a6Sopenharmony_ci/**
879c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_DestroyAxisEvent_001
880c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_DestroyAxisEvent
881c29fa5a6Sopenharmony_ci * @tc.type: FUNC
882c29fa5a6Sopenharmony_ci * @tc.require:
883c29fa5a6Sopenharmony_ci */
884c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_DestroyAxisEvent_001, TestSize.Level1)
885c29fa5a6Sopenharmony_ci{
886c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_DestroyAxisEvent(nullptr);
887c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
888c29fa5a6Sopenharmony_ci}
889c29fa5a6Sopenharmony_ci
890c29fa5a6Sopenharmony_ci/**
891c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_SetAxisEventAction_001
892c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_SetAxisEventAction
893c29fa5a6Sopenharmony_ci * @tc.type: FUNC
894c29fa5a6Sopenharmony_ci * @tc.require:
895c29fa5a6Sopenharmony_ci */
896c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_SetAxisEventAction_001, TestSize.Level1)
897c29fa5a6Sopenharmony_ci{
898c29fa5a6Sopenharmony_ci    InputEvent_AxisAction action = AXIS_ACTION_BEGIN;
899c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_SetAxisEventAction(nullptr, action);
900c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
901c29fa5a6Sopenharmony_ci}
902c29fa5a6Sopenharmony_ci
903c29fa5a6Sopenharmony_ci/**
904c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventAction_001
905c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventAction
906c29fa5a6Sopenharmony_ci * @tc.type: FUNC
907c29fa5a6Sopenharmony_ci * @tc.require:
908c29fa5a6Sopenharmony_ci */
909c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventAction_001, TestSize.Level1)
910c29fa5a6Sopenharmony_ci{
911c29fa5a6Sopenharmony_ci    Input_AxisEvent* axisEvent = OH_Input_CreateAxisEvent();
912c29fa5a6Sopenharmony_ci    EXPECT_NE(axisEvent, nullptr);
913c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventAction(axisEvent, nullptr);
914c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
915c29fa5a6Sopenharmony_ci    result = OH_Input_DestroyAxisEvent(&axisEvent);
916c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
917c29fa5a6Sopenharmony_ci}
918c29fa5a6Sopenharmony_ci
919c29fa5a6Sopenharmony_ci/**
920c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventAction_002
921c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventAction
922c29fa5a6Sopenharmony_ci * @tc.type: FUNC
923c29fa5a6Sopenharmony_ci * @tc.require:
924c29fa5a6Sopenharmony_ci */
925c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventAction_002, TestSize.Level1)
926c29fa5a6Sopenharmony_ci{
927c29fa5a6Sopenharmony_ci    InputEvent_AxisAction action = AXIS_ACTION_END;
928c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventAction(nullptr, &action);
929c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
930c29fa5a6Sopenharmony_ci}
931c29fa5a6Sopenharmony_ci
932c29fa5a6Sopenharmony_ci/**
933c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventAction_003
934c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventAction
935c29fa5a6Sopenharmony_ci * @tc.type: FUNC
936c29fa5a6Sopenharmony_ci * @tc.require:
937c29fa5a6Sopenharmony_ci */
938c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventAction_003, TestSize.Level1)
939c29fa5a6Sopenharmony_ci{
940c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventAction(nullptr, nullptr);
941c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
942c29fa5a6Sopenharmony_ci}
943c29fa5a6Sopenharmony_ci
944c29fa5a6Sopenharmony_ci/**
945c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_SetAxisEventDisplayX_001
946c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_SetAxisEventDisplayX
947c29fa5a6Sopenharmony_ci * @tc.type: FUNC
948c29fa5a6Sopenharmony_ci * @tc.require:
949c29fa5a6Sopenharmony_ci */
950c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_SetAxisEventDisplayX_001, TestSize.Level1)
951c29fa5a6Sopenharmony_ci{
952c29fa5a6Sopenharmony_ci    float displayX = DISPLAY_X;
953c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_SetAxisEventDisplayX(nullptr, displayX);
954c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
955c29fa5a6Sopenharmony_ci}
956c29fa5a6Sopenharmony_ci
957c29fa5a6Sopenharmony_ci/**
958c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventDisplayX_001
959c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventDisplayX
960c29fa5a6Sopenharmony_ci * @tc.type: FUNC
961c29fa5a6Sopenharmony_ci * @tc.require:
962c29fa5a6Sopenharmony_ci */
963c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventDisplayX_001, TestSize.Level1)
964c29fa5a6Sopenharmony_ci{
965c29fa5a6Sopenharmony_ci    Input_AxisEvent* axisEvent = OH_Input_CreateAxisEvent();
966c29fa5a6Sopenharmony_ci    EXPECT_NE(axisEvent, nullptr);
967c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventDisplayX(axisEvent, nullptr);
968c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
969c29fa5a6Sopenharmony_ci    result = OH_Input_DestroyAxisEvent(&axisEvent);
970c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
971c29fa5a6Sopenharmony_ci}
972c29fa5a6Sopenharmony_ci
973c29fa5a6Sopenharmony_ci/**
974c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventDisplayX_002
975c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventDisplayX
976c29fa5a6Sopenharmony_ci * @tc.type: FUNC
977c29fa5a6Sopenharmony_ci * @tc.require:
978c29fa5a6Sopenharmony_ci */
979c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventDisplayX_002, TestSize.Level1)
980c29fa5a6Sopenharmony_ci{
981c29fa5a6Sopenharmony_ci    float displayX = DISPLAY_X;
982c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventDisplayX(nullptr, &displayX);
983c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
984c29fa5a6Sopenharmony_ci}
985c29fa5a6Sopenharmony_ci
986c29fa5a6Sopenharmony_ci/**
987c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventDisplayX_003
988c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventDisplayX
989c29fa5a6Sopenharmony_ci * @tc.type: FUNC
990c29fa5a6Sopenharmony_ci * @tc.require:
991c29fa5a6Sopenharmony_ci */
992c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventDisplayX_003, TestSize.Level1)
993c29fa5a6Sopenharmony_ci{
994c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventDisplayX(nullptr, nullptr);
995c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
996c29fa5a6Sopenharmony_ci}
997c29fa5a6Sopenharmony_ci
998c29fa5a6Sopenharmony_ci/**
999c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_SetAxisEventDisplayY_001
1000c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_SetAxisEventDisplayY
1001c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1002c29fa5a6Sopenharmony_ci * @tc.require:
1003c29fa5a6Sopenharmony_ci */
1004c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_SetAxisEventDisplayY_001, TestSize.Level1)
1005c29fa5a6Sopenharmony_ci{
1006c29fa5a6Sopenharmony_ci    float displayY = DISPLAY_Y;
1007c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_SetAxisEventDisplayY(nullptr, displayY);
1008c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1009c29fa5a6Sopenharmony_ci}
1010c29fa5a6Sopenharmony_ci
1011c29fa5a6Sopenharmony_ci/**
1012c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventDisplayY_001
1013c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventDisplayY
1014c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1015c29fa5a6Sopenharmony_ci * @tc.require:
1016c29fa5a6Sopenharmony_ci */
1017c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventDisplayY_001, TestSize.Level1)
1018c29fa5a6Sopenharmony_ci{
1019c29fa5a6Sopenharmony_ci    Input_AxisEvent* axisEvent = OH_Input_CreateAxisEvent();
1020c29fa5a6Sopenharmony_ci    EXPECT_NE(axisEvent, nullptr);
1021c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventDisplayY(axisEvent, nullptr);
1022c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1023c29fa5a6Sopenharmony_ci    result = OH_Input_DestroyAxisEvent(&axisEvent);
1024c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
1025c29fa5a6Sopenharmony_ci}
1026c29fa5a6Sopenharmony_ci
1027c29fa5a6Sopenharmony_ci/**
1028c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventDisplayY_002
1029c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventDisplayY
1030c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1031c29fa5a6Sopenharmony_ci * @tc.require:
1032c29fa5a6Sopenharmony_ci */
1033c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventDisplayY_002, TestSize.Level1)
1034c29fa5a6Sopenharmony_ci{
1035c29fa5a6Sopenharmony_ci    float displayY = DISPLAY_Y;
1036c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventDisplayY(nullptr, &displayY);
1037c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1038c29fa5a6Sopenharmony_ci}
1039c29fa5a6Sopenharmony_ci
1040c29fa5a6Sopenharmony_ci/**
1041c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventDisplayY_003
1042c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventDisplayY
1043c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1044c29fa5a6Sopenharmony_ci * @tc.require:
1045c29fa5a6Sopenharmony_ci */
1046c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventDisplayY_003, TestSize.Level1)
1047c29fa5a6Sopenharmony_ci{
1048c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventDisplayY(nullptr, nullptr);
1049c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1050c29fa5a6Sopenharmony_ci}
1051c29fa5a6Sopenharmony_ci
1052c29fa5a6Sopenharmony_ci/**
1053c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_SetAxisEventAxisValue_001
1054c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_SetAxisEventAxisValue
1055c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1056c29fa5a6Sopenharmony_ci * @tc.require:
1057c29fa5a6Sopenharmony_ci */
1058c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_SetAxisEventAxisValue_001, TestSize.Level1)
1059c29fa5a6Sopenharmony_ci{
1060c29fa5a6Sopenharmony_ci    InputEvent_AxisType axisType = AXIS_TYPE_SCROLL_VERTICAL;
1061c29fa5a6Sopenharmony_ci    double axisValue = DEFAULT_AXIS_VALUE;
1062c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_SetAxisEventAxisValue(nullptr, axisType, axisValue);
1063c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1064c29fa5a6Sopenharmony_ci}
1065c29fa5a6Sopenharmony_ci
1066c29fa5a6Sopenharmony_ci/**
1067c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventAxisValue_001
1068c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventAxisValue
1069c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1070c29fa5a6Sopenharmony_ci * @tc.require:
1071c29fa5a6Sopenharmony_ci */
1072c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventAxisValue_001, TestSize.Level1)
1073c29fa5a6Sopenharmony_ci{
1074c29fa5a6Sopenharmony_ci    Input_AxisEvent* axisEvent = OH_Input_CreateAxisEvent();
1075c29fa5a6Sopenharmony_ci    EXPECT_NE(axisEvent, nullptr);
1076c29fa5a6Sopenharmony_ci    InputEvent_AxisType axisType = AXIS_TYPE_SCROLL_VERTICAL;
1077c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventAxisValue(axisEvent, axisType, nullptr);
1078c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1079c29fa5a6Sopenharmony_ci    result = OH_Input_DestroyAxisEvent(&axisEvent);
1080c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
1081c29fa5a6Sopenharmony_ci}
1082c29fa5a6Sopenharmony_ci
1083c29fa5a6Sopenharmony_ci/**
1084c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventAxisValue_002
1085c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventAxisValue
1086c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1087c29fa5a6Sopenharmony_ci * @tc.require:
1088c29fa5a6Sopenharmony_ci */
1089c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventAxisValue_002, TestSize.Level1)
1090c29fa5a6Sopenharmony_ci{
1091c29fa5a6Sopenharmony_ci    InputEvent_AxisType axisType = AXIS_TYPE_SCROLL_VERTICAL;
1092c29fa5a6Sopenharmony_ci    double axisValue = DEFAULT_AXIS_VALUE;
1093c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventAxisValue(nullptr, axisType, &axisValue);
1094c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1095c29fa5a6Sopenharmony_ci}
1096c29fa5a6Sopenharmony_ci
1097c29fa5a6Sopenharmony_ci/**
1098c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventAxisValue_003
1099c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventAxisValue
1100c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1101c29fa5a6Sopenharmony_ci * @tc.require:
1102c29fa5a6Sopenharmony_ci */
1103c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventAxisValue_003, TestSize.Level1)
1104c29fa5a6Sopenharmony_ci{
1105c29fa5a6Sopenharmony_ci    InputEvent_AxisType axisType = AXIS_TYPE_SCROLL_VERTICAL;
1106c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventAxisValue(nullptr, axisType, nullptr);
1107c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1108c29fa5a6Sopenharmony_ci}
1109c29fa5a6Sopenharmony_ci
1110c29fa5a6Sopenharmony_ci/**
1111c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventAxisValue_004
1112c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventAxisValue
1113c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1114c29fa5a6Sopenharmony_ci * @tc.require:
1115c29fa5a6Sopenharmony_ci */
1116c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventAxisValue_004, TestSize.Level1)
1117c29fa5a6Sopenharmony_ci{
1118c29fa5a6Sopenharmony_ci    Input_AxisEvent* axisEvent = OH_Input_CreateAxisEvent();
1119c29fa5a6Sopenharmony_ci    EXPECT_NE(axisEvent, nullptr);
1120c29fa5a6Sopenharmony_ci    InputEvent_AxisType axisType = AXIS_TYPE_SCROLL_VERTICAL;
1121c29fa5a6Sopenharmony_ci    double axisValue = DEFAULT_AXIS_VALUE;
1122c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventAxisValue(axisEvent, axisType, &axisValue);
1123c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1124c29fa5a6Sopenharmony_ci    result = OH_Input_DestroyAxisEvent(&axisEvent);
1125c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
1126c29fa5a6Sopenharmony_ci}
1127c29fa5a6Sopenharmony_ci
1128c29fa5a6Sopenharmony_ci/**
1129c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_SetAxisEventActionTime_001
1130c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_SetAxisEventActionTime
1131c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1132c29fa5a6Sopenharmony_ci * @tc.require:
1133c29fa5a6Sopenharmony_ci */
1134c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_SetAxisEventActionTime_001, TestSize.Level1)
1135c29fa5a6Sopenharmony_ci{
1136c29fa5a6Sopenharmony_ci    int64_t actionTime = DEFAULT_ACTIONE_TIME;
1137c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_SetAxisEventActionTime(nullptr, actionTime);
1138c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1139c29fa5a6Sopenharmony_ci}
1140c29fa5a6Sopenharmony_ci
1141c29fa5a6Sopenharmony_ci/**
1142c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventActionTime_001
1143c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventActionTime
1144c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1145c29fa5a6Sopenharmony_ci * @tc.require:
1146c29fa5a6Sopenharmony_ci */
1147c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventActionTime_001, TestSize.Level1)
1148c29fa5a6Sopenharmony_ci{
1149c29fa5a6Sopenharmony_ci    Input_AxisEvent* axisEvent = OH_Input_CreateAxisEvent();
1150c29fa5a6Sopenharmony_ci    EXPECT_NE(axisEvent, nullptr);
1151c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventActionTime(axisEvent, nullptr);
1152c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1153c29fa5a6Sopenharmony_ci    result = OH_Input_DestroyAxisEvent(&axisEvent);
1154c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
1155c29fa5a6Sopenharmony_ci}
1156c29fa5a6Sopenharmony_ci
1157c29fa5a6Sopenharmony_ci/**
1158c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventActionTime_002
1159c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventActionTime
1160c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1161c29fa5a6Sopenharmony_ci * @tc.require:
1162c29fa5a6Sopenharmony_ci */
1163c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventActionTime_002, TestSize.Level1)
1164c29fa5a6Sopenharmony_ci{
1165c29fa5a6Sopenharmony_ci    int64_t actionTime = DEFAULT_ACTIONE_TIME;
1166c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventActionTime(nullptr, &actionTime);
1167c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1168c29fa5a6Sopenharmony_ci}
1169c29fa5a6Sopenharmony_ci
1170c29fa5a6Sopenharmony_ci/**
1171c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventActionTime_003
1172c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventActionTime
1173c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1174c29fa5a6Sopenharmony_ci * @tc.require:
1175c29fa5a6Sopenharmony_ci */
1176c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventActionTime_003, TestSize.Level1)
1177c29fa5a6Sopenharmony_ci{
1178c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventActionTime(nullptr, nullptr);
1179c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1180c29fa5a6Sopenharmony_ci}
1181c29fa5a6Sopenharmony_ci
1182c29fa5a6Sopenharmony_ci/**
1183c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_SetAxisEventType_001
1184c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_SetAxisEventType
1185c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1186c29fa5a6Sopenharmony_ci * @tc.require:
1187c29fa5a6Sopenharmony_ci */
1188c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_SetAxisEventType_001, TestSize.Level1)
1189c29fa5a6Sopenharmony_ci{
1190c29fa5a6Sopenharmony_ci    InputEvent_AxisEventType axisEventType = AXIS_EVENT_TYPE_PINCH;
1191c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_SetAxisEventType(nullptr, axisEventType);
1192c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1193c29fa5a6Sopenharmony_ci}
1194c29fa5a6Sopenharmony_ci
1195c29fa5a6Sopenharmony_ci/**
1196c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventType_001
1197c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventType
1198c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1199c29fa5a6Sopenharmony_ci * @tc.require:
1200c29fa5a6Sopenharmony_ci */
1201c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventType_001, TestSize.Level1)
1202c29fa5a6Sopenharmony_ci{
1203c29fa5a6Sopenharmony_ci    Input_AxisEvent* axisEvent = OH_Input_CreateAxisEvent();
1204c29fa5a6Sopenharmony_ci    EXPECT_NE(axisEvent, nullptr);
1205c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventType(axisEvent, nullptr);
1206c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1207c29fa5a6Sopenharmony_ci    result = OH_Input_DestroyAxisEvent(&axisEvent);
1208c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
1209c29fa5a6Sopenharmony_ci}
1210c29fa5a6Sopenharmony_ci
1211c29fa5a6Sopenharmony_ci/**
1212c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventType_002
1213c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventType
1214c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1215c29fa5a6Sopenharmony_ci * @tc.require:
1216c29fa5a6Sopenharmony_ci */
1217c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventType_002, TestSize.Level1)
1218c29fa5a6Sopenharmony_ci{
1219c29fa5a6Sopenharmony_ci    InputEvent_AxisEventType axisEventType = AXIS_EVENT_TYPE_PINCH;
1220c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventType(nullptr, &axisEventType);
1221c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1222c29fa5a6Sopenharmony_ci}
1223c29fa5a6Sopenharmony_ci
1224c29fa5a6Sopenharmony_ci/**
1225c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventType_003
1226c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventType
1227c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1228c29fa5a6Sopenharmony_ci * @tc.require:
1229c29fa5a6Sopenharmony_ci */
1230c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventType_003, TestSize.Level1)
1231c29fa5a6Sopenharmony_ci{
1232c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventType(nullptr, nullptr);
1233c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1234c29fa5a6Sopenharmony_ci}
1235c29fa5a6Sopenharmony_ci
1236c29fa5a6Sopenharmony_ci/**
1237c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_SetAxisEventSourceType_001
1238c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_SetAxisEventSourceType
1239c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1240c29fa5a6Sopenharmony_ci * @tc.require:
1241c29fa5a6Sopenharmony_ci */
1242c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_SetAxisEventSourceType_001, TestSize.Level1)
1243c29fa5a6Sopenharmony_ci{
1244c29fa5a6Sopenharmony_ci    InputEvent_SourceType sourceType = SOURCE_TYPE_MOUSE;
1245c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_SetAxisEventSourceType(nullptr, sourceType);
1246c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1247c29fa5a6Sopenharmony_ci}
1248c29fa5a6Sopenharmony_ci
1249c29fa5a6Sopenharmony_ci/**
1250c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventSourceType_001
1251c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventSourceType
1252c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1253c29fa5a6Sopenharmony_ci * @tc.require:
1254c29fa5a6Sopenharmony_ci */
1255c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventSourceType_001, TestSize.Level1)
1256c29fa5a6Sopenharmony_ci{
1257c29fa5a6Sopenharmony_ci    Input_AxisEvent* axisEvent = OH_Input_CreateAxisEvent();
1258c29fa5a6Sopenharmony_ci    EXPECT_NE(axisEvent, nullptr);
1259c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventSourceType(axisEvent, nullptr);
1260c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1261c29fa5a6Sopenharmony_ci    result = OH_Input_DestroyAxisEvent(&axisEvent);
1262c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_SUCCESS);
1263c29fa5a6Sopenharmony_ci}
1264c29fa5a6Sopenharmony_ci
1265c29fa5a6Sopenharmony_ci/**
1266c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventSourceType_002
1267c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventSourceType
1268c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1269c29fa5a6Sopenharmony_ci * @tc.require:
1270c29fa5a6Sopenharmony_ci */
1271c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventSourceType_002, TestSize.Level1)
1272c29fa5a6Sopenharmony_ci{
1273c29fa5a6Sopenharmony_ci    InputEvent_SourceType sourceType = SOURCE_TYPE_MOUSE;
1274c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventSourceType(nullptr, &sourceType);
1275c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1276c29fa5a6Sopenharmony_ci}
1277c29fa5a6Sopenharmony_ci
1278c29fa5a6Sopenharmony_ci/**
1279c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAxisEventSourceType_003
1280c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_GetAxisEventSourceType
1281c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1282c29fa5a6Sopenharmony_ci * @tc.require:
1283c29fa5a6Sopenharmony_ci */
1284c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAxisEventSourceType_003, TestSize.Level1)
1285c29fa5a6Sopenharmony_ci{
1286c29fa5a6Sopenharmony_ci    Input_Result result = OH_Input_GetAxisEventSourceType(nullptr, nullptr);
1287c29fa5a6Sopenharmony_ci    EXPECT_EQ(result, INPUT_PARAMETER_ERROR);
1288c29fa5a6Sopenharmony_ci}
1289c29fa5a6Sopenharmony_ci
1290c29fa5a6Sopenharmony_cistatic void KeyEventCallback(const struct Input_KeyEvent* keyEvent)
1291c29fa5a6Sopenharmony_ci{
1292c29fa5a6Sopenharmony_ci    EXPECT_NE(keyEvent, nullptr);
1293c29fa5a6Sopenharmony_ci    int32_t action = OH_Input_GetKeyEventAction(keyEvent);
1294c29fa5a6Sopenharmony_ci    int32_t keyCode = OH_Input_GetKeyEventKeyCode(keyEvent);
1295c29fa5a6Sopenharmony_ci    MMI_HILOGI("KeyEventCallback, action:%{public}d, keyCode:%{public}d,", action, keyCode);
1296c29fa5a6Sopenharmony_ci}
1297c29fa5a6Sopenharmony_ci
1298c29fa5a6Sopenharmony_cistatic void MouseEventCallback(const struct Input_MouseEvent* mouseEvent)
1299c29fa5a6Sopenharmony_ci{
1300c29fa5a6Sopenharmony_ci    EXPECT_NE(mouseEvent, nullptr);
1301c29fa5a6Sopenharmony_ci    int32_t action = OH_Input_GetMouseEventAction(mouseEvent);
1302c29fa5a6Sopenharmony_ci    int32_t displayX = OH_Input_GetMouseEventDisplayX(mouseEvent);
1303c29fa5a6Sopenharmony_ci    int32_t displayY = OH_Input_GetMouseEventDisplayY(mouseEvent);
1304c29fa5a6Sopenharmony_ci    MMI_HILOGI("MouseEventCallback, action:%{public}d, displayX:%{public}d, displayY:%{public}d",
1305c29fa5a6Sopenharmony_ci        action, displayX, displayY);
1306c29fa5a6Sopenharmony_ci}
1307c29fa5a6Sopenharmony_ci
1308c29fa5a6Sopenharmony_cistatic void TouchEventCallback(const struct Input_TouchEvent* touchEvent)
1309c29fa5a6Sopenharmony_ci{
1310c29fa5a6Sopenharmony_ci    EXPECT_NE(touchEvent, nullptr);
1311c29fa5a6Sopenharmony_ci    int32_t action = OH_Input_GetTouchEventAction(touchEvent);
1312c29fa5a6Sopenharmony_ci    int32_t id = OH_Input_GetTouchEventFingerId(touchEvent);
1313c29fa5a6Sopenharmony_ci    MMI_HILOGI("TouchEventCallback, action:%{public}d, id:%{public}d", action, id);
1314c29fa5a6Sopenharmony_ci}
1315c29fa5a6Sopenharmony_ci
1316c29fa5a6Sopenharmony_cistatic void AxisEventCallbackAll(const struct Input_AxisEvent* axisEvent)
1317c29fa5a6Sopenharmony_ci{
1318c29fa5a6Sopenharmony_ci    EXPECT_NE(axisEvent, nullptr);
1319c29fa5a6Sopenharmony_ci    InputEvent_AxisAction axisAction = AXIS_ACTION_BEGIN;
1320c29fa5a6Sopenharmony_ci    OH_Input_GetAxisEventAction(axisEvent, &axisAction);
1321c29fa5a6Sopenharmony_ci    InputEvent_AxisEventType sourceType = AXIS_EVENT_TYPE_PINCH;
1322c29fa5a6Sopenharmony_ci    OH_Input_GetAxisEventType(axisEvent, &sourceType);
1323c29fa5a6Sopenharmony_ci    InputEvent_SourceType axisEventType = SOURCE_TYPE_MOUSE;
1324c29fa5a6Sopenharmony_ci    OH_Input_GetAxisEventSourceType(axisEvent, &axisEventType);
1325c29fa5a6Sopenharmony_ci    MMI_HILOGI("AxisEventCallbackAll, axisAction:%{public}d, sourceType:%{public}d, axisEventType:%{public}d",
1326c29fa5a6Sopenharmony_ci        axisAction, sourceType, axisEventType);
1327c29fa5a6Sopenharmony_ci}
1328c29fa5a6Sopenharmony_ci
1329c29fa5a6Sopenharmony_cistatic void AxisEventCallback(const struct Input_AxisEvent* axisEvent)
1330c29fa5a6Sopenharmony_ci{
1331c29fa5a6Sopenharmony_ci    EXPECT_NE(axisEvent, nullptr);
1332c29fa5a6Sopenharmony_ci    InputEvent_AxisAction axisAction = AXIS_ACTION_BEGIN;
1333c29fa5a6Sopenharmony_ci    OH_Input_GetAxisEventAction(axisEvent, &axisAction);
1334c29fa5a6Sopenharmony_ci    InputEvent_AxisEventType sourceType = AXIS_EVENT_TYPE_PINCH;
1335c29fa5a6Sopenharmony_ci    OH_Input_GetAxisEventType(axisEvent, &sourceType);
1336c29fa5a6Sopenharmony_ci    InputEvent_SourceType axisEventType = SOURCE_TYPE_MOUSE;
1337c29fa5a6Sopenharmony_ci    OH_Input_GetAxisEventSourceType(axisEvent, &axisEventType);
1338c29fa5a6Sopenharmony_ci    MMI_HILOGI("AxisEventCallback, axisAction:%{public}d, sourceType:%{public}d, axisEventType:%{public}d",
1339c29fa5a6Sopenharmony_ci        axisAction, sourceType, axisEventType);
1340c29fa5a6Sopenharmony_ci}
1341c29fa5a6Sopenharmony_ci
1342c29fa5a6Sopenharmony_ci/**
1343c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_AddKeyEventMonitor_001
1344c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_AddKeyEventMonitor
1345c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1346c29fa5a6Sopenharmony_ci * @tc.require:
1347c29fa5a6Sopenharmony_ci */
1348c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_AddKeyEventMonitor_001, TestSize.Level1)
1349c29fa5a6Sopenharmony_ci{
1350c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_AddKeyEventMonitor(KeyEventCallback);
1351c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1352c29fa5a6Sopenharmony_ci    retResult = OH_Input_RemoveKeyEventMonitor(KeyEventCallback);
1353c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1354c29fa5a6Sopenharmony_ci}
1355c29fa5a6Sopenharmony_ci
1356c29fa5a6Sopenharmony_ci/**
1357c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_AddKeyEventMonitor_002
1358c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_AddKeyEventMonitor
1359c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1360c29fa5a6Sopenharmony_ci * @tc.require:
1361c29fa5a6Sopenharmony_ci */
1362c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_AddKeyEventMonitor_002, TestSize.Level1)
1363c29fa5a6Sopenharmony_ci{
1364c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_AddKeyEventMonitor(nullptr);
1365c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
1366c29fa5a6Sopenharmony_ci}
1367c29fa5a6Sopenharmony_ci
1368c29fa5a6Sopenharmony_ci/**
1369c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_RemoveKeyEventMonitor_001
1370c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_RemoveKeyEventMonitor
1371c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1372c29fa5a6Sopenharmony_ci * @tc.require:
1373c29fa5a6Sopenharmony_ci */
1374c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_RemoveKeyEventMonitor_001, TestSize.Level1)
1375c29fa5a6Sopenharmony_ci{
1376c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_RemoveKeyEventMonitor(nullptr);
1377c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
1378c29fa5a6Sopenharmony_ci}
1379c29fa5a6Sopenharmony_ci
1380c29fa5a6Sopenharmony_ci/**
1381c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_RemoveKeyEventMonitor_002
1382c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_RemoveKeyEventMonitor
1383c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1384c29fa5a6Sopenharmony_ci * @tc.require:
1385c29fa5a6Sopenharmony_ci */
1386c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_RemoveKeyEventMonitor_002, TestSize.Level1)
1387c29fa5a6Sopenharmony_ci{
1388c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_RemoveKeyEventMonitor(KeyEventCallback);
1389c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
1390c29fa5a6Sopenharmony_ci    retResult = OH_Input_AddKeyEventMonitor(KeyEventCallback);
1391c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1392c29fa5a6Sopenharmony_ci    retResult = OH_Input_RemoveKeyEventMonitor(KeyEventCallback);
1393c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1394c29fa5a6Sopenharmony_ci}
1395c29fa5a6Sopenharmony_ci
1396c29fa5a6Sopenharmony_ci
1397c29fa5a6Sopenharmony_ci/**
1398c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_AddMouseEventMonitor_001
1399c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_AddMouseEventMonitor
1400c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1401c29fa5a6Sopenharmony_ci * @tc.require:
1402c29fa5a6Sopenharmony_ci */
1403c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_AddMouseEventMonitor_001, TestSize.Level1)
1404c29fa5a6Sopenharmony_ci{
1405c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_AddMouseEventMonitor(MouseEventCallback);
1406c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1407c29fa5a6Sopenharmony_ci    retResult = OH_Input_RemoveMouseEventMonitor(MouseEventCallback);
1408c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1409c29fa5a6Sopenharmony_ci}
1410c29fa5a6Sopenharmony_ci
1411c29fa5a6Sopenharmony_ci/**
1412c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_AddMouseEventMonitor_002
1413c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_AddMouseEventMonitor
1414c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1415c29fa5a6Sopenharmony_ci * @tc.require:
1416c29fa5a6Sopenharmony_ci */
1417c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_AddMouseEventMonitor_002, TestSize.Level1)
1418c29fa5a6Sopenharmony_ci{
1419c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_AddMouseEventMonitor(nullptr);
1420c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
1421c29fa5a6Sopenharmony_ci}
1422c29fa5a6Sopenharmony_ci
1423c29fa5a6Sopenharmony_ci/**
1424c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_RemoveMouseEventMonitor_001
1425c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_RemoveMouseEventMonitor
1426c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1427c29fa5a6Sopenharmony_ci * @tc.require:
1428c29fa5a6Sopenharmony_ci */
1429c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_RemoveMouseEventMonitor_001, TestSize.Level1)
1430c29fa5a6Sopenharmony_ci{
1431c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_RemoveMouseEventMonitor(nullptr);
1432c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
1433c29fa5a6Sopenharmony_ci}
1434c29fa5a6Sopenharmony_ci
1435c29fa5a6Sopenharmony_ci/**
1436c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_RemoveMouseEventMonitor_002
1437c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_RemoveMouseEventMonitor
1438c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1439c29fa5a6Sopenharmony_ci * @tc.require:
1440c29fa5a6Sopenharmony_ci */
1441c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_RemoveMouseEventMonitor_002, TestSize.Level1)
1442c29fa5a6Sopenharmony_ci{
1443c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_RemoveMouseEventMonitor(MouseEventCallback);
1444c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
1445c29fa5a6Sopenharmony_ci    retResult = OH_Input_AddMouseEventMonitor(MouseEventCallback);
1446c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1447c29fa5a6Sopenharmony_ci    retResult = OH_Input_RemoveMouseEventMonitor(MouseEventCallback);
1448c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1449c29fa5a6Sopenharmony_ci}
1450c29fa5a6Sopenharmony_ci
1451c29fa5a6Sopenharmony_ci/**
1452c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_AddTouchEventMonitor_001
1453c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_AddTouchEventMonitor
1454c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1455c29fa5a6Sopenharmony_ci * @tc.require:
1456c29fa5a6Sopenharmony_ci */
1457c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_AddTouchEventMonitor_001, TestSize.Level1)
1458c29fa5a6Sopenharmony_ci{
1459c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_AddTouchEventMonitor(TouchEventCallback);
1460c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1461c29fa5a6Sopenharmony_ci    retResult = OH_Input_RemoveTouchEventMonitor(TouchEventCallback);
1462c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1463c29fa5a6Sopenharmony_ci}
1464c29fa5a6Sopenharmony_ci
1465c29fa5a6Sopenharmony_ci/**
1466c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_AddTouchEventMonitor_002
1467c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_AddTouchEventMonitor
1468c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1469c29fa5a6Sopenharmony_ci * @tc.require:
1470c29fa5a6Sopenharmony_ci */
1471c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_AddTouchEventMonitor_002, TestSize.Level1)
1472c29fa5a6Sopenharmony_ci{
1473c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_AddTouchEventMonitor(nullptr);
1474c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
1475c29fa5a6Sopenharmony_ci}
1476c29fa5a6Sopenharmony_ci
1477c29fa5a6Sopenharmony_ci/**
1478c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_RemoveTouchEventMonitor_001
1479c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_RemoveTouchEventMonitor
1480c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1481c29fa5a6Sopenharmony_ci * @tc.require:
1482c29fa5a6Sopenharmony_ci */
1483c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_RemoveTouchEventMonitor_001, TestSize.Level1)
1484c29fa5a6Sopenharmony_ci{
1485c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_RemoveTouchEventMonitor(nullptr);
1486c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
1487c29fa5a6Sopenharmony_ci}
1488c29fa5a6Sopenharmony_ci
1489c29fa5a6Sopenharmony_ci/**
1490c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_RemoveTouchEventMonitor_002
1491c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_RemoveTouchEventMonitor
1492c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1493c29fa5a6Sopenharmony_ci * @tc.require:
1494c29fa5a6Sopenharmony_ci */
1495c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_RemoveTouchEventMonitor_002, TestSize.Level1)
1496c29fa5a6Sopenharmony_ci{
1497c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_RemoveTouchEventMonitor(TouchEventCallback);
1498c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
1499c29fa5a6Sopenharmony_ci    retResult = OH_Input_AddTouchEventMonitor(TouchEventCallback);
1500c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1501c29fa5a6Sopenharmony_ci    retResult = OH_Input_RemoveTouchEventMonitor(TouchEventCallback);
1502c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1503c29fa5a6Sopenharmony_ci}
1504c29fa5a6Sopenharmony_ci
1505c29fa5a6Sopenharmony_ci
1506c29fa5a6Sopenharmony_ci/**
1507c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_AddAxisEventMonitorForAll_001
1508c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_AddAxisEventMonitorForAll
1509c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1510c29fa5a6Sopenharmony_ci * @tc.require:
1511c29fa5a6Sopenharmony_ci */
1512c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_AddAxisEventMonitorForAll_001, TestSize.Level1)
1513c29fa5a6Sopenharmony_ci{
1514c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_AddAxisEventMonitorForAll(AxisEventCallbackAll);
1515c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1516c29fa5a6Sopenharmony_ci    retResult = OH_Input_RemoveAxisEventMonitorForAll(AxisEventCallbackAll);
1517c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1518c29fa5a6Sopenharmony_ci}
1519c29fa5a6Sopenharmony_ci
1520c29fa5a6Sopenharmony_ci/**
1521c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_AddAxisEventMonitorForAll_002
1522c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_AddAxisEventMonitorForAll
1523c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1524c29fa5a6Sopenharmony_ci * @tc.require:
1525c29fa5a6Sopenharmony_ci */
1526c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_AddAxisEventMonitorForAll_002, TestSize.Level1)
1527c29fa5a6Sopenharmony_ci{
1528c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_AddAxisEventMonitorForAll(nullptr);
1529c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
1530c29fa5a6Sopenharmony_ci}
1531c29fa5a6Sopenharmony_ci
1532c29fa5a6Sopenharmony_ci/**
1533c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_RemoveAxisEventMonitorForAll_001
1534c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_RemoveAxisEventMonitorForAll
1535c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1536c29fa5a6Sopenharmony_ci * @tc.require:
1537c29fa5a6Sopenharmony_ci */
1538c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_RemoveAxisEventMonitorForAll_001, TestSize.Level1)
1539c29fa5a6Sopenharmony_ci{
1540c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_RemoveAxisEventMonitorForAll(nullptr);
1541c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
1542c29fa5a6Sopenharmony_ci}
1543c29fa5a6Sopenharmony_ci
1544c29fa5a6Sopenharmony_ci/**
1545c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_RemoveAxisEventMonitorForAll_002
1546c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_RemoveAxisEventMonitorForAll
1547c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1548c29fa5a6Sopenharmony_ci * @tc.require:
1549c29fa5a6Sopenharmony_ci */
1550c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_RemoveAxisEventMonitorForAll_002, TestSize.Level1)
1551c29fa5a6Sopenharmony_ci{
1552c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_RemoveAxisEventMonitorForAll(AxisEventCallbackAll);
1553c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
1554c29fa5a6Sopenharmony_ci    retResult = OH_Input_AddAxisEventMonitorForAll(AxisEventCallbackAll);
1555c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1556c29fa5a6Sopenharmony_ci    retResult = OH_Input_RemoveAxisEventMonitorForAll(AxisEventCallbackAll);
1557c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1558c29fa5a6Sopenharmony_ci}
1559c29fa5a6Sopenharmony_ci
1560c29fa5a6Sopenharmony_ci/**
1561c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_AddAxisEventMonitor_001
1562c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_AddAxisEventMonitor
1563c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1564c29fa5a6Sopenharmony_ci * @tc.require:
1565c29fa5a6Sopenharmony_ci */
1566c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_AddAxisEventMonitor_001, TestSize.Level1)
1567c29fa5a6Sopenharmony_ci{
1568c29fa5a6Sopenharmony_ci    InputEvent_AxisEventType axisEventType = AXIS_EVENT_TYPE_PINCH;
1569c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_AddAxisEventMonitor(axisEventType, AxisEventCallback);
1570c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1571c29fa5a6Sopenharmony_ci    retResult = OH_Input_RemoveAxisEventMonitor(axisEventType, AxisEventCallback);
1572c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1573c29fa5a6Sopenharmony_ci}
1574c29fa5a6Sopenharmony_ci
1575c29fa5a6Sopenharmony_ci/**
1576c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_AddAxisEventMonitor_002
1577c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_AddAxisEventMonitor
1578c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1579c29fa5a6Sopenharmony_ci * @tc.require:
1580c29fa5a6Sopenharmony_ci */
1581c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_AddAxisEventMonitor_002, TestSize.Level1)
1582c29fa5a6Sopenharmony_ci{
1583c29fa5a6Sopenharmony_ci    InputEvent_AxisEventType axisEventType = AXIS_EVENT_TYPE_PINCH;
1584c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_AddAxisEventMonitor(axisEventType, nullptr);
1585c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
1586c29fa5a6Sopenharmony_ci}
1587c29fa5a6Sopenharmony_ci
1588c29fa5a6Sopenharmony_ci/**
1589c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_RemoveAxisEventMonitor_001
1590c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_RemoveAxisEventMonitor
1591c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1592c29fa5a6Sopenharmony_ci * @tc.require:
1593c29fa5a6Sopenharmony_ci */
1594c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_RemoveAxisEventMonitor_001, TestSize.Level1)
1595c29fa5a6Sopenharmony_ci{
1596c29fa5a6Sopenharmony_ci    InputEvent_AxisEventType axisEventType = AXIS_EVENT_TYPE_PINCH;
1597c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_RemoveAxisEventMonitor(axisEventType, nullptr);
1598c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
1599c29fa5a6Sopenharmony_ci}
1600c29fa5a6Sopenharmony_ci
1601c29fa5a6Sopenharmony_ci/**
1602c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_RemoveAxisEventMonitor_002
1603c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_RemoveAxisEventMonitor
1604c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1605c29fa5a6Sopenharmony_ci * @tc.require:
1606c29fa5a6Sopenharmony_ci */
1607c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_RemoveAxisEventMonitor_002, TestSize.Level1)
1608c29fa5a6Sopenharmony_ci{
1609c29fa5a6Sopenharmony_ci    InputEvent_AxisEventType axisEventType = AXIS_EVENT_TYPE_PINCH;
1610c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_RemoveAxisEventMonitor(axisEventType, AxisEventCallback);
1611c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
1612c29fa5a6Sopenharmony_ci    retResult = OH_Input_AddAxisEventMonitor(axisEventType, AxisEventCallback);
1613c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1614c29fa5a6Sopenharmony_ci    retResult = OH_Input_RemoveAxisEventMonitor(AXIS_EVENT_TYPE_SCROLL, AxisEventCallback);
1615c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
1616c29fa5a6Sopenharmony_ci    retResult = OH_Input_RemoveAxisEventMonitor(axisEventType, AxisEventCallback);
1617c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1618c29fa5a6Sopenharmony_ci}
1619c29fa5a6Sopenharmony_ci
1620c29fa5a6Sopenharmony_ci/**
1621c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_AddKeyEventInterceptor_001
1622c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_AddKeyEventInterceptor
1623c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1624c29fa5a6Sopenharmony_ci * @tc.require:
1625c29fa5a6Sopenharmony_ci */
1626c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_AddKeyEventInterceptor_001, TestSize.Level1)
1627c29fa5a6Sopenharmony_ci{
1628c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_AddKeyEventInterceptor(nullptr, nullptr);
1629c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
1630c29fa5a6Sopenharmony_ci}
1631c29fa5a6Sopenharmony_ci
1632c29fa5a6Sopenharmony_ci/**
1633c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_AddKeyEventInterceptor_002
1634c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_AddKeyEventInterceptor
1635c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1636c29fa5a6Sopenharmony_ci * @tc.require:
1637c29fa5a6Sopenharmony_ci */
1638c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_AddKeyEventInterceptor_002, TestSize.Level1)
1639c29fa5a6Sopenharmony_ci{
1640c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_AddKeyEventInterceptor(KeyEventCallback, nullptr);
1641c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1642c29fa5a6Sopenharmony_ci    retResult = OH_Input_AddKeyEventInterceptor(KeyEventCallback, nullptr);
1643c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_REPEAT_INTERCEPTOR);
1644c29fa5a6Sopenharmony_ci    retResult = OH_Input_RemoveKeyEventInterceptor();
1645c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1646c29fa5a6Sopenharmony_ci}
1647c29fa5a6Sopenharmony_ci
1648c29fa5a6Sopenharmony_ci/**
1649c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_RemoveKeyEventInterceptor_001
1650c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_RemoveKeyEventInterceptor
1651c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1652c29fa5a6Sopenharmony_ci * @tc.require:
1653c29fa5a6Sopenharmony_ci */
1654c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_RemoveKeyEventInterceptor_001, TestSize.Level1)
1655c29fa5a6Sopenharmony_ci{
1656c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_RemoveKeyEventInterceptor();
1657c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SERVICE_EXCEPTION);
1658c29fa5a6Sopenharmony_ci    retResult = OH_Input_AddKeyEventInterceptor(KeyEventCallback, nullptr);
1659c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1660c29fa5a6Sopenharmony_ci    retResult = OH_Input_RemoveKeyEventInterceptor();
1661c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1662c29fa5a6Sopenharmony_ci}
1663c29fa5a6Sopenharmony_ci
1664c29fa5a6Sopenharmony_ci/**
1665c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_AddInputEventInterceptor_001
1666c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_AddInputEventInterceptor
1667c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1668c29fa5a6Sopenharmony_ci * @tc.require:
1669c29fa5a6Sopenharmony_ci */
1670c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_AddInputEventInterceptor_001, TestSize.Level1)
1671c29fa5a6Sopenharmony_ci{
1672c29fa5a6Sopenharmony_ci    Input_InterceptorOptions *option = nullptr;
1673c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_AddInputEventInterceptor(nullptr, option);
1674c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_PARAMETER_ERROR);
1675c29fa5a6Sopenharmony_ci}
1676c29fa5a6Sopenharmony_ci
1677c29fa5a6Sopenharmony_ci/**
1678c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_AddInputEventInterceptor_002
1679c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_AddInputEventInterceptor
1680c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1681c29fa5a6Sopenharmony_ci * @tc.require:
1682c29fa5a6Sopenharmony_ci */
1683c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_AddInputEventInterceptor_002, TestSize.Level1)
1684c29fa5a6Sopenharmony_ci{
1685c29fa5a6Sopenharmony_ci    Input_InterceptorEventCallback callback;
1686c29fa5a6Sopenharmony_ci    callback.mouseCallback = MouseEventCallback;
1687c29fa5a6Sopenharmony_ci    callback.touchCallback = TouchEventCallback;
1688c29fa5a6Sopenharmony_ci    callback.axisCallback = AxisEventCallback;
1689c29fa5a6Sopenharmony_ci    Input_InterceptorOptions *option = nullptr;
1690c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_AddInputEventInterceptor(&callback, option);
1691c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1692c29fa5a6Sopenharmony_ci    retResult = OH_Input_AddInputEventInterceptor(&callback, option);
1693c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_REPEAT_INTERCEPTOR);
1694c29fa5a6Sopenharmony_ci    retResult = OH_Input_RemoveInputEventInterceptor();
1695c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1696c29fa5a6Sopenharmony_ci}
1697c29fa5a6Sopenharmony_ci
1698c29fa5a6Sopenharmony_ci/**
1699c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_RemoveInputEventInterceptor_001
1700c29fa5a6Sopenharmony_ci * @tc.desc: Verify the OH_Input_RemoveInputEventInterceptor
1701c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1702c29fa5a6Sopenharmony_ci * @tc.require:
1703c29fa5a6Sopenharmony_ci */
1704c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_RemoveInputEventInterceptor_001, TestSize.Level1)
1705c29fa5a6Sopenharmony_ci{
1706c29fa5a6Sopenharmony_ci    Input_Result retResult = OH_Input_RemoveInputEventInterceptor();
1707c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SERVICE_EXCEPTION);
1708c29fa5a6Sopenharmony_ci    Input_InterceptorEventCallback callback;
1709c29fa5a6Sopenharmony_ci    callback.mouseCallback = MouseEventCallback;
1710c29fa5a6Sopenharmony_ci    callback.touchCallback = TouchEventCallback;
1711c29fa5a6Sopenharmony_ci    callback.axisCallback = AxisEventCallback;
1712c29fa5a6Sopenharmony_ci    Input_InterceptorOptions *option = nullptr;
1713c29fa5a6Sopenharmony_ci    retResult = OH_Input_AddInputEventInterceptor(&callback, option);
1714c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1715c29fa5a6Sopenharmony_ci    retResult = OH_Input_RemoveInputEventInterceptor();
1716c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1717c29fa5a6Sopenharmony_ci}
1718c29fa5a6Sopenharmony_ci
1719c29fa5a6Sopenharmony_ci/**
1720c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_GetIntervalSinceLastInput_001
1721c29fa5a6Sopenharmony_ci * @tc.desc: Verify the Get Interval Since Last Input
1722c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1723c29fa5a6Sopenharmony_ci * @tc.require:
1724c29fa5a6Sopenharmony_ci */
1725c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_GetIntervalSinceLastInput_001, TestSize.Level1)
1726c29fa5a6Sopenharmony_ci{
1727c29fa5a6Sopenharmony_ci    int64_t *intervalSinceLastInput = static_cast<int64_t *>(malloc(sizeof(int64_t)));
1728c29fa5a6Sopenharmony_ci    int32_t retResult = OH_Input_GetIntervalSinceLastInput(intervalSinceLastInput);
1729c29fa5a6Sopenharmony_ci    free(intervalSinceLastInput);
1730c29fa5a6Sopenharmony_ci    EXPECT_EQ(retResult, INPUT_SUCCESS);
1731c29fa5a6Sopenharmony_ci}
1732c29fa5a6Sopenharmony_ci
1733c29fa5a6Sopenharmony_ci/**
1734c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAllSystemHotkeys_001
1735c29fa5a6Sopenharmony_ci * @tc.desc: Verify the InputNativeTest_OH_Input_GetAllSystemHotkeys
1736c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1737c29fa5a6Sopenharmony_ci * @tc.require:
1738c29fa5a6Sopenharmony_ci */
1739c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAllSystemHotkey_001, TestSize.Level1)
1740c29fa5a6Sopenharmony_ci{
1741c29fa5a6Sopenharmony_ci    int32_t count = 1;
1742c29fa5a6Sopenharmony_ci    Input_Result ret = OH_Input_GetAllSystemHotkeys(nullptr, &count);
1743c29fa5a6Sopenharmony_ci    EXPECT_EQ(ret, INPUT_SUCCESS);
1744c29fa5a6Sopenharmony_ci    Input_Hotkey **hotkey = OH_Input_CreateAllSystemHotkeys(count);
1745c29fa5a6Sopenharmony_ci    ASSERT_NE(hotkey, nullptr);
1746c29fa5a6Sopenharmony_ci    ret = OH_Input_GetAllSystemHotkeys(hotkey, &count);
1747c29fa5a6Sopenharmony_ci    EXPECT_EQ(ret, INPUT_SUCCESS);
1748c29fa5a6Sopenharmony_ci    OH_Input_DestroyAllSystemHotkeys(hotkey, count);
1749c29fa5a6Sopenharmony_ci}
1750c29fa5a6Sopenharmony_ci
1751c29fa5a6Sopenharmony_ci/**
1752c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_GetAllSystemHotkeys_002
1753c29fa5a6Sopenharmony_ci * @tc.desc: Verify the InputNativeTest_OH_Input_GetAllSystemHotkeys
1754c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1755c29fa5a6Sopenharmony_ci * @tc.require:
1756c29fa5a6Sopenharmony_ci */
1757c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_GetAllSystemHotkey_002, TestSize.Level1)
1758c29fa5a6Sopenharmony_ci{
1759c29fa5a6Sopenharmony_ci    Input_Hotkey *hotkey { nullptr };
1760c29fa5a6Sopenharmony_ci    Input_Result ret = OH_Input_GetAllSystemHotkeys(&hotkey, nullptr);
1761c29fa5a6Sopenharmony_ci    ASSERT_NE(ret, INPUT_SUCCESS);
1762c29fa5a6Sopenharmony_ci}
1763c29fa5a6Sopenharmony_ci
1764c29fa5a6Sopenharmony_ci/**
1765c29fa5a6Sopenharmony_ci * @tc.name: InputNativeTest_OH_Input_CreateAllSystemHotkeys_001
1766c29fa5a6Sopenharmony_ci * @tc.desc: Verify the InputNativeTest_OH_Input_CreateAllSystemHotkeys
1767c29fa5a6Sopenharmony_ci * @tc.type: FUNC
1768c29fa5a6Sopenharmony_ci * @tc.require:
1769c29fa5a6Sopenharmony_ci */
1770c29fa5a6Sopenharmony_ciHWTEST_F(InputNativeTest, InputNativeTest_OH_Input_CreateAllSystemHotkeys_001, TestSize.Level1)
1771c29fa5a6Sopenharmony_ci{
1772c29fa5a6Sopenharmony_ci    int32_t count = 100;
1773c29fa5a6Sopenharmony_ci    Input_Hotkey **hotkey = OH_Input_CreateAllSystemHotkeys(count);
1774c29fa5a6Sopenharmony_ci    EXPECT_EQ(hotkey, nullptr);
1775c29fa5a6Sopenharmony_ci}
1776c29fa5a6Sopenharmony_ci} // namespace MMI
1777c29fa5a6Sopenharmony_ci} // namespace OHOS
1778