0009_input: Add gesture grab mode set test 94/321594/1
authorJunkyeong Kim <jk0430.kim@samsung.com>
Tue, 25 Mar 2025 11:39:46 +0000 (20:39 +0900)
committerJunkyeong Kim <jk0430.kim@samsung.com>
Tue, 25 Mar 2025 11:39:51 +0000 (20:39 +0900)
Change-Id: Iff3051d05004427eaaef59bd4002ab6af88bd37d
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
src/e_test_efl_util.cpp
src/e_test_efl_util.h
src/testcase/0009_input.cpp

index cd7ddb8c9cda2584c1eef63739c2517c1ae7405c..c203929cf7e07d8e131159fc2a64f60ccaa78397 100644 (file)
@@ -419,6 +419,17 @@ etGestureHandler::freeEdgeDragData(efl_util_gesture_data data)
    return efl_util_gesture_edge_drag_free(handler, data);
 }
 
+int
+etGestureHandler::setGestureGrabMode(efl_util_gesture_data data, efl_util_gesture_grab_mode_e mode)
+{
+   if (handler == nullptr)
+     return EFL_UTIL_ERROR_INVALID_PARAMETER;
+   if (mode == EFL_UTIL_GESTURE_GRAB_MODE_NONE || mode > EFL_UTIL_GESTURE_GRAB_MODE_SHARED)
+     return EFL_UTIL_ERROR_INVALID_PARAMETER;
+
+   return efl_util_gesture_grab_mode_set(handler, data, mode);
+}
+
 int
 etGestureHandler::grabGesture(efl_util_gesture_data data)
 {
index 9c5d25ba9072a7bb6678a3773bf170ae3d6ae59e..02eeddc922332f71a9c4e8a46c369d0b03151042 100644 (file)
@@ -63,6 +63,7 @@ class etGestureHandler
    int           freeEdgeSwipeData(efl_util_gesture_data data);
    efl_util_gesture_data createEdgeDragData(unsigned int fingers, efl_util_gesture_edge_e edge);
    int           freeEdgeDragData(efl_util_gesture_data data);
+   int           setGestureGrabMode(efl_util_gesture_data data, efl_util_gesture_grab_mode_e mode);
    int           grabGesture(efl_util_gesture_data data);
    int           ungrabGesture(efl_util_gesture_data data);
 
@@ -72,4 +73,4 @@ class etGestureHandler
 typedef std::shared_ptr<etGestureHandler> GestureHandler;
 #endif
 
-#endif // end of __ET_TESTCASE_EFL_UTIL__
\ No newline at end of file
+#endif // end of __ET_TESTCASE_EFL_UTIL__
index d36a4438a31d1f411b37b0a839ac0a91f196b5f9..989831c3890bd01afe75d0701ae9267afdd9d2d4 100644 (file)
@@ -22,8 +22,8 @@ public:
         key_name = NULL;
      };
 #ifndef DISABLE_GESTURE_TESTS
-   void test_gesture_edge_swipe(int fingers, efl_util_gesture_edge_e edge);
-   void test_gesture_edge_drag(int fingers, efl_util_gesture_edge_e edge);
+   void test_gesture_edge_swipe(int fingers, efl_util_gesture_edge_e edge, bool shared);
+   void test_gesture_edge_drag(int fingers, efl_util_gesture_edge_e edge, bool shared);
 #endif
 
 protected:
@@ -1848,7 +1848,7 @@ TEST_F(etTestInput, gesture_tap23)
 }
 
 void
