bu5hm4n pushed a commit to branch master.

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

commit b5e65ed99324f9d13f954f79cfb35179a688b55c
Author: Mike Blumenkrantz <[email protected]>
Date:   Mon Jul 1 12:26:02 2019 -0400

    tests/radio: add explicit test for verifying legacy radio callback 
triggering
    
    the 'changed' callback should never be triggered when programmatically
    changing a radio's state
    
    ref T8042
---
 src/tests/elementary/elm_test_radio.c | 37 +++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/src/tests/elementary/elm_test_radio.c 
b/src/tests/elementary/elm_test_radio.c
index c196850015..677fdb0b1e 100644
--- a/src/tests/elementary/elm_test_radio.c
+++ b/src/tests/elementary/elm_test_radio.c
@@ -97,9 +97,46 @@ EFL_START_TEST(elm_test_radio_selection)
 }
 EFL_END_TEST
 
+EFL_START_TEST(elm_test_radio_callback)
+{
+   radio_change_count = 0;
+   Evas_Object *rd, *rdg;
+   Evas_Object *win = win_add(NULL, "radio", ELM_WIN_BASIC);
+   evas_object_resize(win, 100, 100);
+
+   // radio 1
+   rd = elm_radio_add(win);
+   evas_object_resize(rd, 100, 100);
+
+   // rdg radio group
+   rdg = rd;
+   evas_object_smart_callback_add(rdg, "changed", _rdg_changed_cb, NULL);
+
+   elm_radio_state_value_set(rd, 1);
+   elm_object_text_set(rd, "Radio Group Test #1");
+   evas_object_show(rd);
+
+
+   // radio 2
+   rd = elm_radio_add(win);
+   evas_object_resize(rd, 100, 100);
+   elm_radio_state_value_set(rd, 2);
+   elm_object_text_set(rd, "Radio Group Test #2");
+   elm_radio_group_add(rd, rdg);
+   evas_object_show(rd);
+   evas_object_show(win);
+
+   elm_radio_value_set(rdg, 2);
+   elm_radio_value_set(rdg, 1);
+   elm_radio_value_set(rdg, 2);
+   ck_assert_int_eq(radio_change_count, 0);
+}
+EFL_END_TEST
+
 void elm_test_radio(TCase *tc)
 {
    tcase_add_test(tc, elm_radio_legacy_type_check);
    tcase_add_test(tc, elm_atspi_role_get);
    tcase_add_test(tc, elm_test_radio_selection);
+   tcase_add_test(tc, elm_test_radio_callback);
 }

-- 


Reply via email to