• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022-2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "gtest/gtest.h"
17 #include "test/unittest/core/event/event_manager_test_ng.h"
18 #include "test/mock/core/pipeline/mock_pipeline_context.h"
19 
20 #include "core/components_ng/base/frame_node.h"
21 #include "core/components_ng/event/event_hub.h"
22 #include "core/components_ng/event/input_event.h"
23 #include "core/components_ng/pattern/pattern.h"
24 #include "core/components_v2/inspector/inspector_constants.h"
25 #include "core/event/mouse_event.h"
26 
27 using namespace testing;
28 using namespace testing::ext;
29 
30 namespace OHOS::Ace::NG {
31 namespace {
32 constexpr float WIDTH = 400.0f;
33 constexpr float HEIGHT = 400.0f;
34 const OffsetF COORDINATE_OFFSET(WIDTH, HEIGHT);
35 const std::string RESULT_SUCCESS_ONE = "sucess1";
36 const std::string RESULT_SUCCESS_TWO = "sucess2";
37 } // namespace
38 
39 class InputEventTestNg : public testing::Test {
40 public:
41     static void SetUpTestSuite();
42     static void TearDownTestSuite();
43     void SetUp() override;
44     void TearDown() override;
45 };
46 
SetUpTestSuite()47 void InputEventTestNg::SetUpTestSuite()
48 {
49     GTEST_LOG_(INFO) << "InputEventTestNg SetUpTestCase";
50 }
51 
TearDownTestSuite()52 void InputEventTestNg::TearDownTestSuite()
53 {
54     GTEST_LOG_(INFO) << "InputEventTestNg TearDownTestCase";
55 }
56 
SetUp()57 void InputEventTestNg::SetUp()
58 {
59     MockPipelineContext::SetUp();
60 }
61 
TearDown()62 void InputEventTestNg::TearDown()
63 {
64     MockPipelineContext::TearDown();
65 }
66 
67 /**
68  * @tc.name: InputEventTest001
69  * @tc.desc: test InputEvent
70  * @tc.type: FUNC
71  */
72 HWTEST_F(InputEventTestNg, InputEventTest001, TestSize.Level1)
73 {
74     auto eventHub = AceType::MakeRefPtr<EventHub>();
75     auto frameNode = AceType::MakeRefPtr<FrameNode>(V2::TEXT_ETS_TAG, -1, AceType::MakeRefPtr<Pattern>());
76     eventHub->AttachHost(frameNode);
77     auto inputEventHub = AceType::MakeRefPtr<InputEventHub>(AceType::WeakClaim(AceType::RawPtr(eventHub)));
78     inputEventHub->mouseEventActuator_ =
79         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
80     inputEventHub->hoverEventActuator_ =
81         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
__anoncfc565e30202(MouseInfo& info) 82     const OnMouseEventFunc onMouse = [](MouseInfo& info) {};
83     OnMouseEventFunc onMouse1 = onMouse;
84     inputEventHub->SetJSFrameNodeOnMouseEvent(std::move(onMouse1));
85     OnMouseEventFunc onMouse2 = onMouse;
86     inputEventHub->SetMouseEvent(std::move(onMouse2));
87 
88     TouchTestResult Result;
89     auto getEventTargetImpl = eventHub->CreateGetEventTargetImpl();
90     inputEventHub->mouseEventActuator_->OnCollectMouseEvent(COORDINATE_OFFSET, getEventTargetImpl, Result);
91     MouseInfo mouse;
92     inputEventHub->mouseEventActuator_->mouseEventTarget_->onMouseCallback_(mouse);
93     EXPECT_NE(inputEventHub, nullptr);
94 }
95 
96 /**
97  * @tc.name: InputEventTest002
98  * @tc.desc: test InputEvent
99  * @tc.type: FUNC
100  */
101 HWTEST_F(InputEventTestNg, InputEventTest002, TestSize.Level1)
102 {
103     auto eventHub = AceType::MakeRefPtr<EventHub>();
104     auto frameNode = AceType::MakeRefPtr<FrameNode>(V2::TEXT_ETS_TAG, -1, AceType::MakeRefPtr<Pattern>());
105     eventHub->AttachHost(frameNode);
106     auto inputEventHub = AceType::MakeRefPtr<InputEventHub>(AceType::WeakClaim(AceType::RawPtr(eventHub)));
107     inputEventHub->hoverEventActuator_ =
108         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
109     OnHoverFunc onHoverEventFunc;
110     OnHoverFunc onHoverEventFunc2;
111     inputEventHub->SetJSFrameNodeOnHoverEvent(std::move(onHoverEventFunc));
112     inputEventHub->SetHoverEvent(std::move(onHoverEventFunc2));
113 
__anoncfc565e30302(bool, HoverInfo) 114     const OnHoverFunc onHover = [](bool, HoverInfo) {};
115     OnHoverFunc onHover1 = onHover;
116     auto onHoverEvent = AceType::MakeRefPtr<InputEvent>(std::move(onHover1));
117     inputEventHub->AddOnHoverEvent(onHoverEvent);
118     inputEventHub->AddOnHoverEvent(nullptr);
119 
120     TouchTestResult hoverResult;
121     auto getEventTargetImpl = eventHub->CreateGetEventTargetImpl();
122     inputEventHub->hoverEventActuator_->OnCollectHoverEvent(COORDINATE_OFFSET, getEventTargetImpl, hoverResult);
123     HoverInfo hover;
124     inputEventHub->hoverEventActuator_->hoverEventTarget_->onHoverEventCallback_(true, hover);
125     EXPECT_NE(inputEventHub, nullptr);
126 }
127 
128 /**
129  * @tc.name: InputEventTest003
130  * @tc.desc: test InputEvent
131  * @tc.type: FUNC
132  */
133 HWTEST_F(InputEventTestNg, InputEventTest003, TestSize.Level1)
134 {
135     auto eventHub = AceType::MakeRefPtr<EventHub>();
136     auto frameNode = AceType::MakeRefPtr<FrameNode>(V2::TEXT_ETS_TAG, -1, AceType::MakeRefPtr<Pattern>());
137     eventHub->AttachHost(frameNode);
138     auto inputEventHub = AceType::MakeRefPtr<InputEventHub>(AceType::WeakClaim(AceType::RawPtr(eventHub)));
139     inputEventHub->hoverEventActuator_ =
140         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
141     OnHoverFunc onHoverEventFunc;
142     inputEventHub->SetHoverEvent(std::move(onHoverEventFunc));
143 
144     TouchTestResult hoverResult;
145     auto getEventTargetImpl = eventHub->CreateGetEventTargetImpl();
146     inputEventHub->hoverEventActuator_->OnCollectHoverEvent(COORDINATE_OFFSET, getEventTargetImpl, hoverResult);
147     HoverInfo hover;
148     inputEventHub->hoverEventActuator_->hoverEventTarget_->onHoverEventCallback_(true, hover);
149     EXPECT_NE(inputEventHub, nullptr);
150 }
151 
152 /**
153  * @tc.name: InputEventTest004
154  * @tc.desc: test InputEvent
155  * @tc.type: FUNC
156  */
157 HWTEST_F(InputEventTestNg, InputEventTest004, TestSize.Level1)
158 {
159     auto eventHub = AceType::MakeRefPtr<EventHub>();
160     auto frameNode = AceType::MakeRefPtr<FrameNode>(V2::TEXT_ETS_TAG, -1, AceType::MakeRefPtr<Pattern>());
161     eventHub->AttachHost(frameNode);
162     auto inputEventHub = AceType::MakeRefPtr<InputEventHub>(AceType::WeakClaim(AceType::RawPtr(eventHub)));
163     inputEventHub->hoverEventActuator_ =
164         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
165     OnHoverFunc onHoverEventFunc;
166     inputEventHub->SetJSFrameNodeOnHoverEvent(std::move(onHoverEventFunc));
167 
168     TouchTestResult hoverResult;
169     auto getEventTargetImpl = eventHub->CreateGetEventTargetImpl();
170     inputEventHub->hoverEventActuator_->OnCollectHoverEvent(COORDINATE_OFFSET, getEventTargetImpl, hoverResult);
171     HoverInfo hover;
172     inputEventHub->hoverEventActuator_->hoverEventTarget_->onHoverEventCallback_(true, hover);
173     EXPECT_NE(inputEventHub, nullptr);
174 }
175 
176 /**
177  * @tc.name: InputEventTest005
178  * @tc.desc: test InputEvent
179  * @tc.type: FUNC
180  */
181 HWTEST_F(InputEventTestNg, InputEventTest005, TestSize.Level1)
182 {
183     auto eventHub = AceType::MakeRefPtr<EventHub>();
184     auto frameNode = AceType::MakeRefPtr<FrameNode>(V2::TEXT_ETS_TAG, -1, AceType::MakeRefPtr<Pattern>());
185     eventHub->AttachHost(frameNode);
186     auto inputEventHub = AceType::MakeRefPtr<InputEventHub>(AceType::WeakClaim(AceType::RawPtr(eventHub)));
187     inputEventHub->hoverEventActuator_ =
188         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
189 
190     TouchTestResult hoverResult;
191     auto getEventTargetImpl = eventHub->CreateGetEventTargetImpl();
192     inputEventHub->hoverEventActuator_->OnCollectHoverEvent(COORDINATE_OFFSET, getEventTargetImpl, hoverResult);
193     EXPECT_NE(inputEventHub, nullptr);
194 }
195 
196 /**
197  * @tc.name: InputEventTest006
198  * @tc.desc: test InputEvent
199  * @tc.type: FUNC
200  */
201 HWTEST_F(InputEventTestNg, InputEventTest006, TestSize.Level1)
202 {
203     auto eventHub = AceType::MakeRefPtr<EventHub>();
204     auto frameNode = AceType::MakeRefPtr<FrameNode>(V2::TEXT_ETS_TAG, -1, AceType::MakeRefPtr<Pattern>());
205     eventHub->AttachHost(frameNode);
206     auto inputEventHub = AceType::MakeRefPtr<InputEventHub>(AceType::WeakClaim(AceType::RawPtr(eventHub)));
207     inputEventHub->axisEventActuator_ =
208         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
209 
__anoncfc565e30402(MouseInfo& info) 210     OnMouseEventFunc onAxis = [](MouseInfo& info) {};
211     auto onAxisEvent = AceType::MakeRefPtr<InputEvent>(std::move(onAxis));
212     inputEventHub->AddOnAxisEvent(onAxisEvent);
213     inputEventHub->AddOnAxisEvent(nullptr);
214     inputEventHub->axisEventActuator_->userCallback_ = onAxisEvent;
215 
216     AxisTestResult Result;
217     auto getEventTargetImpl = eventHub->CreateGetEventTargetImpl();
218     inputEventHub->axisEventActuator_->OnCollectAxisEvent(COORDINATE_OFFSET, getEventTargetImpl, Result);
219     AxisInfo axisInfo;
220     inputEventHub->axisEventActuator_->axisEventTarget_->onAxisCallback_(axisInfo);
221     EXPECT_NE(inputEventHub, nullptr);
222 }
223 
224 /**
225  * @tc.name: InputEventTest007
226  * @tc.desc: test InputEvent
227  * @tc.type: FUNC
228  */
229 HWTEST_F(InputEventTestNg, InputEventTest007, TestSize.Level1)
230 {
231     auto eventHub = AceType::MakeRefPtr<EventHub>();
232     auto frameNode = AceType::MakeRefPtr<FrameNode>(V2::TEXT_ETS_TAG, -1, AceType::MakeRefPtr<Pattern>());
233     eventHub->AttachHost(frameNode);
234     auto inputEventHub = AceType::MakeRefPtr<InputEventHub>(AceType::WeakClaim(AceType::RawPtr(eventHub)));
235     inputEventHub->axisEventActuator_ =
236         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
237 
__anoncfc565e30502(MouseInfo& info) 238     OnMouseEventFunc onAxis = [](MouseInfo& info) {};
239     auto onAxisEvent = AceType::MakeRefPtr<InputEvent>(std::move(onAxis));
240     inputEventHub->axisEventActuator_->userCallback_ = onAxisEvent;
241 
242     AxisTestResult Result;
243     auto getEventTargetImpl = eventHub->CreateGetEventTargetImpl();
244     inputEventHub->axisEventActuator_->OnCollectAxisEvent(COORDINATE_OFFSET, getEventTargetImpl, Result);
245     AxisInfo axisInfo;
246     inputEventHub->axisEventActuator_->axisEventTarget_->onAxisCallback_(axisInfo);
247     EXPECT_NE(inputEventHub, nullptr);
248 }
249 
250 /**
251  * @tc.name: InputEventTest008
252  * @tc.desc: test InputEvent
253  * @tc.type: FUNC
254  */
255 HWTEST_F(InputEventTestNg, InputEventTest008, TestSize.Level1)
256 {
257     auto eventHub = AceType::MakeRefPtr<EventHub>();
258     auto frameNode = AceType::MakeRefPtr<FrameNode>(V2::TEXT_ETS_TAG, -1, AceType::MakeRefPtr<Pattern>());
259     eventHub->AttachHost(frameNode);
260     auto inputEventHub = AceType::MakeRefPtr<InputEventHub>(AceType::WeakClaim(AceType::RawPtr(eventHub)));
261     inputEventHub->axisEventActuator_ =
262         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
263 
__anoncfc565e30602(MouseInfo& info) 264     OnMouseEventFunc onAxis = [](MouseInfo& info) {};
265     auto onAxisEvent = AceType::MakeRefPtr<InputEvent>(std::move(onAxis));
266     inputEventHub->AddOnAxisEvent(onAxisEvent);
267     inputEventHub->AddOnAxisEvent(nullptr);
268 
269     AxisTestResult Result;
270     auto getEventTargetImpl = eventHub->CreateGetEventTargetImpl();
271     inputEventHub->axisEventActuator_->OnCollectAxisEvent(COORDINATE_OFFSET, getEventTargetImpl, Result);
272     AxisInfo axisInfo;
273     inputEventHub->axisEventActuator_->axisEventTarget_->onAxisCallback_(axisInfo);
274     EXPECT_NE(inputEventHub, nullptr);
275 }
276 
277 /**
278  * @tc.name: InputEventTest009
279  * @tc.desc: test InputEvent
280  * @tc.type: FUNC
281  */
282 HWTEST_F(InputEventTestNg, InputEventTest009, TestSize.Level1)
283 {
284     auto eventHub = AceType::MakeRefPtr<EventHub>();
285     auto frameNode = AceType::MakeRefPtr<FrameNode>(V2::TEXT_ETS_TAG, -1, AceType::MakeRefPtr<Pattern>());
286     eventHub->AttachHost(frameNode);
287     auto inputEventHub = AceType::MakeRefPtr<InputEventHub>(AceType::WeakClaim(AceType::RawPtr(eventHub)));
288     inputEventHub->axisEventActuator_ =
289         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
290 
291     AxisTestResult Result;
292     auto getEventTargetImpl = eventHub->CreateGetEventTargetImpl();
293     inputEventHub->axisEventActuator_->OnCollectAxisEvent(COORDINATE_OFFSET, getEventTargetImpl, Result);
294     EXPECT_NE(inputEventHub, nullptr);
295 }
296 
297 /**
298  * @tc.name: OnCollectPenHoverEventTest001
299  * @tc.desc: test InputEvent
300  * @tc.type: FUNC
301  */
302 HWTEST_F(InputEventTestNg, OnCollectPenHoverEventTest001, TestSize.Level1)
303 {
304     auto eventHub = AceType::MakeRefPtr<EventHub>();
305     auto frameNode = AceType::MakeRefPtr<FrameNode>(V2::TEXT_ETS_TAG, -1, AceType::MakeRefPtr<Pattern>());
306     eventHub->AttachHost(frameNode);
307     auto inputEventHub = AceType::MakeRefPtr<InputEventHub>(AceType::WeakClaim(AceType::RawPtr(eventHub)));
308     inputEventHub->hoverEventActuator_ =
309         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
310 
311     TouchTestResult hoverResult;
312     auto getEventTargetImpl = eventHub->CreateGetEventTargetImpl();
313     inputEventHub->hoverEventActuator_->OnCollectPenHoverEvent(
314         COORDINATE_OFFSET, getEventTargetImpl, hoverResult, frameNode);
315     EXPECT_NE(inputEventHub, nullptr);
316 }
317 
318 /**
319  * @tc.name: OnCollectPenHoverEventTest002
320  * @tc.desc: test InputEvent
321  * @tc.type: FUNC
322  */
323 HWTEST_F(InputEventTestNg, OnCollectPenHoverEventTest002, TestSize.Level1)
324 {
325     auto eventHub = AceType::MakeRefPtr<EventHub>();
326     auto frameNode = AceType::MakeRefPtr<FrameNode>(V2::TEXT_ETS_TAG, -1, AceType::MakeRefPtr<Pattern>());
327     eventHub->AttachHost(frameNode);
328     auto inputEventHub = AceType::MakeRefPtr<InputEventHub>(AceType::WeakClaim(AceType::RawPtr(eventHub)));
329     auto hoverEventActuator =
330         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
331     OnHoverFunc onHoverEventFunc;
332     inputEventHub->SetJSFrameNodeOnHoverEvent(std::move(onHoverEventFunc));
333 
334     TouchTestResult hoverResult;
335     auto getEventTargetImpl = eventHub->CreateGetEventTargetImpl();
__anoncfc565e30702(MouseInfo& info) 336     OnMouseEventFunc onHoverEventFunc1 = [](MouseInfo& info) {};
337     std::list<RefPtr<InputEvent>> inputEvents = {AceType::MakeRefPtr<InputEvent>(std::move(onHoverEventFunc1))};
338     hoverEventActuator->inputEvents_ = inputEvents;
339     hoverEventActuator->OnCollectPenHoverEvent(COORDINATE_OFFSET, getEventTargetImpl, hoverResult, frameNode);
340 
__anoncfc565e30802(MouseInfo& info) 341     OnMouseEventFunc onAxis = [](MouseInfo& info) {};
342     auto onAxisEvent = AceType::MakeRefPtr<InputEvent>(std::move(onAxis));
343     hoverEventActuator->userCallback_ = onAxisEvent;
__anoncfc565e30902(MouseInfo& info) 344     OnMouseEventFunc onAxis2 = [](MouseInfo& info) {};
345     auto onAxisEvent2 = AceType::MakeRefPtr<InputEvent>(std::move(onAxis2));
346     hoverEventActuator->userJSFrameNodeCallback_ = onAxisEvent2;
347     hoverEventActuator->OnCollectPenHoverEvent(COORDINATE_OFFSET, getEventTargetImpl, hoverResult, frameNode);
348 
349     HoverInfo hover;
350     hoverEventActuator->penHoverEventTarget_->onPenHoverEventCallback_(true, hover);
351     hoverEventActuator->userCallback_ = nullptr;
352     hoverEventActuator->userJSFrameNodeCallback_ = nullptr;
353     hoverEventActuator->penHoverEventTarget_->onPenHoverEventCallback_(true, hover);
354 
355     hoverEventActuator->inputEvents_.pop_back();
356     hoverEventActuator->OnCollectPenHoverEvent(COORDINATE_OFFSET, getEventTargetImpl, hoverResult, frameNode);
357 
358     hoverEventActuator->userJSFrameNodeCallback_ = onAxisEvent2;
359     hoverEventActuator->OnCollectPenHoverEvent(COORDINATE_OFFSET, getEventTargetImpl, hoverResult, frameNode);
360 
361     EXPECT_NE(inputEventHub, nullptr);
362 }
363 
364 /**
365  * @tc.name: OnCollectPenHoverMoveEvent001
366  * @tc.desc: test InputEvent
367  * @tc.type: FUNC
368  */
369 HWTEST_F(InputEventTestNg, OnCollectPenHoverMoveEvent001, TestSize.Level1)
370 {
371     auto eventHub = AceType::MakeRefPtr<EventHub>();
372     auto frameNode = AceType::MakeRefPtr<FrameNode>(V2::TEXT_ETS_TAG, -1, AceType::MakeRefPtr<Pattern>());
373     eventHub->AttachHost(frameNode);
374     auto inputEventHub = AceType::MakeRefPtr<InputEventHub>(AceType::WeakClaim(AceType::RawPtr(eventHub)));
375     inputEventHub->hoverEventActuator_ =
376         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
377 
378     TouchTestResult hoverResult;
379     auto getEventTargetImpl = eventHub->CreateGetEventTargetImpl();
380     inputEventHub->hoverEventActuator_->
381 		OnCollectPenHoverMoveEvent(COORDINATE_OFFSET, getEventTargetImpl, hoverResult, frameNode);
382     EXPECT_NE(inputEventHub, nullptr);
383 }
384 
385 /**
386  * @tc.name: OnCollectPenHoverMoveEvent002
387  * @tc.desc: test InputEvent
388  * @tc.type: FUNC
389  */
390 HWTEST_F(InputEventTestNg, OnCollectPenHoverMoveEvent002, TestSize.Level1)
391 {
392     auto eventHub = AceType::MakeRefPtr<EventHub>();
393     auto frameNode = AceType::MakeRefPtr<FrameNode>(V2::TEXT_ETS_TAG, -1, AceType::MakeRefPtr<Pattern>());
394     eventHub->AttachHost(frameNode);
395     auto inputEventHub = AceType::MakeRefPtr<InputEventHub>(AceType::WeakClaim(AceType::RawPtr(eventHub)));
396     auto hoverEventActuator =
397         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
398     OnHoverFunc onHoverEventFunc;
399     inputEventHub->SetJSFrameNodeOnHoverEvent(std::move(onHoverEventFunc));
400 
401     TouchTestResult hoverResult;
402     auto getEventTargetImpl = eventHub->CreateGetEventTargetImpl();
__anoncfc565e30a02(MouseInfo& info) 403     OnMouseEventFunc onHoverEventFunc1 = [](MouseInfo& info) {};
404     std::list<RefPtr<InputEvent>> inputEvents = {AceType::MakeRefPtr<InputEvent>(std::move(onHoverEventFunc1))};
405     hoverEventActuator->inputEvents_ = inputEvents;
406     hoverEventActuator->OnCollectPenHoverMoveEvent(COORDINATE_OFFSET, getEventTargetImpl, hoverResult, frameNode);
407     EXPECT_NE(inputEventHub, nullptr);
408 }
409 
410 /**
411  * @tc.name: OnCollectPenHoverMoveEvent003
412  * @tc.desc: Test InputEvent
413  * @tc.type: FUNC
414  */
415 HWTEST_F(InputEventTestNg, OnCollectPenHoverMoveEvent003, TestSize.Level1)
416 {
417     auto eventHub = AceType::MakeRefPtr<EventHub>();
418     auto frameNode = AceType::MakeRefPtr<FrameNode>(V2::TEXT_ETS_TAG, -1, AceType::MakeRefPtr<Pattern>());
419     eventHub->AttachHost(frameNode);
420     auto inputEventHub = AceType::MakeRefPtr<InputEventHub>(AceType::WeakClaim(AceType::RawPtr(eventHub)));
421     auto hoverEventActuator =
422         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
423     TouchTestResult hoverResult;
424     auto getEventTargetImpl = eventHub->CreateGetEventTargetImpl();
__anoncfc565e30b02(MouseInfo& info) 425     OnMouseEventFunc onAxis = [](MouseInfo& info) {};
426     auto userEvent = AceType::MakeRefPtr<InputEvent>(std::move(onAxis));
427     hoverEventActuator->userCallback_ = userEvent;
428     inputEventHub->AddOnAxisEvent(userEvent);
429     hoverEventActuator->OnCollectPenHoverMoveEvent(COORDINATE_OFFSET, getEventTargetImpl, hoverResult, frameNode);
430     EXPECT_NE(inputEventHub, nullptr);
431 }
432 
433 /**
434  * @tc.name: OnCollectPenHoverMoveEvent004
435  * @tc.desc: Test InputEvent
436  * @tc.type: FUNC
437  */
438 HWTEST_F(InputEventTestNg, OnCollectPenHoverMoveEvent004, TestSize.Level1)
439 {
440     auto eventHub = AceType::MakeRefPtr<EventHub>();
441     auto frameNode = AceType::MakeRefPtr<FrameNode>(V2::TEXT_ETS_TAG, -1, AceType::MakeRefPtr<Pattern>());
442     eventHub->AttachHost(frameNode);
443     auto inputEventHub = AceType::MakeRefPtr<InputEventHub>(AceType::WeakClaim(AceType::RawPtr(eventHub)));
444     inputEventHub->accessibilityHoverEventActuator_ =
445         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
446 
447     TouchTestResult result;
448     auto getEventTargetImpl = eventHub->CreateGetEventTargetImpl();
449     inputEventHub->accessibilityHoverEventActuator_->OnCollectPenHoverMoveEvent(
450         COORDINATE_OFFSET, getEventTargetImpl, result, frameNode);
451     EXPECT_TRUE(result.empty());
452 }
453 /**
454  * @tc.name: OnCollectAccessibilityHoverEvent001
455  * @tc.desc: test InputEvent
456  * @tc.type: FUNC
457  */
458 HWTEST_F(InputEventTestNg, OnCollectAccessibilityHoverEvent001, TestSize.Level1)
459 {
460     auto eventHub = AceType::MakeRefPtr<EventHub>();
461     auto frameNode = AceType::MakeRefPtr<FrameNode>(V2::TEXT_ETS_TAG, -1, AceType::MakeRefPtr<Pattern>());
462     eventHub->AttachHost(frameNode);
463     auto inputEventHub = AceType::MakeRefPtr<InputEventHub>(AceType::WeakClaim(AceType::RawPtr(eventHub)));
464     inputEventHub->hoverEventActuator_ =
465         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
466 
467     TouchTestResult hoverResult;
468     auto getEventTargetImpl = eventHub->CreateGetEventTargetImpl();
469     inputEventHub->hoverEventActuator_->
470         OnCollectAccessibilityHoverEvent(COORDINATE_OFFSET, getEventTargetImpl, hoverResult, frameNode);
471     EXPECT_NE(inputEventHub, nullptr);
472 }
473 
474 /**
475  * @tc.name: OnCollectAccessibilityHoverEvent002
476  * @tc.desc: test InputEvent
477  * @tc.type: FUNC
478  */
479 HWTEST_F(InputEventTestNg, OnCollectAccessibilityHoverEvent002, TestSize.Level1)
480 {
481     auto eventHub = AceType::MakeRefPtr<EventHub>();
482     auto frameNode = AceType::MakeRefPtr<FrameNode>(V2::TEXT_ETS_TAG, -1, AceType::MakeRefPtr<Pattern>());
483     eventHub->AttachHost(frameNode);
484     auto inputEventHub = AceType::MakeRefPtr<InputEventHub>(AceType::WeakClaim(AceType::RawPtr(eventHub)));
485     auto hoverEventActuator =
486         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
487     OnHoverFunc onHoverEventFunc;
488     inputEventHub->SetJSFrameNodeOnHoverEvent(std::move(onHoverEventFunc));
489 
490     TouchTestResult hoverResult;
491     auto getEventTargetImpl = eventHub->CreateGetEventTargetImpl();
__anoncfc565e30c02(MouseInfo& info) 492     OnMouseEventFunc onHoverEventFunc1 = [](MouseInfo& info) {};
493     std::list<RefPtr<InputEvent>> inputEvents = {AceType::MakeRefPtr<InputEvent>(std::move(onHoverEventFunc1))};
494     hoverEventActuator->inputEvents_ = inputEvents;
495     hoverEventActuator->OnCollectAccessibilityHoverEvent(COORDINATE_OFFSET, getEventTargetImpl, hoverResult, frameNode);
496     EXPECT_NE(inputEventHub, nullptr);
497 }
498 
499 /**
500  * @tc.name: OnCollectAccessibilityHoverEvent003
501  * @tc.desc: Test InputEvent
502  * @tc.type: FUNC
503  */
504 HWTEST_F(InputEventTestNg, OnCollectAccessibilityHoverEvent003, TestSize.Level1)
505 {
506     auto eventHub = AceType::MakeRefPtr<EventHub>();
507     auto frameNode = AceType::MakeRefPtr<FrameNode>(V2::TEXT_ETS_TAG, -1, AceType::MakeRefPtr<Pattern>());
508     eventHub->AttachHost(frameNode);
509     auto inputEventHub = AceType::MakeRefPtr<InputEventHub>(AceType::WeakClaim(AceType::RawPtr(eventHub)));
510     auto hoverEventActuator =
511         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
512     TouchTestResult hoverResult;
513     auto getEventTargetImpl = eventHub->CreateGetEventTargetImpl();
__anoncfc565e30d02(MouseInfo& info) 514     OnMouseEventFunc onAxis = [](MouseInfo& info) {};
515     auto userEvent = AceType::MakeRefPtr<InputEvent>(std::move(onAxis));
516     hoverEventActuator->userCallback_ = userEvent;
517     inputEventHub->AddOnAxisEvent(userEvent);
518     hoverEventActuator->OnCollectAccessibilityHoverEvent(COORDINATE_OFFSET, getEventTargetImpl, hoverResult, frameNode);
519     EXPECT_NE(inputEventHub, nullptr);
520 }
521 
522 /**
523  * @tc.name: OnCollectAccessibilityHoverEvent004
524  * @tc.desc: Test InputEvent
525  * @tc.type: FUNC
526  */
527 HWTEST_F(InputEventTestNg, OnCollectAccessibilityHoverEvent004, TestSize.Level1)
528 {
529     auto eventHub = AceType::MakeRefPtr<EventHub>();
530     auto frameNode = AceType::MakeRefPtr<FrameNode>(V2::TEXT_ETS_TAG, -1, AceType::MakeRefPtr<Pattern>());
531     eventHub->AttachHost(frameNode);
532     auto inputEventHub = AceType::MakeRefPtr<InputEventHub>(AceType::WeakClaim(AceType::RawPtr(eventHub)));
533     inputEventHub->accessibilityHoverEventActuator_ =
534         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
535 
536     TouchTestResult result;
537     auto getEventTargetImpl = eventHub->CreateGetEventTargetImpl();
538     inputEventHub->accessibilityHoverEventActuator_->OnCollectAccessibilityHoverEvent(
539         COORDINATE_OFFSET, getEventTargetImpl, result, frameNode);
540     EXPECT_TRUE(result.empty());
541 }
542 
543 /**
544  * @tc.name: OnCollectAxisEvent001
545  * @tc.desc: test InputEvent
546  * @tc.type: FUNC
547  */
548 HWTEST_F(InputEventTestNg, OnCollectAxisEvent001, TestSize.Level1)
549 {
550     auto eventHub = AceType::MakeRefPtr<EventHub>();
551     auto frameNode = AceType::MakeRefPtr<FrameNode>(V2::TEXT_ETS_TAG, -1, AceType::MakeRefPtr<Pattern>());
552     eventHub->AttachHost(frameNode);
553 
554     auto inputEventHub = AceType::MakeRefPtr<InputEventHub>(AceType::WeakClaim(AceType::RawPtr(eventHub)));
555     inputEventHub->axisEventActuator_ =
556         AceType::MakeRefPtr<InputEventActuator>(AceType::WeakClaim(AceType::RawPtr(inputEventHub)));
__anoncfc565e30e02(MouseInfo& info) 557     OnMouseEventFunc onAxis = [](MouseInfo& info) {};
558     auto onAxisEvent = AceType::MakeRefPtr<InputEvent>(std::move(onAxis));
559     inputEventHub->axisEventActuator_->userCallback_ = onAxisEvent;
560 
561     AxisTestResult Result;
562     auto getEventTargetImpl = eventHub->CreateGetEventTargetImpl();
563 
564     inputEventHub->axisEventActuator_->OnCollectAxisEvent(COORDINATE_OFFSET, getEventTargetImpl, Result);
565     inputEventHub->axisEventActuator_->inputEvents_.emplace_back(onAxisEvent);
566 
567     inputEventHub->axisEventActuator_->OnCollectAxisEvent(COORDINATE_OFFSET, getEventTargetImpl, Result);
568     inputEventHub->axisEventActuator_->userCallback_ = onAxisEvent;
569     inputEventHub->axisEventActuator_->OnCollectAxisEvent(COORDINATE_OFFSET, getEventTargetImpl, Result);
570 
571     AxisInfo axisInfo;
572     inputEventHub->axisEventActuator_->axisEventTarget_->onAxisCallback_(axisInfo);
573     EXPECT_NE(inputEventHub, nullptr);
574 }
575 } // namespace OHOS::Ace::NG