0009_input: Add pointer down/up testcases 71/312271/5
authorJihoon Kim <jihoon48.kim@samsung.com>
Wed, 5 Jun 2024 10:58:42 +0000 (19:58 +0900)
committerGwanglim Lee <gl77.lee@samsung.com>
Wed, 5 Jun 2024 11:45:50 +0000 (11:45 +0000)
Change-Id: Ideae719dd3a708416d4916de5a65d398d1334618
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
src/e_test_efl_util.cpp
src/e_test_efl_util.h
src/testcase/0009_input.cpp

index 622f3059d9b0f5c05fab2988c7c5ee867b753a21..54223344806a17cc4208b2c5ab8f427b1d067c84 100644 (file)
@@ -253,6 +253,72 @@ etInputGenHandler::generateTouchUp(int idx, int x, int y)
    return EINA_TRUE;
 }
 
+Eina_Bool
+etInputGenHandler::generatePointerDown(int button_idx, int x, int y)
+{
+   // Using efl_util_input_generate instead of generate event by eldbus
+   int ret = EFL_UTIL_ERROR_NONE;
+
+   if (handler == NULL)
+     return EINA_FALSE;
+
+   ret = efl_util_input_generate_pointer(handler,
+                                         button_idx,
+                                         EFL_UTIL_INPUT_POINTER_BUTTON_DOWN,
+                                         x, y);
+   if (ret != EFL_UTIL_ERROR_NONE)
+     {
+        printf("failed to generate pointer down, button: %d, x: %d, y: %d, ret: %d(%s)\n", button_idx, x, y, ret, printErrorCode(ret));
+        return EINA_FALSE;
+     }
+
+   return EINA_TRUE;
+}
+
+Eina_Bool
+etInputGenHandler::generatePointerMove(int button_idx, int x, int y)
+{
+   // Using efl_util_input_generate instead of generate event by eldbus
+   int ret = EFL_UTIL_ERROR_NONE;
+
+   if (handler == NULL)
+     return EINA_FALSE;
+
+   ret = efl_util_input_generate_pointer(handler,
+                                         button_idx,
+                                         EFL_UTIL_INPUT_POINTER_MOVE,
+                                         x, y);
+   if (ret != EFL_UTIL_ERROR_NONE)
+     {
+        printf("failed to generate pointer move, button: %d, x: %d, y: %d, ret: %d(%s)\n", button_idx, x, y, ret, printErrorCode(ret));
+        return EINA_FALSE;
+     }
+
+   return EINA_TRUE;
+}
+
+Eina_Bool
+etInputGenHandler::generatePointerUp(int button_idx, int x, int y)
+{
+   // Using efl_util_input_generate instead of generate event by eldbus
+   int ret = EFL_UTIL_ERROR_NONE;
+
+   if (handler == NULL)
+     return EINA_FALSE;
+
+   ret = efl_util_input_generate_pointer(handler,
+                                         button_idx,
+                                         EFL_UTIL_INPUT_POINTER_BUTTON_UP,
+                                         x, y);
+   if (ret != EFL_UTIL_ERROR_NONE)
+     {
+        printf("failed to generate pointer up, button: %d, x: %d, y: %d, ret: %d(%s)\n", button_idx, x, y, ret, printErrorCode(ret));
+        return EINA_FALSE;
+     }
+
+   return EINA_TRUE;
+}
+
 #ifndef DISABLE_GESTURE_TESTS
 efl_util_gesture_data
 etGestureHandler::createTapData(unsigned int fingers, unsigned int repeats)
index 87cb490d33d035f10dd17e936d6e62d4e6e1b2de..fdcb97c9a82b6f6a0d3815a0285c8338bc9ab9ff 100644 (file)
@@ -64,6 +64,10 @@ class etInputGenHandler
    Eina_Bool     generateTouchMove(int idx, int x, int y);
    Eina_Bool     generateTouchUp(int idx, int x, int y);
 
+   Eina_Bool     generatePointerDown(int button_idx, int x, int y);
+   Eina_Bool     generatePointerMove(int button_idx, int x, int y);
+   Eina_Bool     generatePointerUp(int button_idx, int x, int y);
+
  private :
    efl_util_inputgen_h handler;
 };
index afee9dc7cda2a8cd632c1a89090a751ade93538d..b20672fe7142e57bb014d60ea428dc31d7c60c6d 100644 (file)
@@ -355,12 +355,37 @@ TEST_F(etTestInput, keygrab_win)
    evas_object_key_ungrab(tw_shared->elm_win, "XF86Menu", 0, 0);
    ret = elm_win_keygrab_unset(tw_shared->elm_win, "XF86Menu", 0, 0);
    ASSERT_TRUE(ret);
-   
+
    etRunner::get().ev.key.name = NULL;
    etRunner::get().ev.elm_win = NULL;
 
    ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
 }
+
+TEST_F(etTestInput, pointer_down)
+{
+   int ret = EFL_UTIL_ERROR_NONE;
+
+   InputGenHandler inputgen_h = std::make_shared<etInputGenHandler>(EFL_UTIL_INPUT_DEVTYPE_POINTER);
+   etRunner::get().work(1.0); // wait for pointer device enabled
+
+   ret = inputgen_h->generatePointerDown(1, 50, 50);
+   ASSERT_TRUE(ret);
+   ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
+TEST_F(etTestInput, pointer_up)
+{
+   int ret = EFL_UTIL_ERROR_NONE;
+
+   InputGenHandler inputgen_h = std::make_shared<etInputGenHandler>(EFL_UTIL_INPUT_DEVTYPE_POINTER);
+   etRunner::get().work(1.0); // wait for pointer device enabled
+
+   ret = inputgen_h->generatePointerUp(1, 50, 50);
+   ASSERT_TRUE(ret);
+   ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
 #ifndef DISABLE_GESTURE_TESTS
 TEST_F(etTestInput, gesture_tap22)
 {
@@ -426,7 +451,7 @@ TEST_F(etTestInput, gesture_tap23)
 
    etRunner::get().ev.gesture.tap.fingers = 0;
    etRunner::get().ev.gesture.tap.repeats = 0;
-   
+
    ret = gesture_h->ungrabGesture(tap_d);
    ASSERT_TRUE(ret == EFL_UTIL_ERROR_NONE) << "failed to ungrab tap gesture: (ret: "
      << EFL_UTIL_RETURN_TO_STRING(ret) << ")";
@@ -626,3 +651,4 @@ TEST_F(etTestInput, gesture_edge_drag24)
    ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
 }
 #endif
+