-etTestInput::test_gesture_edge_swipe(int fingers, efl_util_gesture_edge_e edge)
+etTestInput::test_gesture_edge_swipe(int fingers, efl_util_gesture_edge_e edge, bool shared)
 {
    int ret = EFL_UTIL_ERROR_NONE;
    auto inputgen_h = std::make_shared<etInputGenHandler>(EFL_UTIL_INPUT_DEVTYPE_TOUCHSCREEN, true);
@@ -1858,6 +1858,9 @@ etTestInput::test_gesture_edge_swipe(int fingers, efl_util_gesture_edge_e edge)
    edge_swipe_d = gesture_h->createEdgeSwipeData(fingers, edge);
    ASSERT_TRUE(edge_swipe_d != NULL) << "failed to generate edge swipe grab data";
 
+   if (shared)
+     gesture_h->setGestureGrabMode(edge_swipe_d, EFL_UTIL_GESTURE_GRAB_MODE_SHARED);
+
    ret = gesture_h->grabGesture(edge_swipe_d);
    ASSERT_TRUE(ret == EFL_UTIL_ERROR_NONE) << "failed to grab edge swipe gesture: (ret: "
      << EFL_UTIL_RETURN_TO_STRING(ret) << ")";
@@ -1885,62 +1888,90 @@ etTestInput::test_gesture_edge_swipe(int fingers, efl_util_gesture_edge_e edge)
 
 TEST_F(etTestInput, gesture_edge_swipe11)
 {
-   test_gesture_edge_swipe(1, EFL_UTIL_GESTURE_EDGE_TOP);
+   test_gesture_edge_swipe(1, EFL_UTIL_GESTURE_EDGE_TOP, false);
 
    ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
 }
 
 TEST_F(etTestInput, gesture_edge_swipe12)
 {
-   test_gesture_edge_swipe(1, EFL_UTIL_GESTURE_EDGE_RIGHT);
+   test_gesture_edge_swipe(1, EFL_UTIL_GESTURE_EDGE_RIGHT, false);
 
    ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
 }
 
 TEST_F(etTestInput, gesture_edge_swipe13)
 {
-   test_gesture_edge_swipe(1, EFL_UTIL_GESTURE_EDGE_BOTTOM);
+   test_gesture_edge_swipe(1, EFL_UTIL_GESTURE_EDGE_BOTTOM, false);
 
    ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
 }
 
 TEST_F(etTestInput, gesture_edge_swipe14)
 {
-   test_gesture_edge_swipe(1, EFL_UTIL_GESTURE_EDGE_LEFT);
+   test_gesture_edge_swipe(1, EFL_UTIL_GESTURE_EDGE_LEFT, false);
 
    ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
 }
 
 TEST_F(etTestInput, gesture_edge_swipe21)
 {
-   test_gesture_edge_swipe(2, EFL_UTIL_GESTURE_EDGE_TOP);
+   test_gesture_edge_swipe(2, EFL_UTIL_GESTURE_EDGE_TOP, false);
 
    ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
 }
 
 TEST_F(etTestInput, gesture_edge_swipe22)
 {
-   test_gesture_edge_swipe(2, EFL_UTIL_GESTURE_EDGE_RIGHT);
+   test_gesture_edge_swipe(2, EFL_UTIL_GESTURE_EDGE_RIGHT, false);
 
    ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
 }
 
 TEST_F(etTestInput, gesture_edge_swipe23)
 {
-   test_gesture_edge_swipe(2, EFL_UTIL_GESTURE_EDGE_BOTTOM);
+   test_gesture_edge_swipe(2, EFL_UTIL_GESTURE_EDGE_BOTTOM, false);
 
    ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
 }
 
 TEST_F(etTestInput, gesture_edge_swipe24)
 {
-   test_gesture_edge_swipe(2, EFL_UTIL_GESTURE_EDGE_LEFT);
+   test_gesture_edge_swipe(2, EFL_UTIL_GESTURE_EDGE_LEFT, false);
+
+   ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
+TEST_F(etTestInput, gesture_edge_swipe31)
+{
+   test_gesture_edge_swipe(1, EFL_UTIL_GESTURE_EDGE_TOP, true);
+
+   ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
+TEST_F(etTestInput, gesture_edge_swipe32)
+{
+   test_gesture_edge_swipe(1, EFL_UTIL_GESTURE_EDGE_RIGHT, true);
+
+   ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
+TEST_F(etTestInput, gesture_edge_swipe33)
+{
+   test_gesture_edge_swipe(1, EFL_UTIL_GESTURE_EDGE_BOTTOM, true);
+
+   ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
+TEST_F(etTestInput, gesture_edge_swipe34)
+{
+   test_gesture_edge_swipe(1, EFL_UTIL_GESTURE_EDGE_LEFT, true);
 
    ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
 }
 
 void
-etTestInput::test_gesture_edge_drag(int fingers, efl_util_gesture_edge_e edge)
+etTestInput::test_gesture_edge_drag(int fingers, efl_util_gesture_edge_e edge, bool shared)
 {
    int ret = EFL_UTIL_ERROR_NONE;
    auto inputgen_h = std::make_shared<etInputGenHandler>(EFL_UTIL_INPUT_DEVTYPE_TOUCHSCREEN, true);
@@ -1950,6 +1981,9 @@ etTestInput::test_gesture_edge_drag(int fingers, efl_util_gesture_edge_e edge)
    edge_drag_d = gesture_h->createEdgeDragData(fingers, edge);
    ASSERT_TRUE(edge_drag_d != NULL) << "failed to generate edge drag grab data";
 
+   if (shared)
+     gesture_h->setGestureGrabMode(edge_drag_d, EFL_UTIL_GESTURE_GRAB_MODE_SHARED);
+
    ret = gesture_h->grabGesture(edge_drag_d);
    ASSERT_TRUE(ret == EFL_UTIL_ERROR_NONE) << "failed to grab edge drag gesture: (ret: "
      << EFL_UTIL_RETURN_TO_STRING(ret) << ")";
@@ -1975,56 +2009,84 @@ etTestInput::test_gesture_edge_drag(int fingers, efl_util_gesture_edge_e edge)
 
 TEST_F(etTestInput, gesture_edge_drag11)
 {
-   test_gesture_edge_drag(1, EFL_UTIL_GESTURE_EDGE_TOP);
+   test_gesture_edge_drag(1, EFL_UTIL_GESTURE_EDGE_TOP, false);
 
    ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
 }
 
 TEST_F(etTestInput, gesture_edge_drag12)
 {
-   test_gesture_edge_drag(1, EFL_UTIL_GESTURE_EDGE_RIGHT);
+   test_gesture_edge_drag(1, EFL_UTIL_GESTURE_EDGE_RIGHT, false);
 
    ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
 }
 
 TEST_F(etTestInput, gesture_edge_drag13)
 {
-   test_gesture_edge_drag(1, EFL_UTIL_GESTURE_EDGE_BOTTOM);
+   test_gesture_edge_drag(1, EFL_UTIL_GESTURE_EDGE_BOTTOM, false);
 
    ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
 }
 
 TEST_F(etTestInput, gesture_edge_drag14)
 {
-   test_gesture_edge_drag(1, EFL_UTIL_GESTURE_EDGE_LEFT);
+   test_gesture_edge_drag(1, EFL_UTIL_GESTURE_EDGE_LEFT, false);
 
    ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
 }
 
 TEST_F(etTestInput, gesture_edge_drag21)
 {
-   test_gesture_edge_drag(2, EFL_UTIL_GESTURE_EDGE_TOP);
+   test_gesture_edge_drag(2, EFL_UTIL_GESTURE_EDGE_TOP, false);
 
    ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
 }
 
 TEST_F(etTestInput, gesture_edge_drag22)
 {
-   test_gesture_edge_drag(2, EFL_UTIL_GESTURE_EDGE_RIGHT);
+   test_gesture_edge_drag(2, EFL_UTIL_GESTURE_EDGE_RIGHT, false);
 
    ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
 }
 
 TEST_F(etTestInput, gesture_edge_drag23)
 {
-   test_gesture_edge_drag(2, EFL_UTIL_GESTURE_EDGE_BOTTOM);
+   test_gesture_edge_drag(2, EFL_UTIL_GESTURE_EDGE_BOTTOM, false);
 
    ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
 }
 
 TEST_F(etTestInput, gesture_edge_drag24)
 {
-   test_gesture_edge_drag(2, EFL_UTIL_GESTURE_EDGE_LEFT);
+   test_gesture_edge_drag(2, EFL_UTIL_GESTURE_EDGE_LEFT, false);
+
+   ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
+TEST_F(etTestInput, gesture_edge_drag31)
+{
+   test_gesture_edge_drag(1, EFL_UTIL_GESTURE_EDGE_TOP, true);
+
+   ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
+TEST_F(etTestInput, gesture_edge_drag32)
+{
+   test_gesture_edge_drag(1, EFL_UTIL_GESTURE_EDGE_RIGHT, true);
+
+   ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
+TEST_F(etTestInput, gesture_edge_drag33)
+{
+   test_gesture_edge_drag(1, EFL_UTIL_GESTURE_EDGE_BOTTOM, true);
+
+   ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
+}
+
+TEST_F(etTestInput, gesture_edge_drag34)
+{
+   test_gesture_edge_drag(1, EFL_UTIL_GESTURE_EDGE_LEFT, true);
 
    ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
 }