bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f2347354f3a89675c472c89f008253208a2425cb

commit f2347354f3a89675c472c89f008253208a2425cb
Author: Mike Blumenkrantz <[email protected]>
Date:   Thu Jan 23 15:21:22 2020 -0500

    tests/gesture: add zoom and pinch tests
    
    basic tests verifying completion of the gestures
    
    Differential Revision: https://phab.enlightenment.org/D11170
---
 src/tests/elementary/efl_ui_test_gesture.c | 69 ++++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)

diff --git a/src/tests/elementary/efl_ui_test_gesture.c 
b/src/tests/elementary/efl_ui_test_gesture.c
index 1463283673..b44ab6b331 100644
--- a/src/tests/elementary/efl_ui_test_gesture.c
+++ b/src/tests/elementary/efl_ui_test_gesture.c
@@ -48,6 +48,11 @@ static int count[LAST][4] = {0};
     for (int i = 0; i < 4; i++) \
       ck_assert_int_eq(count[(type)][i], state_vals[i]); \
   } while (0)
+#define CHECK_NONZERO(type) \
+  do {\
+    for (int i = 0; i < 4; i++) \
+      ck_assert_int_ne(count[(type)][i], 0); \
+  } while (0)
 #define CHECK_ZERO(type) CHECK_ALL((type), 0, 0, 0, 0)
 #define RESET memset(count, 0, sizeof(count))
 
@@ -430,9 +435,73 @@ EFL_START_TEST(test_efl_ui_gesture_flick)
 }
 EFL_END_TEST
 
+EFL_START_TEST(test_efl_ui_gesture_zoom)
+{
+   Eo *rect = setup();
+   int moves;
+
+   moves = pinch_object(rect, 500, 500, 501, 501, -250, -250, 250, 250);
+   /* canceled */
+   CHECK_ALL(TAP, 1, 0, 0, 1);
+   /* canceled */
+   CHECK_ALL(LONG_TAP, 1, 0, 0, 1);
+   /* canceled */
+   CHECK_ALL(DOUBLE_TAP, 1, 0, 0, 1);
+   /* canceled */
+   CHECK_ALL(TRIPLE_TAP, 1, 0, 0, 1);
+
+   CHECK_START(MOMENTUM, 1);
+   CHECK_UPDATE(MOMENTUM, moves * 2 + 1);
+   CHECK_FINISH(MOMENTUM, 0);
+   CHECK_CANCEL(MOMENTUM, 1);
+
+   /* only finish is verifiable */
+   CHECK_FINISH(FLICK, 0);
+   /* started 1x */
+   CHECK_START(ZOOM, 1);
+   /* 2 touch points tracked, so this will be roughly (2 * moves) but probably 
less */
+   ck_assert_int_ge(count[ZOOM][EFL_GESTURE_STATE_UPDATED - 1], moves);
+   /* finished 1x */
+   CHECK_FINISH(ZOOM, 1);
+   CHECK_CANCEL(ZOOM, 0);
+
+   RESET;
+
+
+   moves = pinch_object(rect, 250, 250, 750, 750, 250, 250, -250, -250);
+   /* canceled */
+   CHECK_ALL(TAP, 1, 0, 0, 1);
+   /* canceled */
+   CHECK_ALL(LONG_TAP, 1, 0, 0, 1);
+   /* canceled */
+   CHECK_ALL(DOUBLE_TAP, 1, 0, 0, 1);
+   /* canceled */
+   CHECK_ALL(TRIPLE_TAP, 1, 0, 0, 1);
+
+   CHECK_START(MOMENTUM, 1);
+   CHECK_UPDATE(MOMENTUM, moves * 2 + 1);
+   CHECK_FINISH(MOMENTUM, 0);
+   CHECK_CANCEL(MOMENTUM, 1);
+
+   /* only finish is verifiable */
+   CHECK_FINISH(FLICK, 0);
+   /* started 1x */
+   CHECK_START(ZOOM, 1);
+   /* 2 touch points tracked, so this will be roughly (2 * moves) but probably 
less */
+   ck_assert_int_ge(count[ZOOM][EFL_GESTURE_STATE_UPDATED - 1], moves);
+   /* finished 1x */
+   CHECK_FINISH(ZOOM, 1);
+   CHECK_CANCEL(ZOOM, 0);
+
+   RESET;
+
+}
+EFL_END_TEST
+
 void efl_ui_test_gesture(TCase *tc)
 {
    tcase_add_test(tc, test_efl_ui_gesture_taps);
    tcase_add_test(tc, test_efl_ui_gesture_long_tap);
    tcase_add_test(tc, test_efl_ui_gesture_flick);
+   tcase_add_test(tc, test_efl_ui_gesture_zoom);
 }

-- 


Reply via email to