1 /* 2 * Copyright (c) 2024 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #include <cstdio> 17 #include <gtest/gtest.h> 18 19 #include "input_event_handler.h" 20 #include "touch_gesture_adapter.h" 21 #include "mmi_log.h" 22 23 #undef MMI_LOG_TAG 24 #define MMI_LOG_TAG "TouchGestureAdapterTest" 25 26 namespace OHOS { 27 namespace MMI { 28 namespace { 29 using namespace testing::ext; 30 } 31 class TouchGestureAdapterTest : public testing::Test { 32 public: SetUpTestCase(void)33 static void SetUpTestCase(void) {} TearDownTestCase(void)34 static void TearDownTestCase(void) {} SetUp()35 void SetUp() {} TearDown()36 void TearDown() {} 37 }; 38 39 /** 40 * @tc.name: TouchGestureAdapterTest_SetGestureEnable_001 41 * @tc.desc: Test the funcation SetGestureEnable 42 * @tc.type: FUNC 43 * @tc.require: 44 */ 45 HWTEST_F(TouchGestureAdapterTest, TouchGestureAdapterTest_SetGestureEnable_001, TestSize.Level1) 46 { 47 CALL_TEST_DEBUG; 48 TouchGestureType adapterType = TOUCH_GESTURE_TYPE_SWIPE; 49 std::shared_ptr<TouchGestureAdapter> nextAdapter = nullptr; 50 auto touchGestureAdapter = std::make_shared<TouchGestureAdapter>(adapterType, nextAdapter); 51 touchGestureAdapter->Init(); 52 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->SetGestureCondition(true, adapterType, 0)); 53 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->SetGestureCondition(false, adapterType, 0)); 54 } 55 56 /** 57 * @tc.name: TouchGestureAdapterTest_process_001 58 * @tc.desc: Test the funcation process 59 * @tc.type: FUNC 60 * @tc.require: 61 */ 62 HWTEST_F(TouchGestureAdapterTest, TouchGestureAdapterTest_process_001, TestSize.Level1) 63 { 64 CALL_TEST_DEBUG; 65 TouchGestureType adapterType = 5; 66 std::shared_ptr<TouchGestureAdapter> nextAdapter = nullptr; 67 auto touchGestureAdapter = std::make_shared<TouchGestureAdapter>(adapterType, nextAdapter); 68 std::shared_ptr<PointerEvent> event = PointerEvent::Create(); 69 touchGestureAdapter->shouldDeliverToNext_ = true; 70 touchGestureAdapter->nextAdapter_ = nullptr; 71 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->process(event)); 72 touchGestureAdapter->shouldDeliverToNext_ = true; 73 touchGestureAdapter->nextAdapter_ = std::make_shared<TouchGestureAdapter>(adapterType, nextAdapter); 74 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->process(event)); 75 touchGestureAdapter->shouldDeliverToNext_ = false; 76 touchGestureAdapter->nextAdapter_ = nullptr; 77 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->process(event)); 78 touchGestureAdapter->shouldDeliverToNext_ = false; 79 touchGestureAdapter->nextAdapter_ = std::make_shared<TouchGestureAdapter>(adapterType, nextAdapter); 80 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->process(event)); 81 } 82 83 /** 84 * @tc.name: TouchGestureAdapterTest_process_002 85 * @tc.desc: Test TouchGestureAdapter::process 86 * @tc.type: FUNC 87 * @tc.require: 88 */ 89 HWTEST_F(TouchGestureAdapterTest, TouchGestureAdapterTest_process_002, TestSize.Level1) 90 { 91 CALL_TEST_DEBUG; 92 auto nextAdapter = std::make_shared<TouchGestureAdapter>(TOUCH_GESTURE_TYPE_PINCH, nullptr); 93 auto touchGestureAdapter = std::make_shared<TouchGestureAdapter>(TOUCH_GESTURE_TYPE_SWIPE, nextAdapter); 94 auto pointerEvent = PointerEvent::Create(); 95 ASSERT_NE(pointerEvent, nullptr); 96 pointerEvent->SetSourceType(PointerEvent::SOURCE_TYPE_TOUCHSCREEN); 97 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->process(pointerEvent)); 98 } 99 100 /** 101 * @tc.name: TouchGestureAdapterTest_process_003 102 * @tc.desc: Test TouchGestureAdapter::process 103 * @tc.type: FUNC 104 * @tc.require: 105 */ 106 HWTEST_F(TouchGestureAdapterTest, TouchGestureAdapterTest_process_003, TestSize.Level1) 107 { 108 CALL_TEST_DEBUG; 109 auto nextAdapter = std::make_shared<TouchGestureAdapter>(TOUCH_GESTURE_TYPE_PINCH, nullptr); 110 auto touchGestureAdapter = std::make_shared<TouchGestureAdapter>(TOUCH_GESTURE_TYPE_SWIPE, nextAdapter); 111 auto pointerEvent = PointerEvent::Create(); 112 ASSERT_NE(pointerEvent, nullptr); 113 pointerEvent->SetSourceType(PointerEvent::SOURCE_TYPE_UNKNOWN); 114 touchGestureAdapter->shouldDeliverToNext_ = false; 115 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->process(pointerEvent)); 116 } 117 118 /** 119 * @tc.name: TouchGestureAdapterTest_process_004 120 * @tc.desc: Test TouchGestureAdapter::process 121 * @tc.type: FUNC 122 * @tc.require: 123 */ 124 HWTEST_F(TouchGestureAdapterTest, TouchGestureAdapterTest_process_004, TestSize.Level1) 125 { 126 CALL_TEST_DEBUG; 127 auto touchGestureAdapter = std::make_shared<TouchGestureAdapter>(TOUCH_GESTURE_TYPE_SWIPE, nullptr); 128 auto pointerEvent = PointerEvent::Create(); 129 ASSERT_NE(pointerEvent, nullptr); 130 pointerEvent->SetSourceType(PointerEvent::SOURCE_TYPE_TOUCHSCREEN); 131 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->process(pointerEvent)); 132 } 133 134 /** 135 * @tc.name: TouchGestureAdapterTest_Init_001 136 * @tc.desc: Test the funcation Init 137 * @tc.type: FUNC 138 * @tc.require: 139 */ 140 HWTEST_F(TouchGestureAdapterTest, TouchGestureAdapterTest_Init_001, TestSize.Level1) 141 { 142 CALL_TEST_DEBUG; 143 TouchGestureType adapterType = 5; 144 std::shared_ptr<TouchGestureAdapter> nextAdapter = nullptr; 145 auto touchGestureAdapter = std::make_shared<TouchGestureAdapter>(adapterType, nextAdapter); 146 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->Init()); 147 std::shared_ptr<OHOS::MMI::TouchGestureDetector::GestureListener> listener = nullptr; 148 touchGestureAdapter->gestureDetector_ = std::make_shared<TouchGestureDetector>(adapterType, listener); 149 touchGestureAdapter->nextAdapter_ = std::make_shared<TouchGestureAdapter>(adapterType, nextAdapter); 150 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->Init()); 151 touchGestureAdapter->nextAdapter_ = nullptr; 152 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->Init()); 153 } 154 155 /** 156 * @tc.name: TouchGestureAdapterTest_GetGestureFactory_001 157 * @tc.desc: Test the funcation GetGestureFactory 158 * @tc.type: FUNC 159 * @tc.require: 160 */ 161 HWTEST_F(TouchGestureAdapterTest, TouchGestureAdapterTest_GetGestureFactory_001, TestSize.Level1) 162 { 163 CALL_TEST_DEBUG; 164 TouchGestureType adapterType = 5; 165 std::shared_ptr<TouchGestureAdapter> nextAdapter = nullptr; 166 auto touchGestureAdapter = std::make_shared<TouchGestureAdapter>(adapterType, nextAdapter); 167 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->GetGestureFactory()); 168 } 169 170 /** 171 * @tc.name: TouchGestureAdapterTest_OnTouchEvent_001 172 * @tc.desc: Test the funcation OnTouchEvent 173 * @tc.type: FUNC 174 * @tc.require: 175 */ 176 HWTEST_F(TouchGestureAdapterTest, TouchGestureAdapterTest_OnTouchEvent_001, TestSize.Level1) 177 { 178 CALL_TEST_DEBUG; 179 TouchGestureType adapterType = 5; 180 std::shared_ptr<TouchGestureAdapter> nextAdapter = nullptr; 181 auto touchGestureAdapter = std::make_shared<TouchGestureAdapter>(adapterType, nextAdapter); 182 std::shared_ptr<PointerEvent> event = PointerEvent::Create(); 183 std::shared_ptr<OHOS::MMI::TouchGestureDetector::GestureListener> listener = nullptr; 184 touchGestureAdapter->gestureDetector_ = std::make_shared<TouchGestureDetector>(adapterType, listener); 185 event->SetSourceType(PointerEvent::SOURCE_TYPE_TOUCHPAD); 186 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 187 event->SetSourceType(PointerEvent::SOURCE_TYPE_TOUCHSCREEN); 188 event->SetPointerAction(PointerEvent::POINTER_ACTION_DOWN); 189 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 190 event->SetPointerAction(PointerEvent::POINTER_ACTION_UP); 191 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 192 event->SetPointerAction(PointerEvent::POINTER_ACTION_CANCEL); 193 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 194 touchGestureAdapter->gestureStarted_ = false; 195 event->SetPointerAction(PointerEvent::POINTER_ACTION_UP); 196 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 197 touchGestureAdapter->gestureStarted_ = false; 198 event->SetPointerAction(PointerEvent::POINTER_ACTION_DOWN); 199 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 200 touchGestureAdapter->gestureStarted_ = true; 201 event->SetPointerAction(PointerEvent::POINTER_ACTION_UP); 202 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 203 touchGestureAdapter->gestureStarted_ = true; 204 event->SetPointerAction(PointerEvent::POINTER_ACTION_DOWN); 205 touchGestureAdapter->gestureType_ = TOUCH_GESTURE_TYPE_SWIPE; 206 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 207 touchGestureAdapter->gestureType_ = TOUCH_GESTURE_TYPE_PINCH; 208 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 209 touchGestureAdapter->gestureType_ = 2; 210 event->SetPointerAction(PointerEvent::POINTER_ACTION_DOWN); 211 touchGestureAdapter->state_ = TouchGestureAdapter::GestureState::SWIPE; 212 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 213 } 214 215 /** 216 * @tc.name: TouchGestureAdapterTest_OnTouchEvent_002 217 * @tc.desc: Test the funcation OnTouchEvent 218 * @tc.type: FUNC 219 * @tc.require: 220 */ 221 HWTEST_F(TouchGestureAdapterTest, TouchGestureAdapterTest_OnTouchEvent_002, TestSize.Level1) 222 { 223 CALL_TEST_DEBUG; 224 TouchGestureType adapterType = 5; 225 std::shared_ptr<TouchGestureAdapter> nextAdapter = nullptr; 226 auto touchGestureAdapter = std::make_shared<TouchGestureAdapter>(adapterType, nextAdapter); 227 std::shared_ptr<PointerEvent> event = PointerEvent::Create(); 228 std::shared_ptr<OHOS::MMI::TouchGestureDetector::GestureListener> listener = nullptr; 229 touchGestureAdapter->gestureDetector_ = std::make_shared<TouchGestureDetector>(adapterType, listener); 230 event->SetSourceType(PointerEvent::SOURCE_TYPE_TOUCHSCREEN); 231 touchGestureAdapter->gestureStarted_ = true; 232 event->SetPointerAction(PointerEvent::POINTER_ACTION_DOWN); 233 touchGestureAdapter->gestureType_ = 2; 234 touchGestureAdapter->state_ = TouchGestureAdapter::GestureState::IDLE; 235 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 236 event->SetPointerAction(PointerEvent::POINTER_ACTION_UP); 237 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 238 touchGestureAdapter->state_ = TouchGestureAdapter::GestureState::SWIPE; 239 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 240 event->SetPointerAction(PointerEvent::POINTER_ACTION_MOVE); 241 touchGestureAdapter->gestureStarted_ = true; 242 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 243 event->SetPointerAction(PointerEvent::POINTER_ACTION_UP); 244 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 245 touchGestureAdapter->gestureStarted_ = false; 246 event->SetPointerAction(PointerEvent::POINTER_ACTION_DOWN); 247 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 248 event->SetPointerAction(PointerEvent::POINTER_ACTION_MOVE); 249 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 250 } 251 252 /** 253 * @tc.name: TouchGestureAdapterTest_OnSwipeGesture_001 254 * @tc.desc: Test the funcation OnSwipeGesture 255 * @tc.type: FUNC 256 * @tc.require: 257 */ 258 HWTEST_F(TouchGestureAdapterTest, TouchGestureAdapterTest_OnSwipeGesture_001, TestSize.Level1) 259 { 260 CALL_TEST_DEBUG; 261 TouchGestureType adapterType = 5; 262 std::shared_ptr<TouchGestureAdapter> nextAdapter = nullptr; 263 auto touchGestureAdapter = std::make_shared<TouchGestureAdapter>(adapterType, nextAdapter); 264 std::shared_ptr<PointerEvent> event = PointerEvent::Create(); 265 std::shared_ptr<OHOS::MMI::TouchGestureDetector::GestureListener> listener = nullptr; 266 touchGestureAdapter->gestureDetector_ = std::make_shared<TouchGestureDetector>(adapterType, listener); 267 touchGestureAdapter->state_ = TouchGestureAdapter::GestureState::PINCH; 268 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnSwipeGesture(event)); 269 touchGestureAdapter->state_ = TouchGestureAdapter::GestureState::IDLE; 270 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnSwipeGesture(event)); 271 } 272 273 /** 274 * @tc.name: TouchGestureAdapterTest_OnPinchGesture_001 275 * @tc.desc: Test the funcation OnPinchGesture 276 * @tc.type: FUNC 277 * @tc.require: 278 */ 279 HWTEST_F(TouchGestureAdapterTest, TouchGestureAdapterTest_OnPinchGesture_001, TestSize.Level1) 280 { 281 CALL_TEST_DEBUG; 282 TouchGestureType adapterType = 5; 283 std::shared_ptr<TouchGestureAdapter> nextAdapter = nullptr; 284 auto touchGestureAdapter = std::make_shared<TouchGestureAdapter>(adapterType, nextAdapter); 285 std::shared_ptr<PointerEvent> event = PointerEvent::Create(); 286 std::shared_ptr<OHOS::MMI::TouchGestureDetector::GestureListener> listener = nullptr; 287 touchGestureAdapter->gestureDetector_ = std::make_shared<TouchGestureDetector>(adapterType, listener); 288 touchGestureAdapter->state_ = TouchGestureAdapter::GestureState::SWIPE; 289 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnPinchGesture(event)); 290 touchGestureAdapter->state_ = TouchGestureAdapter::GestureState::IDLE; 291 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnPinchGesture(event)); 292 } 293 294 /** 295 * @tc.name: TouchGestureAdapterTest_OnGestureEvent_001 296 * @tc.desc: Test the funcation OnGestureEvent 297 * @tc.type: FUNC 298 * @tc.require: 299 */ 300 HWTEST_F(TouchGestureAdapterTest, TouchGestureAdapterTest_OnGestureEvent_001, TestSize.Level1) 301 { 302 CALL_TEST_DEBUG; 303 TouchGestureType adapterType = 5; 304 std::shared_ptr<TouchGestureAdapter> nextAdapter = nullptr; 305 auto touchGestureAdapter = std::make_shared<TouchGestureAdapter>(adapterType, nextAdapter); 306 std::shared_ptr<PointerEvent> event = PointerEvent::Create(); 307 InputHandler->eventMonitorHandler_ = std::make_shared<EventMonitorHandler>(); 308 GestureMode mode = GestureMode::ACTION_SWIPE_DOWN; 309 bool ret = touchGestureAdapter->OnGestureEvent(event, mode); 310 ASSERT_EQ(ret, true); 311 mode = GestureMode::ACTION_SWIPE_UP; 312 ret = touchGestureAdapter->OnGestureEvent(event, mode); 313 ASSERT_EQ(ret, true); 314 mode = GestureMode::ACTION_SWIPE_LEFT; 315 ret = touchGestureAdapter->OnGestureEvent(event, mode); 316 ASSERT_EQ(ret, true); 317 mode = GestureMode::ACTION_SWIPE_RIGHT; 318 ret = touchGestureAdapter->OnGestureEvent(event, mode); 319 ASSERT_EQ(ret, true); 320 mode = GestureMode::ACTION_PINCH_CLOSED; 321 ret = touchGestureAdapter->OnGestureEvent(event, mode); 322 ASSERT_EQ(ret, true); 323 mode = GestureMode::ACTION_PINCH_OPENED; 324 ret = touchGestureAdapter->OnGestureEvent(event, mode); 325 ASSERT_EQ(ret, true); 326 mode = GestureMode::ACTION_UNKNOWN; 327 ret = touchGestureAdapter->OnGestureEvent(event, mode); 328 ASSERT_EQ(ret, false); 329 } 330 331 /** 332 * @tc.name: TouchGestureAdapterTest_SetGestureEnable_002 333 * @tc.desc: Test the funcation SetGestureEnable 334 * @tc.type: FUNC 335 * @tc.require: 336 */ 337 HWTEST_F(TouchGestureAdapterTest, TouchGestureAdapterTest_SetGestureEnable_002, TestSize.Level1) 338 { 339 CALL_TEST_DEBUG; 340 TouchGestureType adapterType = TOUCH_GESTURE_TYPE_ALL; 341 std::shared_ptr<TouchGestureAdapter> nextAdapter = nullptr; 342 auto touchGestureAdapter = std::make_shared<TouchGestureAdapter>(adapterType, nextAdapter); 343 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->SetGestureCondition(true, adapterType, 0)); 344 adapterType = TOUCH_GESTURE_TYPE_SWIPE; 345 touchGestureAdapter->gestureType_ = TOUCH_GESTURE_TYPE_SWIPE; 346 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->SetGestureCondition(true, adapterType, 0)); 347 adapterType = TOUCH_GESTURE_TYPE_PINCH; 348 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->SetGestureCondition(true, adapterType, 0)); 349 std::shared_ptr<OHOS::MMI::TouchGestureDetector::GestureListener> listener = nullptr; 350 touchGestureAdapter->gestureDetector_ = std::make_shared<TouchGestureDetector>(adapterType, listener); 351 adapterType = TOUCH_GESTURE_TYPE_ALL; 352 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->SetGestureCondition(true, adapterType, 0)); 353 adapterType = TOUCH_GESTURE_TYPE_PINCH; 354 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->SetGestureCondition(true, adapterType, 0)); 355 touchGestureAdapter->nextAdapter_ = nullptr; 356 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->SetGestureCondition(true, adapterType, 0)); 357 touchGestureAdapter->nextAdapter_ = std::make_shared<TouchGestureAdapter>(adapterType, nextAdapter); 358 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->SetGestureCondition(true, adapterType, 0)); 359 } 360 361 /** 362 * @tc.name: TouchGestureAdapterTest_OnTouchEvent_003 363 * @tc.desc: Test the funcation OnTouchEvent 364 * @tc.type: FUNC 365 * @tc.require: 366 */ 367 HWTEST_F(TouchGestureAdapterTest, TouchGestureAdapterTest_OnTouchEvent_003, TestSize.Level1) 368 { 369 CALL_TEST_DEBUG; 370 TouchGestureType adapterType = 5; 371 std::shared_ptr<TouchGestureAdapter> nextAdapter = nullptr; 372 auto touchGestureAdapter = std::make_shared<TouchGestureAdapter>(adapterType, nextAdapter); 373 std::shared_ptr<PointerEvent> event = PointerEvent::Create(); 374 std::shared_ptr<OHOS::MMI::TouchGestureDetector::GestureListener> listener = nullptr; 375 touchGestureAdapter->gestureDetector_ = std::make_shared<TouchGestureDetector>(adapterType, listener); 376 event->SetSourceType(PointerEvent::SOURCE_TYPE_TOUCHSCREEN); 377 event->SetPointerAction(PointerEvent::POINTER_ACTION_DOWN); 378 touchGestureAdapter->gestureType_ = 2; 379 touchGestureAdapter->state_ = TouchGestureAdapter::GestureState::SWIPE; 380 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 381 event->SetPointerAction(PointerEvent::POINTER_ACTION_UP); 382 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 383 event->SetPointerAction(PointerEvent::POINTER_ACTION_DOWN); 384 touchGestureAdapter->state_ = TouchGestureAdapter::GestureState::IDLE; 385 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 386 event->SetPointerAction(PointerEvent::POINTER_ACTION_MOVE); 387 touchGestureAdapter->gestureStarted_ = true; 388 touchGestureAdapter->state_ = TouchGestureAdapter::GestureState::SWIPE; 389 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 390 touchGestureAdapter->state_ = TouchGestureAdapter::GestureState::IDLE; 391 event->SetPointerAction(PointerEvent::POINTER_ACTION_UP); 392 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->OnTouchEvent(event)); 393 } 394 395 /** 396 * @tc.name: TouchGestureAdapterTest_LogTouchEvent_01 397 * @tc.desc: Test TouchGestureAdapter::LogTouchEvent 398 * @tc.type: FUNC 399 * @tc.require: 400 */ 401 HWTEST_F(TouchGestureAdapterTest, TouchGestureAdapterTest_LogTouchEvent_01, TestSize.Level1) 402 { 403 auto touchGestureAdapter = std::make_shared<TouchGestureAdapter>(TOUCH_GESTURE_TYPE_SWIPE, nullptr); 404 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->LogTouchEvent(nullptr)); 405 } 406 407 /** 408 * @tc.name: TouchGestureAdapterTest_LogTouchEvent_02 409 * @tc.desc: Test TouchGestureAdapter::LogTouchEvent 410 * @tc.type: FUNC 411 * @tc.require: 412 */ 413 HWTEST_F(TouchGestureAdapterTest, TouchGestureAdapterTest_LogTouchEvent_02, TestSize.Level1) 414 { 415 auto pointerEvent = PointerEvent::Create(); 416 ASSERT_NE(pointerEvent, nullptr); 417 pointerEvent->SetSourceType(PointerEvent::SOURCE_TYPE_MOUSE); 418 auto touchGestureAdapter = std::make_shared<TouchGestureAdapter>(TOUCH_GESTURE_TYPE_SWIPE, nullptr); 419 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->LogTouchEvent(pointerEvent)); 420 } 421 422 /** 423 * @tc.name: TouchGestureAdapterTest_LogTouchEvent_03 424 * @tc.desc: Test TouchGestureAdapter::LogTouchEvent 425 * @tc.type: FUNC 426 * @tc.require: 427 */ 428 HWTEST_F(TouchGestureAdapterTest, TouchGestureAdapterTest_LogTouchEvent_03, TestSize.Level1) 429 { 430 auto pointerEvent = PointerEvent::Create(); 431 ASSERT_NE(pointerEvent, nullptr); 432 pointerEvent->SetSourceType(PointerEvent::SOURCE_TYPE_TOUCHSCREEN); 433 pointerEvent->SetPointerAction(PointerEvent::POINTER_ACTION_DOWN); 434 auto touchGestureAdapter = std::make_shared<TouchGestureAdapter>(TOUCH_GESTURE_TYPE_SWIPE, nullptr); 435 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->LogTouchEvent(pointerEvent)); 436 } 437 438 /** 439 * @tc.name: TouchGestureAdapterTest_LogTouchEvent_04 440 * @tc.desc: Test TouchGestureAdapter::LogTouchEvent 441 * @tc.type: FUNC 442 * @tc.require: 443 */ 444 HWTEST_F(TouchGestureAdapterTest, TouchGestureAdapterTest_LogTouchEvent_04, TestSize.Level1) 445 { 446 auto pointerEvent = PointerEvent::Create(); 447 ASSERT_NE(pointerEvent, nullptr); 448 pointerEvent->SetSourceType(PointerEvent::SOURCE_TYPE_TOUCHSCREEN); 449 pointerEvent->SetPointerAction(PointerEvent::POINTER_ACTION_UNKNOWN); 450 auto touchGestureAdapter = std::make_shared<TouchGestureAdapter>(TOUCH_GESTURE_TYPE_SWIPE, nullptr); 451 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->LogTouchEvent(pointerEvent)); 452 } 453 454 /** 455 * @tc.name: TouchGestureAdapterTest_LogTouchEvent_05 456 * @tc.desc: Test TouchGestureAdapter::LogTouchEvent 457 * @tc.type: FUNC 458 * @tc.require: 459 */ 460 HWTEST_F(TouchGestureAdapterTest, TouchGestureAdapterTest_LogTouchEvent_05, TestSize.Level1) 461 { 462 auto pointerEvent = PointerEvent::Create(); 463 ASSERT_NE(pointerEvent, nullptr); 464 pointerEvent->SetSourceType(PointerEvent::SOURCE_TYPE_TOUCHSCREEN); 465 pointerEvent->SetPointerAction(PointerEvent::POINTER_ACTION_DOWN); 466 int32_t pointerId = 1; 467 PointerEvent::PointerItem pointerItem {}; 468 pointerItem.SetPointerId(pointerId); 469 pointerEvent->AddPointerItem(pointerItem); 470 pointerEvent->SetPointerId(pointerId); 471 auto touchGestureAdapter = std::make_shared<TouchGestureAdapter>(TOUCH_GESTURE_TYPE_SWIPE, nullptr); 472 ASSERT_NO_FATAL_FAILURE(touchGestureAdapter->LogTouchEvent(pointerEvent)); 473 } 474 } // namespace MMI 475 } // namespace OHOS