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