efl_ui_spec: add test suite for range_display events
authorMarcel Hollerbach <mail@marcel-hollerbach.de>
Wed, 31 Jul 2019 08:18:02 +0000 (10:18 +0200)
committerWooHyun Jung <wh0705.jung@samsung.com>
Mon, 5 Aug 2019 02:05:23 +0000 (11:05 +0900)
Summary:
this test case ensures the correct emittation of the newly added events.

ref T7895
Depends on D9372

Reviewers: segfaultxavi, zmike, woohyun, cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7895

Differential Revision: https://phab.enlightenment.org/D9373

src/tests/elementary/efl_ui_test_spin_button.c
src/tests/elementary/spec/efl_test_range_display.c

index f9e6bce..e3a5ed6 100644 (file)
@@ -46,42 +46,6 @@ click_spin_part(Eo *obj, const char *part)
    click_part(obj, part);
 }
 
-EFL_START_TEST (spin_value_events)
-{
-   Eina_Bool changed = EINA_FALSE, min_reached = EINA_FALSE, max_reached = EINA_FALSE;
-
-   efl_ui_range_limits_set(spin, -3.0, 3.0);
-   efl_ui_range_value_set(spin, 0.0);
-   efl_event_callback_add(spin, EFL_UI_RANGE_EVENT_CHANGED, _set_flag, &changed);
-   efl_event_callback_add(spin, EFL_UI_RANGE_EVENT_MIN_REACHED, _set_flag, &min_reached);
-   efl_event_callback_add(spin, EFL_UI_RANGE_EVENT_MAX_REACHED, _set_flag, &max_reached);
-
-   efl_ui_range_value_set(spin, 1.0);
-   ck_assert_int_eq(changed, EINA_TRUE);
-   ck_assert_int_eq(min_reached, EINA_FALSE);
-   ck_assert_int_eq(max_reached, EINA_FALSE);
-   changed = EINA_FALSE;
-   min_reached = EINA_FALSE;
-   max_reached = EINA_FALSE;
-
-   efl_ui_range_value_set(spin, 3.0);
-   ck_assert_int_eq(changed, EINA_TRUE);
-   ck_assert_int_eq(min_reached, EINA_FALSE);
-   ck_assert_int_eq(max_reached, EINA_TRUE);
-   changed = EINA_FALSE;
-   min_reached = EINA_FALSE;
-   max_reached = EINA_FALSE;
-
-   efl_ui_range_value_set(spin, -3.0);
-   ck_assert_int_eq(changed, EINA_TRUE);
-   ck_assert_int_eq(min_reached, EINA_TRUE);
-   ck_assert_int_eq(max_reached, EINA_FALSE);
-   changed = EINA_FALSE;
-   min_reached = EINA_FALSE;
-   max_reached = EINA_FALSE;
-}
-EFL_END_TEST
-
 EFL_START_TEST (spin_wheel_test)
 {
    Eina_Bool changed = EINA_FALSE, min_reached = EINA_FALSE, max_reached = EINA_FALSE;
@@ -195,7 +159,6 @@ void efl_ui_test_spin_button(TCase *tc)
 {
    tcase_add_checked_fixture(tc, fail_on_errors_setup, fail_on_errors_teardown);
    tcase_add_checked_fixture(tc, spin_setup, NULL);
-   tcase_add_test(tc, spin_value_events);
    tcase_add_test(tc, spin_wheel_test);
    tcase_add_test(tc, spin_value_inc);
    tcase_add_test(tc, spin_value_inc_max);
index 338dfb2..f072e02 100644 (file)
@@ -81,10 +81,57 @@ EFL_START_TEST(value_setting)
 }
 EFL_END_TEST
 
+static void
+_set_flag(void *data, const Efl_Event *ev)
+{
+   Eina_Bool *b = data;
+
+   ck_assert_int_eq(*b, EINA_FALSE);
+   *b = EINA_TRUE;
+   ck_assert_ptr_eq(ev->info, NULL);
+}
+
+EFL_START_TEST (range_display_value_events)
+{
+   Eina_Bool changed = EINA_FALSE, min_reached = EINA_FALSE, max_reached = EINA_FALSE;
+
+   efl_ui_range_limits_set(widget, -3.0, 3.0);
+   efl_ui_range_value_set(widget, 0.0);
+   efl_event_callback_add(widget, EFL_UI_RANGE_EVENT_CHANGED, _set_flag, &changed);
+   efl_event_callback_add(widget, EFL_UI_RANGE_EVENT_MIN_REACHED, _set_flag, &min_reached);
+   efl_event_callback_add(widget, EFL_UI_RANGE_EVENT_MAX_REACHED, _set_flag, &max_reached);
+
+   efl_ui_range_value_set(widget, 1.0);
+   ck_assert_int_eq(changed, EINA_TRUE);
+   ck_assert_int_eq(min_reached, EINA_FALSE);
+   ck_assert_int_eq(max_reached, EINA_FALSE);
+   changed = EINA_FALSE;
+   min_reached = EINA_FALSE;
+   max_reached = EINA_FALSE;
+
+   efl_ui_range_value_set(widget, 3.0);
+   ck_assert_int_eq(changed, EINA_TRUE);
+   ck_assert_int_eq(min_reached, EINA_FALSE);
+   ck_assert_int_eq(max_reached, EINA_TRUE);
+   changed = EINA_FALSE;
+   min_reached = EINA_FALSE;
+   max_reached = EINA_FALSE;
+
+   efl_ui_range_value_set(widget, -3.0);
+   ck_assert_int_eq(changed, EINA_TRUE);
+   ck_assert_int_eq(min_reached, EINA_TRUE);
+   ck_assert_int_eq(max_reached, EINA_FALSE);
+   changed = EINA_FALSE;
+   min_reached = EINA_FALSE;
+   max_reached = EINA_FALSE;
+}
+EFL_END_TEST
+
 void
 efl_ui_range_display_behavior_test(TCase *tc)
 {
    tcase_add_test(tc, value_setting_limits);
    tcase_add_test(tc, limit_setting);
    tcase_add_test(tc, value_setting);
+   tcase_add_test(tc, range_display_value_events);
 }