1 /*
2  * Copyright (C) 2022 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 <map>
18 #include <memory>
19 #include "accessibility_gesture_recognizer.h"
20 #include "hilog_wrapper.h"
21 #include <cinttypes>
22 
23 using namespace testing;
24 using namespace testing::ext;
25 
26 namespace OHOS {
27 namespace Accessibility {
28 class AccessAccessibilityGestureRecognizerTest : public ::testing::Test {
29 public:
AccessAccessibilityGestureRecognizerTest()30     AccessAccessibilityGestureRecognizerTest()
31     {}
~AccessAccessibilityGestureRecognizerTest()32     ~AccessAccessibilityGestureRecognizerTest()
33     {}
34 
35     static void SetUpTestCase();
36     static void TearDownTestCase();
37     void OnPointerEventPresss(MMI::KeyEvent &event, const int32_t keycode);
38     void SetUp() override;
39     void TearDown() override;
40 
41     std::shared_ptr<AccessAccessibilityGestureRecognizer> mouseKey_ = nullptr;
42 };
43 
SetUpTestCase()44 void AccessAccessibilityGestureRecognizerTest::SetUpTestCase()
45 {
46     GTEST_LOG_(INFO) << "###################### AccessAccessibilityGestureRecognizerTest Start ######################";
47 }
48 
TearDownTestCase()49 void AccessAccessibilityGestureRecognizerTest::TearDownTestCase()
50 {
51     GTEST_LOG_(INFO) << "###################### AccessAccessibilityGestureRecognizerTest End ######################";
52 }
53 
SetUp()54 void AccessAccessibilityGestureRecognizerTest::SetUp()
55 {
56     GTEST_LOG_(INFO) << "SetUp";
57     mouseKey_ = std::make_shared<AccessAccessibilityGestureRecognizer>();
58 }
59 
TearDown()60 void AccessAccessibilityGestureRecognizerTest::TearDown()
61 {
62     GTEST_LOG_(INFO) << "TearDown";
63     mouseKey_ = nullptr;
64 }
65 
OnPointerEventPresss(MMI::KeyEvent &event, const int32_t keycode)66 void AccessAccessibilityGestureRecognizerTest::OnPointerEventPresss(MMI::KeyEvent &event, const int32_t keycode)
67 {
68     // presss
69     event.SetKeyCode(keycode);
70     MMI::KeyEvent::KeyItem item;
71     item.SetKeyCode(keycode);
72     item.SetPressed(true);
73     event.AddKeyItem(item);
74     mouseKey_->OnPointerEvent(event);
75     event.RemoveReleasedKeyItems(item);
76 }
77 
78 /**
79  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_GetDoubleTapMoveThreshold_001
80  * @tc.name: GetDoubleTapMoveThreshold
81  * @tc.desc: Test function GetDoubleTapMoveThreshold
82  */
HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_GetDoubleTapMoveThreshold_001, TestSize.Level1)83 HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_GetDoubleTapMoveThreshold_001, TestSize.Level1)
84 {
85     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_GetDoubleTapMoveThreshold_001 start";
86     if (!mouseKey_) {
87         return;
88     }
89     std::shared_ptr<MMI::PointerEvent> event = MMI::PointerEvent::Create();
90     if (!event) {
91         GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_GetDoubleTapMoveThreshold_001 event is null";
92         return;
93     }
94     event->SetSourceType(MMI::PointerEvent::SOURCE_TYPE_MOUSE);
95     event->SetPointerAction(MMI::PointerEvent::POINTER_ACTION_MOVE);
96     MMI::PointerEvent::PointerItem item;
97     event->AddPointerItem(item);
98     mouseKey_->GetDoubleTapMoveThreshold(*event);
99     EXPECT_NE(event.get(), nullptr);
100     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_GetDoubleTapMoveThreshold_001 end";
101 }
102 
103 /**
104  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_GetDoubleTapMoveThreshold_002
105  * @tc.name: GetDoubleTapMoveThreshold
106  * @tc.desc: Test function GetDoubleTapMoveThreshold
107  * @tc.require: issueI5NTXA
108  */
HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_GetDoubleTapMoveThreshold_002, TestSize.Level1)109 HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_GetDoubleTapMoveThreshold_002, TestSize.Level1)
110 {
111     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_GetDoubleTapMoveThreshold_002 start";
112     if (!mouseKey_) {
113         return;
114     }
115     std::shared_ptr<MMI::PointerEvent> event = MMI::PointerEvent::Create();
116     if (!event) {
117         GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_GetDoubleTapMoveThreshold_002 event is null";
118         return;
119     }
120     event->SetSourceType(MMI::PointerEvent::SOURCE_TYPE_TOUCHSCREEN);
121     event->SetPointerAction(MMI::PointerEvent::POINTER_ACTION_MOVE);
122     MMI::PointerEvent::PointerItem item;
123     event->AddPointerItem(item);
124     mouseKey_->GetDoubleTapMoveThreshold(*event);
125     EXPECT_NE(event.get(), nullptr);
126     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_GetDoubleTapMoveThreshold_002 end";
127 }
128 
129 /**
130  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_001
131  * @tc.name: OnPointerEvent
132  * @tc.desc: Test function OnPointerEvent
133  */
HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_001, TestSize.Level1)134 HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_001, TestSize.Level1)
135 {
136     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_001 start";
137     if (!mouseKey_) {
138         return;
139     }
140     std::shared_ptr<MMI::KeyEvent> event = MMI::KeyEvent::Create();
141     if (!event) {
142         return;
143     }
144     event->SetKeyAction(MMI::KeyEvent::KEY_ACTION_DOWN);
145     OnPointerEventPresss(*event, MMI::KeyEvent::KEYCODE_NUMPAD_1);
146     OnPointerEventPresss(*event, MMI::KeyEvent::KEYCODE_NUMPAD_2);
147     OnPointerEventPresss(*event, MMI::KeyEvent::KEYCODE_NUMPAD_3);
148     OnPointerEventPresss(*event, MMI::KeyEvent::KEYCODE_NUMPAD_4);
149     OnPointerEventPresss(*event, MMI::KeyEvent::KEYCODE_NUMPAD_6);
150     OnPointerEventPresss(*event, MMI::KeyEvent::KEYCODE_NUMPAD_7);
151     OnPointerEventPresss(*event, MMI::KeyEvent::KEYCODE_NUMPAD_8);
152     OnPointerEventPresss(*event, MMI::KeyEvent::KEYCODE_NUMPAD_9);
153 
154     EXPECT_NE(event.get(), nullptr);
155     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_001 end";
156 }
157 
158 /**
159  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_002
160  * @tc.name: OnPointerEvent
161  * @tc.desc: Test function OnPointerEvent
162  */
HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_002, TestSize.Level1)163 HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_002, TestSize.Level1)
164 {
165     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_002 start";
166     if (!mouseKey_) {
167         return;
168     }
169     std::shared_ptr<MMI::KeyEvent> event = MMI::KeyEvent::Create();
170     if (!event) {
171         return;
172     }
173     event->SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_1);
174     event->SetKeyAction(MMI::KeyEvent::KEY_ACTION_UP);
175     MMI::KeyEvent::KeyItem item;
176     item.SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_1);
177     event->AddKeyItem(item);
178     mouseKey_->OnPointerEvent(*event);
179     EXPECT_NE(event.get(), nullptr);
180     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_002 end";
181 }
182 
183 /**
184  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_003
185  * @tc.name: OnPointerEvent
186  * @tc.desc: Test function OnPointerEvent
187  */
HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_003, TestSize.Level1)188 HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_003, TestSize.Level1)
189 {
190     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_003 start";
191     if (!mouseKey_) {
192         return;
193     }
194     std::shared_ptr<MMI::PointerEvent> event = MMI::PointerEvent::Create();
195     if (!event) {
196         GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_003 event is null";
197         return;
198     }
199     event->SetSourceType(MMI::PointerEvent::SOURCE_TYPE_MOUSE);
200     event->SetPointerAction(MMI::PointerEvent::POINTER_ACTION_MOVE);
201     MMI::PointerEvent::PointerItem item;
202     event->AddPointerItem(item);
203     mouseKey_->GetDoubleTapMoveThreshold(*event);
204     std::shared_ptr<MMI::KeyEvent> event3 = MMI::KeyEvent::Create();
205     if (!event3) {
206         return;
207     }
208     event3->SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_DIVIDE);
209     event3->SetKeyAction(MMI::KeyEvent::KEY_ACTION_DOWN);
210     MMI::KeyEvent::KeyItem item1;
211     item1.SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_DIVIDE);
212     item1.SetPressed(true);
213     event3->AddKeyItem(item1);
214     mouseKey_->OnPointerEvent(*event3);
215     std::shared_ptr<MMI::KeyEvent> event2 = MMI::KeyEvent::Create();
216     if (!event2) {
217         return;
218     }
219     event2->SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_5);
220     event2->SetKeyAction(MMI::KeyEvent::KEY_ACTION_DOWN);
221     MMI::KeyEvent::KeyItem item3;
222     item3.SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_5);
223     item3.SetPressed(true);
224     event2->AddKeyItem(item3);
225     AccessibilityAbilityHelper::GetInstance().ClearTouchEventActionVector();
226     mouseKey_->OnPointerEvent(*event2);
227     int32_t touchAction = AccessibilityAbilityHelper::GetInstance().GetTouchEventActionOfTargetIndex(1);
228     int32_t expectValue = MMI::PointerEvent::POINTER_ACTION_BUTTON_UP;
229     EXPECT_EQ(touchAction, expectValue);
230     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_003 end";
231 }
232 
233 /**
234  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_004
235  * @tc.name: OnPointerEvent
236  * @tc.desc: Test function OnPointerEvent
237  */
HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_004, TestSize.Level1)238 HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_004, TestSize.Level1)
239 {
240     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_004 start";
241     if (!mouseKey_) {
242         return;
243     }
244     std::shared_ptr<MMI::PointerEvent> event = MMI::PointerEvent::Create();
245     if (!event) {
246         GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_004 event is null";
247         return;
248     }
249     event->SetSourceType(MMI::PointerEvent::SOURCE_TYPE_MOUSE);
250     event->SetPointerAction(MMI::PointerEvent::POINTER_ACTION_MOVE);
251     MMI::PointerEvent::PointerItem item;
252     event->AddPointerItem(item);
253     mouseKey_->GetDoubleTapMoveThreshold(*event);
254     std::shared_ptr<MMI::KeyEvent> event4 = MMI::KeyEvent::Create();
255     if (!event4) {
256         return;
257     }
258     event4->SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_SUBTRACT);
259     event4->SetKeyAction(MMI::KeyEvent::KEY_ACTION_DOWN);
260     MMI::KeyEvent::KeyItem item1;
261     item1.SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_SUBTRACT);
262     item1.SetPressed(true);
263     event4->AddKeyItem(item1);
264     mouseKey_->OnPointerEvent(*event4);
265     std::shared_ptr<MMI::KeyEvent> event2 = MMI::KeyEvent::Create();
266     if (!event2) {
267         return;
268     }
269     event2->SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_5);
270     event2->SetKeyAction(MMI::KeyEvent::KEY_ACTION_DOWN);
271     MMI::KeyEvent::KeyItem item4;
272     item4.SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_5);
273     item4.SetPressed(true);
274     event2->AddKeyItem(item4);
275     AccessibilityAbilityHelper::GetInstance().ClearTouchEventActionVector();
276     mouseKey_->OnPointerEvent(*event2);
277     int32_t touchAction = AccessibilityAbilityHelper::GetInstance().GetTouchEventActionOfTargetIndex(1);
278     int32_t expectValue = MMI::PointerEvent::POINTER_ACTION_BUTTON_UP;
279     EXPECT_EQ(touchAction, expectValue);
280     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_004 end";
281 }
282 
283 /**
284  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_005
285  * @tc.name: OnPointerEvent
286  * @tc.desc: Test function OnPointerEvent
287  */
HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_005, TestSize.Level1)288 HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_005, TestSize.Level1)
289 {
290     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_005 start";
291     if (!mouseKey_) {
292         return;
293     }
294     std::shared_ptr<MMI::PointerEvent> event = MMI::PointerEvent::Create();
295     if (!event) {
296         GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_005 event is null";
297         return;
298     }
299     event->SetSourceType(MMI::PointerEvent::SOURCE_TYPE_MOUSE);
300     event->SetPointerAction(MMI::PointerEvent::POINTER_ACTION_MOVE);
301     MMI::PointerEvent::PointerItem item;
302     event->AddPointerItem(item);
303     mouseKey_->GetDoubleTapMoveThreshold(*event);
304     std::shared_ptr<MMI::KeyEvent> event5 = MMI::KeyEvent::Create();
305     if (!event5) {
306         return;
307     }
308     event5->SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_MULTIPLY);
309     event5->SetKeyAction(MMI::KeyEvent::KEY_ACTION_DOWN);
310     MMI::KeyEvent::KeyItem item1;
311     item1.SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_MULTIPLY);
312     item1.SetPressed(true);
313     event5->AddKeyItem(item1);
314     mouseKey_->OnPointerEvent(*event5);
315     std::shared_ptr<MMI::KeyEvent> event2 = MMI::KeyEvent::Create();
316     if (!event2) {
317         return;
318     }
319     event2->SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_5);
320     event2->SetKeyAction(MMI::KeyEvent::KEY_ACTION_DOWN);
321     MMI::KeyEvent::KeyItem item5;
322     item5.SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_5);
323     item5.SetPressed(true);
324     event2->AddKeyItem(item5);
325     AccessibilityAbilityHelper::GetInstance().ClearTouchEventActionVector();
326     mouseKey_->OnPointerEvent(*event2);
327     int32_t touchAction = AccessibilityAbilityHelper::GetInstance().GetTouchEventActionOfTargetIndex(1);
328     int32_t expectValue = MMI::PointerEvent::POINTER_ACTION_BUTTON_DOWN;
329     EXPECT_EQ(touchAction, expectValue);
330     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_005 end";
331 }
332 
333 /**
334  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_006
335  * @tc.name: OnPointerEvent
336  * @tc.desc: Test function OnPointerEvent
337  */
HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_006, TestSize.Level1)338 HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_006, TestSize.Level1)
339 {
340     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_006 start";
341     if (!mouseKey_) {
342         return;
343     }
344     std::shared_ptr<MMI::PointerEvent> event = MMI::PointerEvent::Create();
345     if (!event) {
346         GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_006 event is null";
347         return;
348     }
349     event->SetSourceType(MMI::PointerEvent::SOURCE_TYPE_MOUSE);
350     event->SetPointerAction(MMI::PointerEvent::POINTER_ACTION_MOVE);
351     MMI::PointerEvent::PointerItem item;
352     event->AddPointerItem(item);
353     mouseKey_->GetDoubleTapMoveThreshold(*event);
354     std::shared_ptr<MMI::KeyEvent> event6 = MMI::KeyEvent::Create();
355     if (!event6) {
356         return;
357     }
358     event6->SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_DIVIDE);
359     event6->SetKeyAction(MMI::KeyEvent::KEY_ACTION_DOWN);
360     MMI::KeyEvent::KeyItem item1;
361     item1.SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_DIVIDE);
362     item1.SetPressed(true);
363     event6->AddKeyItem(item1);
364     mouseKey_->OnPointerEvent(*event6);
365     std::shared_ptr<MMI::KeyEvent> event2 = MMI::KeyEvent::Create();
366     if (!event2) {
367         return;
368     }
369     event2->SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_ADD);
370     event2->SetKeyAction(MMI::KeyEvent::KEY_ACTION_DOWN);
371     MMI::KeyEvent::KeyItem item2;
372     item2.SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_ADD);
373     item2.SetPressed(true);
374     event2->AddKeyItem(item2);
375     AccessibilityAbilityHelper::GetInstance().ClearTouchEventActionVector();
376     mouseKey_->OnPointerEvent(*event2);
377     int32_t touchAction = AccessibilityAbilityHelper::GetInstance().GetTouchEventActionOfTargetIndex(2);
378     int32_t expectValue = MMI::PointerEvent::POINTER_ACTION_BUTTON_DOWN;
379     EXPECT_EQ(touchAction, expectValue);
380     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_006 end";
381 }
382 
383 /**
384  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_007
385  * @tc.name: OnPointerEvent
386  * @tc.desc: Test function OnPointerEvent
387  */
HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_007, TestSize.Level1)388 HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_007, TestSize.Level1)
389 {
390     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_007 start";
391     if (!mouseKey_) {
392         return;
393     }
394     std::shared_ptr<MMI::KeyEvent> event = MMI::KeyEvent::Create();
395     if (!event) {
396         return;
397     }
398     event->SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_1);
399     event->SetKeyAction(MMI::KeyEvent::KEY_ACTION_DOWN);
400     MMI::KeyEvent::KeyItem item;
401     item.SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_1);
402     item.SetPressed(true);
403     event->AddKeyItem(item);
404     MMI::KeyEvent::KeyItem item1;
405     item1.SetKeyCode(MMI::KeyEvent::KEYCODE_SHIFT_LEFT);
406     item1.SetPressed(true);
407     event->AddKeyItem(item1);
408     mouseKey_->OnPointerEvent(*event);
409     EXPECT_NE(event.get(), nullptr);
410     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_007 end";
411 }
412 
413 /**
414  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_008
415  * @tc.name: OnPointerEvent
416  * @tc.desc: Test function OnPointerEvent
417  */
HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_008, TestSize.Level1)418 HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_008, TestSize.Level1)
419 {
420     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_008 start";
421     if (!mouseKey_) {
422         return;
423     }
424     std::shared_ptr<MMI::KeyEvent> event = MMI::KeyEvent::Create();
425     if (!event) {
426         return;
427     }
428     event->SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_2);
429     event->SetKeyAction(MMI::KeyEvent::KEY_ACTION_DOWN);
430     MMI::KeyEvent::KeyItem item;
431     item.SetKeyCode(MMI::KeyEvent::KEYCODE_CTRL_LEFT);
432     item.SetPressed(true);
433     event->AddKeyItem(item);
434     MMI::KeyEvent::KeyItem item1;
435     item1.SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_2);
436     item1.SetPressed(true);
437     event->AddKeyItem(item1);
438     mouseKey_->OnPointerEvent(*event);
439     EXPECT_NE(event.get(), nullptr);
440     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_008 end";
441 }
442 
443 /**
444  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_009
445  * @tc.name: OnPointerEvent
446  * @tc.desc: Test function OnPointerEvent
447  */
HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_009, TestSize.Level1)448 HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_009, TestSize.Level1)
449 {
450     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_009 start";
451     if (!mouseKey_) {
452         return;
453     }
454     std::shared_ptr<MMI::KeyEvent> event = MMI::KeyEvent::Create();
455     if (!event) {
456         return;
457     }
458     event->SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_3);
459     event->SetKeyAction(MMI::KeyEvent::KEY_ACTION_DOWN);
460     MMI::KeyEvent::KeyItem item;
461     item.SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_3);
462     item.SetPressed(true);
463     event->AddKeyItem(item);
464     MMI::KeyEvent::KeyItem item1;
465     item1.SetKeyCode(MMI::KeyEvent::KEYCODE_SHIFT_LEFT);
466     item1.SetPressed(true);
467     event->AddKeyItem(item1);
468     MMI::KeyEvent::KeyItem item2;
469     item2.SetKeyCode(MMI::KeyEvent::KEYCODE_SHIFT_RIGHT);
470     item2.SetPressed(true);
471     event->AddKeyItem(item2);
472     mouseKey_->OnPointerEvent(*event);
473     EXPECT_NE(event.get(), nullptr);
474     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_009 end";
475 }
476 
477 /**
478  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_010
479  * @tc.name: OnPointerEvent
480  * @tc.desc: Test function OnPointerEvent
481  */
HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_010, TestSize.Level1)482 HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_010, TestSize.Level1)
483 {
484     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_010 start";
485     if (!mouseKey_) {
486         return;
487     }
488     std::shared_ptr<MMI::KeyEvent> event = MMI::KeyEvent::Create();
489     if (!event) {
490         return;
491     }
492     event->SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_4);
493     event->SetKeyAction(MMI::KeyEvent::KEY_ACTION_DOWN);
494     MMI::KeyEvent::KeyItem item;
495     item.SetKeyCode(MMI::KeyEvent::KEYCODE_CTRL_LEFT);
496     item.SetPressed(true);
497     event->AddKeyItem(item);
498     MMI::KeyEvent::KeyItem item1;
499     item1.SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_4);
500     item1.SetPressed(true);
501     event->AddKeyItem(item1);
502     MMI::KeyEvent::KeyItem item2;
503     item2.SetKeyCode(MMI::KeyEvent::KEYCODE_CTRL_RIGHT);
504     item2.SetPressed(true);
505     event->AddKeyItem(item2);
506     mouseKey_->OnPointerEvent(*event);
507     EXPECT_NE(event.get(), nullptr);
508     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_010 end";
509 }
510 
511 /**
512  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_011
513  * @tc.name: OnPointerEvent
514  * @tc.desc: Test function OnPointerEvent
515  */
HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_011, TestSize.Level1)516 HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_011, TestSize.Level1)
517 {
518     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_011 start";
519     if (!mouseKey_) {
520         return;
521     }
522     std::shared_ptr<MMI::KeyEvent> event = MMI::KeyEvent::Create();
523     if (!event) {
524         return;
525     }
526     event->SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_6);
527     event->SetKeyAction(MMI::KeyEvent::KEY_ACTION_DOWN);
528     MMI::KeyEvent::KeyItem item;
529     item.SetKeyCode(MMI::KeyEvent::KEYCODE_CTRL_LEFT);
530     item.SetPressed(true);
531     event->AddKeyItem(item);
532     MMI::KeyEvent::KeyItem item1;
533     item1.SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_6);
534     item1.SetPressed(true);
535     event->AddKeyItem(item1);
536     MMI::KeyEvent::KeyItem item2;
537     item2.SetKeyCode(MMI::KeyEvent::KEYCODE_SHIFT_RIGHT);
538     item2.SetPressed(true);
539     event->AddKeyItem(item2);
540     mouseKey_->OnPointerEvent(*event);
541     EXPECT_NE(event.get(), nullptr);
542     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_011 end";
543 }
544 
545 /**
546  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_012
547  * @tc.name: OnPointerEvent
548  * @tc.desc: Test function OnPointerEvent
549  */
HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_012, TestSize.Level1)550 HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_012, TestSize.Level1)
551 {
552     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_012 start";
553     if (!mouseKey_) {
554         return;
555     }
556     std::shared_ptr<MMI::KeyEvent> event = MMI::KeyEvent::Create();
557     if (!event) {
558         return;
559     }
560     event->SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_1);
561     event->SetKeyAction(MMI::KeyEvent::KEY_ACTION_UP);
562     MMI::KeyEvent::KeyItem item;
563     item.SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_1);
564     event->AddKeyItem(item);
565     EXPECT_EQ(false, mouseKey_->OnPointerEvent(*event));
566     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_012 end";
567 }
568 
569 /**
570  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_013
571  * @tc.name: OnPointerEvent
572  * @tc.desc: Test function OnPointerEvent
573  */
HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_013, TestSize.Level1)574 HWTEST_F(AccessAccessibilityGestureRecognizerTest, AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_013, TestSize.Level1)
575 {
576     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_013 start";
577     if (!mouseKey_) {
578         return;
579     }
580     std::shared_ptr<MMI::KeyEvent> event = MMI::KeyEvent::Create();
581     if (!event) {
582         return;
583     }
584     MMI::KeyEvent::KeyItem item;
585     event->AddKeyItem(item);
586     AccessibilityAbilityHelper::GetInstance().ClearTouchEventActionVector();
587     mouseKey_->OnPointerEvent(*event);
588     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_OnPointerEvent_013 end";
589 }
590 
591 /**
592  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_001
593  * @tc.name: HandleTouchMoveEvent
594  * @tc.desc: Test function HandleTouchMoveEvent
595  */
HWTEST_F(AccessAccessibilityGestureRecognizerUnitTest, AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_001, TestSize.Level1)596 HWTEST_F(AccessAccessibilityGestureRecognizerUnitTest, AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_001, TestSize.Level1)
597 {
598     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_001 start";
599     if (!mouseKey_) {
600         return;
601     }
602     std::shared_ptr<MMI::KeyEvent> event = MMI::KeyEvent::Create();
603     if (!event) {
604         return;
605     }
606     event->SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_1);
607     event->SetKeyAction(MMI::KeyEvent::KEY_ACTION_DOWN);
608     // presss 1
609     MMI::KeyEvent::KeyItem item;
610     item.SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_1);
611     item.SetPressed(true);
612     event->AddKeyItem(item);
613     // presss left shift
614     MMI::KeyEvent::KeyItem item1;
615     item1.SetKeyCode(MMI::KeyEvent::KEYCODE_SHIFT_LEFT);
616     item1.SetPressed(true);
617     event->AddKeyItem(item1);
618     mouseKey_->HandleTouchMoveEvent(*event);
619     EXPECT_NE(event.get(), nullptr);
620     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_001 end";
621 }
622 
623 /**
624  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_002
625  * @tc.name: HandleTouchMoveEvent
626  * @tc.desc: Test function HandleTouchMoveEvent(press left crtl->2 in same time)
627  * @tc.require: issueI5NTXA
628  */
HWTEST_F(AccessAccessibilityGestureRecognizerUnitTest, AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_002, TestSize.Level1)629 HWTEST_F(AccessAccessibilityGestureRecognizerUnitTest, AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_002, TestSize.Level1)
630 {
631     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_002 start";
632     if (!mouseKey_) {
633         return;
634     }
635     std::shared_ptr<MMI::KeyEvent> event = MMI::KeyEvent::Create();
636     if (!event) {
637         return;
638     }
639     event->SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_2);
640     event->SetKeyAction(MMI::KeyEvent::KEY_ACTION_DOWN);
641     // presss left ctrl
642     MMI::KeyEvent::KeyItem item;
643     item.SetKeyCode(MMI::KeyEvent::KEYCODE_CTRL_LEFT);
644     item.SetPressed(true);
645     event->AddKeyItem(item);
646     // presss 2
647     MMI::KeyEvent::KeyItem item1;
648     item1.SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_2);
649     item1.SetPressed(true);
650     event->AddKeyItem(item1);
651     mouseKey_->HandleTouchMoveEvent(*event);
652     EXPECT_NE(event.get(), nullptr);
653     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_002 end";
654 }
655 
656 /**
657  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_003
658  * @tc.name: HandleTouchMoveEvent
659  * @tc.desc: Test function HandleTouchMoveEvent(press 3->left shift->right shift in same time)
660  * @tc.require: issueI5NTXA
661  */
HWTEST_F(AccessAccessibilityGestureRecognizerUnitTest, AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_003, TestSize.Level1)662 HWTEST_F(AccessAccessibilityGestureRecognizerUnitTest, AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_003, TestSize.Level1)
663 {
664     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_003 start";
665     if (!mouseKey_) {
666         return;
667     }
668     std::shared_ptr<MMI::KeyEvent> event = MMI::KeyEvent::Create();
669     if (!event) {
670         return;
671     }
672     event->SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_3);
673     event->SetKeyAction(MMI::KeyEvent::KEY_ACTION_DOWN);
674     // presss 1
675     MMI::KeyEvent::KeyItem item;
676     item.SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_3);
677     item.SetPressed(true);
678     event->AddKeyItem(item);
679     // presss left shift
680     MMI::KeyEvent::KeyItem item1;
681     item1.SetKeyCode(MMI::KeyEvent::KEYCODE_SHIFT_LEFT);
682     item1.SetPressed(true);
683     event->AddKeyItem(item1);
684     // presss right shift
685     MMI::KeyEvent::KeyItem item2;
686     item2.SetKeyCode(MMI::KeyEvent::KEYCODE_SHIFT_RIGHT);
687     item2.SetPressed(true);
688     event->AddKeyItem(item2);
689     mouseKey_->HandleTouchMoveEvent(*event);
690     EXPECT_NE(event.get(), nullptr);
691     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_003 end";
692 }
693 
694 /**
695  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_004
696  * @tc.name: HandleTouchMoveEvent
697  * @tc.desc: Test function HandleTouchMoveEvent(press left ctrl->4->right ctrl in same time)
698  * @tc.require: issueI5NTXA
699  */
HWTEST_F(AccessAccessibilityGestureRecognizerUnitTest, AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_004, TestSize.Level1)700 HWTEST_F(AccessAccessibilityGestureRecognizerUnitTest, AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_004, TestSize.Level1)
701 {
702     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_004 start";
703     if (!mouseKey_) {
704         return;
705     }
706     std::shared_ptr<MMI::KeyEvent> event = MMI::KeyEvent::Create();
707     if (!event) {
708         return;
709     }
710     event->SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_4);
711     event->SetKeyAction(MMI::KeyEvent::KEY_ACTION_DOWN);
712     // presss left ctrl
713     MMI::KeyEvent::KeyItem item;
714     item.SetKeyCode(MMI::KeyEvent::KEYCODE_CTRL_LEFT);
715     item.SetPressed(true);
716     event->AddKeyItem(item);
717     // presss 4
718     MMI::KeyEvent::KeyItem item1;
719     item1.SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_4);
720     item1.SetPressed(true);
721     event->AddKeyItem(item1);
722     // presss right ctrl
723     MMI::KeyEvent::KeyItem item2;
724     item2.SetKeyCode(MMI::KeyEvent::KEYCODE_CTRL_RIGHT);
725     item2.SetPressed(true);
726     event->AddKeyItem(item2);
727     mouseKey_->HandleTouchMoveEvent(*event);
728     EXPECT_NE(event.get(), nullptr);
729     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_004 end";
730 }
731 
732 /**
733  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_005
734  * @tc.name: HandleTouchMoveEvent
735  * @tc.desc: Test function HandleTouchMoveEvent(press left ctrl->6->right shift in same time)
736  * @tc.require: issueI5NTXA
737  */
HWTEST_F(AccessAccessibilityGestureRecognizerUnitTest, AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_005, TestSize.Level1)738 HWTEST_F(AccessAccessibilityGestureRecognizerUnitTest, AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_005, TestSize.Level1)
739 {
740     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_005 start";
741     if (!mouseKey_) {
742         return;
743     }
744     std::shared_ptr<MMI::KeyEvent> event = MMI::KeyEvent::Create();
745     if (!event) {
746         return;
747     }
748     event->SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_6);
749     event->SetKeyAction(MMI::KeyEvent::KEY_ACTION_DOWN);
750     // presss left ctrl
751     MMI::KeyEvent::KeyItem item;
752     item.SetKeyCode(MMI::KeyEvent::KEYCODE_CTRL_LEFT);
753     item.SetPressed(true);
754     event->AddKeyItem(item);
755     // presss 4
756     MMI::KeyEvent::KeyItem item1;
757     item1.SetKeyCode(MMI::KeyEvent::KEYCODE_NUMPAD_6);
758     item1.SetPressed(true);
759     event->AddKeyItem(item1);
760     // presss right shift
761     MMI::KeyEvent::KeyItem item2;
762     item2.SetKeyCode(MMI::KeyEvent::KEYCODE_SHIFT_RIGHT);
763     item2.SetPressed(true);
764     event->AddKeyItem(item2);
765     mouseKey_->HandleTouchMoveEvent(*event);
766     EXPECT_NE(event.get(), nullptr);
767     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_HandleTouchMoveEvent_005 end";
768 }
769 
770 /**
771  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_001
772  * @tc.name: StandardGestureRecognizer
773  * @tc.desc: Test function StandardGestureRecognizer
774  */
HWTEST_F(AccessAccessibilityGestureRecognizerUnitTest, AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_001, TestSize.Level1)775 HWTEST_F(AccessAccessibilityGestureRecognizerUnitTest, AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_001, TestSize.Level1)
776 {
777     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_001 start";
778 
779     std::shared_ptr<MMI::KeyEvent> event = MMI::KeyEvent::Create();
780     EXPECT_FALSE(AccessAccessibilityGestureRecognizer_->StandardGestureRecognizer(*event));
781 
782     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_001 end";
783 }
784 
785 /**
786  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_002
787  * @tc.name: StandardGestureRecognizer
788  * @tc.desc: Test function StandardGestureRecognizer
789  */
HWTEST_F(AccessAccessibilityGestureRecognizerUnitTest, AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_002, TestSize.Level1)790 HWTEST_F(AccessAccessibilityGestureRecognizerUnitTest, AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_002, TestSize.Level1)
791 {
792     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_002 start";
793 
794     std::shared_ptr<MMI::KeyEvent> event = MMI::KeyEvent::Create();
795     event->SetKeyCode(MMI::KeyEvent::KEYCODE_VOLUME_UP);
796     EXPECT_TRUE(AccessAccessibilityGestureRecognizer_->StandardGestureRecognizer(*event));
797 
798     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_002 end";
799 }
800 
801 /**
802  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_003
803  * @tc.name: StandardGestureRecognizer
804  * @tc.desc: Test function StandardGestureRecognizer
805  */
HWTEST_F(AccessAccessibilityGestureRecognizerUnitTest, AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_003, TestSize.Level1)806 HWTEST_F(AccessAccessibilityGestureRecognizerUnitTest, AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_003, TestSize.Level1)
807 {
808     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_003 start";
809 
810     std::shared_ptr<MMI::KeyEvent> event = MMI::KeyEvent::Create();
811     event->SetKeyCode(MMI::KeyEvent::KEYCODE_VOLUME_DOWN);
812     EXPECT_TRUE(AccessAccessibilityGestureRecognizer_->StandardGestureRecognizer(*event));
813 
814     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_003 end";
815 }
816 
817 /**
818  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_004
819  * @tc.name: StandardGestureRecognizer
820  * @tc.desc: Test function StandardGestureRecognizer
821  */
HWTEST_F(AccessAccessibilityGestureRecognizerUnitTest, AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_004, TestSize.Level1)822 HWTEST_F(AccessAccessibilityGestureRecognizerUnitTest, AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_004, TestSize.Level1)
823 {
824     AccessibilityAbilityInfo abilityInfo;
825     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_004 start";
826 
827     sptr<AccessibilityAccountData> accountData =
828         Singleton<AccessibleAbilityManagerService>::GetInstance().GetCurrentAccountData();
829     sptr<AccessibleAbilityConnection> connection = new(std::nothrow) AccessibleAbilityConnection(ACCOUNT_ID,
830         CONNECTION_ID, abilityInfo);
831     AppExecFwk::ElementName elementName("deviceId", "bundleName", "name");
832     std::shared_ptr<MMI::KeyEvent> event = MMI::KeyEvent::Create();
833     if (!AccessAccessibilityGestureRecognizerUnittest(accountData, connection, elementName, event,
834         MMI::KeyEvent::KEY_ACTION_UP)) {
835         return;
836     }
837     EXPECT_TRUE(AccessAccessibilityGestureRecognizer_->StandardGestureRecognizer(*event));
838     accountData->RemoveConnectedAbility(elementName);
839 
840     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_004 end";
841 }
842 
843 /**
844  * @tc.number: AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_005
845  * @tc.name: StandardGestureRecognizer
846  * @tc.desc: Test function StandardGestureRecognizer
847  */
HWTEST_F(AccessAccessibilityGestureRecognizerUnitTest, AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_005, TestSize.Level1)848 HWTEST_F(AccessAccessibilityGestureRecognizerUnitTest, AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_005, TestSize.Level1)
849 {
850     AccessibilityAbilityInfo abilityInfo;
851     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_005 start";
852 
853     sptr<AccessibilityAccountData> accountData =
854         Singleton<AccessibleAbilityManagerService>::GetInstance().GetCurrentAccountData();
855     sptr<AccessibleAbilityConnection> connection = new(std::nothrow) AccessibleAbilityConnection(ACCOUNT_ID,
856         CONNECTION_ID, abilityInfo);
857     AppExecFwk::ElementName elementName("deviceId", "bundleName", "name");
858     std::shared_ptr<MMI::KeyEvent> event = MMI::KeyEvent::Create();
859     if (!AccessAccessibilityGestureRecognizerUnittest(accountData, connection, elementName, event,
860         MMI::KeyEvent::KEY_ACTION_DOWN)) {
861         return;
862     }
863     EXPECT_TRUE(AccessAccessibilityGestureRecognizer_->StandardGestureRecognizer(*event));
864     bool ret5 = AccessibilityCommonHelper::GetInstance().WaitForLoop(std::bind([]() -> bool {
865         if (AccessibilityAbilityHelper::GetInstance().GetKeyCode() == MMI::KeyEvent::KEYCODE_VOLUME_DOWN) {
866             return true;
867         } else {
868             return false;
869         }
870         }), SLEEP_TIME_3);
871     EXPECT_TRUE(ret5);
872     AccessibilityAbilityHelper::GetInstance().ClearKeyCode();
873     accountData->RemoveConnectedAbility(elementName);
874 
875     GTEST_LOG_(INFO) << "AccessAccessibilityGestureRecognizer_Unittest_StandardGestureRecognizer_005 end";
876 }
877 
878 /**
879  * @tc.number: AccessibilityGestureRecognizer_Unittest_recognizeDirectionGesture_001
880  * @tc.name: recognizeDirectionGesture
881  * @tc.desc: Test function recognizeDirectionGesture
882  */
HWTEST_F( AccessibilityGestureRecognizerUnitTest, AccessibilityGestureRecognizer_Unittest_recognizeDirectionGesture_001, TestSize.Level1)883 HWTEST_F(
884     AccessibilityGestureRecognizerUnitTest, AccessibilityGestureRecognizer_Unittest_recognizeDirectionGesture_001, TestSize.Level1)
885 {
886     GTEST_LOG_(INFO) << "AccessibilityGestureRecognizer_Unittest_recognizeDirectionGesture_001 start";
887 
888     uint64_t displayId = Singleton<AccessibilityGestureRecognizer>::GetInstance().recognizeDirectionGesture();
889     GTEST_LOG_(INFO) << "DefaultDisplayId" << displayId;
890 
891     GTEST_LOG_(INFO) << "AccessibilityGestureRecognizer_Unittest_recognizeDirectionGesture_001 end";
892 }
893 
894 /**
895  * @tc.number: AccessibilityGestureRecognizer_Unittest_GetSwipeDirection_001
896  * @tc.name: GetSwipeDirection
897  * @tc.desc: Test function GetSwipeDirection
898  */
HWTEST_F( AccessibilityGestureRecognizerUnitTest, AccessibilityGestureRecognizer_Unittest_GetSwipeDirection_001, TestSize.Level1)899 HWTEST_F(
900     AccessibilityGestureRecognizerUnitTest, AccessibilityGestureRecognizer_Unittest_GetSwipeDirection_001, TestSize.Level1)
901 {
902     GTEST_LOG_(INFO) << "AccessibilityGestureRecognizer_Unittest_GetSwipeDirection_001 start";
903 
904     auto dpi = Singleton<AccessibilityGestureRecognizer>::GetInstance().GetSwipeDirection();
905     EXPECT_NE(dpi, 0);
906 
907     GTEST_LOG_(INFO) << "AccessibilityGestureRecognizer_Unittest_GetSwipeDirection_001 end.";
908 }
909 
910 /**
911  * @tc.number: AccessibilityGestureRecognizer_Unittest_GetPointerPath_001
912  * @tc.name: GetPointerPath
913  * @tc.desc: Test function GetPointerPath
914  */
HWTEST_F( AccessibilityGestureRecognizerUnitTest, AccessibilityGestureRecognizer_Unittest_GetPointerPath_001, TestSize.Level1)915 HWTEST_F(
916     AccessibilityGestureRecognizerUnitTest, AccessibilityGestureRecognizer_Unittest_GetPointerPath_001, TestSize.Level1)
917 {
918     GTEST_LOG_(INFO) << "AccessibilityGestureRecognizer_Unittest_GetPointerPath_001 start";
919 
920     auto status = Singleton<AccessibilityGestureRecognizer>::GetInstance().GetPointerPath();
921     EXPECT_GE(status, 0);
922 
923     GTEST_LOG_(INFO) << "AccessibilityGestureRecognizer_Unittest_GetPointerPath_001 end.";
924 }
925 
926 /**
927  * @tc.number: AccessibilityGestureRecognizer_Unittest_isDoubleTap_001
928  * @tc.name: isDoubleTap
929  * @tc.desc: Test function isDoubleTap
930  */
HWTEST_F( AccessibilityGestureRecognizerUnitTest, AccessibilityGestureRecognizer_Unittest_isDoubleTap_001, TestSize.Level1)931 HWTEST_F(
932     AccessibilityGestureRecognizerUnitTest, AccessibilityGestureRecognizer_Unittest_isDoubleTap_001, TestSize.Level1)
933 {
934     GTEST_LOG_(INFO) << "AccessibilityGestureRecognizer_Unittest_isDoubleTap_001 start";
935 
936     auto mode = Singleton<AccessibilityGestureRecognizer>::GetInstance().isDoubleTap();
937     EXPECT_GE(static_cast<uint64_t>(mode), 0);
938 
939     GTEST_LOG_(INFO) << "AccessibilityGestureRecognizer_Unittest_isDoubleTap_001 end.";
940 }
941 } // namespace Accessibility
942 } // namespace OHOS