Joining slider percentage value with state trait 32/280332/2 accepted/tizen/6.0/unified/20220830.133540 submit/tizen_6.0/20220830.024052
authorLukasz Oleksak <l.oleksak@samsung.com>
Fri, 26 Aug 2022 13:16:07 +0000 (15:16 +0200)
committerMaria Bialota <m.bialota@samsung.com>
Fri, 26 Aug 2022 18:03:07 +0000 (20:03 +0200)
Change-Id: I108996af10c7bbc7111ec5cb5641deaae38c1e07

src/reading_composer.c
tests2/utils_role_trait.cpp
tests2/wrappers/mocked_reading_composer.cpp
tests2/wrappers/mocked_reading_composer.h

index 7589555f6a8ad7dfba5ef4bd53eaf2a68c8a1165..a783c953320a883bc487d31567006918136bd6d1 100644 (file)
@@ -33,7 +33,7 @@ TIZEN_PROD_STATIC int get_percent_value_from_rm(AtspiAccessibleReadingMaterial *
        return get_percent_value(rm->value, rm->lower, rm->upper);
 }
 
-TIZEN_PROD_STATIC void add_percent_value_description(Eina_Strbuf *buf, int percent)
+TIZEN_PROD_STATIC void add_percent_value_string(Eina_Strbuf *buf, int percent)
 {
        char buf_percent[64] = "\0";
 
@@ -41,9 +41,9 @@ TIZEN_PROD_STATIC void add_percent_value_description(Eina_Strbuf *buf, int perce
        SUPPRESS_FORMAT_ERROR(eina_strbuf_append_printf(buf, _("IDS_GCTS_OPT_P1SS_PERCENT_TTS"), buf_percent));
 }
 
-TIZEN_PROD_STATIC void add_slider_description(Eina_Strbuf *buf, AtspiAccessibleReadingMaterial *rm)
+TIZEN_PROD_STATIC void add_slider_state(Eina_Strbuf *buf, AtspiAccessibleReadingMaterial *rm)
 {
-       add_percent_value_description(buf, get_percent_value_from_rm(rm));
+       add_percent_value_string(buf, get_percent_value_from_rm(rm));
 }
 
 TIZEN_PROD_STATIC char *generate_role_trait(AtspiAccessibleReadingMaterial *rm)
@@ -98,7 +98,7 @@ TIZEN_PROD_STATIC char *generate_role_trait(AtspiAccessibleReadingMaterial *rm)
        case ATSPI_ROLE_PROGRESS_BAR: {
                double val = rm->value;
                if (val > 0) {
-                       add_percent_value_description(buf, get_percent_value_from_rm(rm));
+                       add_percent_value_string(buf, get_percent_value_from_rm(rm));
                }
                break;
        }
@@ -137,7 +137,11 @@ TIZEN_PROD_STATIC char *generate_role_trait(AtspiAccessibleReadingMaterial *rm)
 TIZEN_PROD_STATIC char *generate_state_trait(AtspiAccessibleReadingMaterial *rm)
 {
        AtspiRole role = rm->role;
-       char ret[TTS_MAX_TEXT_SIZE] = "\0";
+       char* ret = NULL;
+       Eina_Strbuf *buf;
+
+       buf = eina_strbuf_new();
+
        switch (role) {
        case ATSPI_ROLE_LIST_ITEM: {
                AtspiAccessible *parent = rm->parent;
@@ -146,15 +150,15 @@ TIZEN_PROD_STATIC char *generate_state_trait(AtspiAccessibleReadingMaterial *rm)
                if (parent_role == ATSPI_ROLE_TREE_TABLE) {
                        gboolean is_selected = STATE_SET_CONTAINS(rm->states, ATSPI_STATE_SELECTED);
                        if (is_selected)
-                               g_strlcpy(ret, _("IDS_ACCS_BODY_SELECTED_TTS"), sizeof(ret) - 1);
+                               ESAL(buf, _("IDS_ACCS_BODY_SELECTED_TTS"));
                }
                break;
        }
        case ATSPI_ROLE_CHECK_BOX: {
                if (STATE_SET_CONTAINS(rm->states, ATSPI_STATE_CHECKED))
-                       g_strlcpy(ret, _("COM_TV_SID_CHECKED"), sizeof(ret) - 1);
+                       ESAL(buf, _("COM_TV_SID_CHECKED"));
                else
-                       g_strlcpy(ret, _("COM_TV_SID_UNCHECKED"), sizeof(ret) - 1);
+                       ESAL(buf, _("COM_TV_SID_UNCHECKED"));
                break;
        }
        case ATSPI_ROLE_RADIO_BUTTON: {
@@ -164,35 +168,42 @@ TIZEN_PROD_STATIC char *generate_state_trait(AtspiAccessibleReadingMaterial *rm)
                if (!parent) break;
                parent_role = rm->parent_role;
                if (STATE_SET_CONTAINS(rm->states, ATSPI_STATE_CHECKED))
-                       g_strlcpy(ret, _("IDS_ACCS_BODY_SELECTED_TTS"), sizeof(ret) - 1);
+                       ESAL(buf, _("IDS_ACCS_BODY_SELECTED_TTS"));
                else if (!STATE_SET_CONTAINS(rm->states, ATSPI_STATE_EDITABLE) && (parent_role != ATSPI_ROLE_COLOR_CHOOSER))
-                       g_strlcpy(ret, _("IDS_ACCS_OPT_NOT_SELECTED_TTS"), sizeof(ret) - 1);
+                       ESAL(buf, _("IDS_ACCS_OPT_NOT_SELECTED_TTS"));
                //Role name should not be read for radio button, color selector, multibuttonentry items
                break;
        }
        case ATSPI_ROLE_TOGGLE_BUTTON: {
                if (STATE_SET_CONTAINS(rm->states, ATSPI_STATE_CHECKED))
-                       g_strlcpy(ret, _("IDS_MSG_BODY_ON_T_TTS"), sizeof(ret) - 1);
+                       ESAL(buf, _("IDS_MSG_BODY_ON_T_TTS"));
                else
-                       g_strlcpy(ret, _("IDS_STORYALBUM_BODY_OFF_T_TTS"), sizeof(ret) - 1);
+                       ESAL(buf, _("IDS_STORYALBUM_BODY_OFF_T_TTS"));
                break;
        }
        case ATSPI_ROLE_RADIO_MENU_ITEM: {
-               g_strlcpy(ret, _("IDS_ACCS_BODY_SELECTED_TTS"), sizeof(ret) - 1);
+               ESAL(buf, _("IDS_ACCS_BODY_SELECTED_TTS"));
                break;
        }
        case ATSPI_ROLE_ENTRY:
        case ATSPI_ROLE_PASSWORD_TEXT: {
                if (!STATE_SET_CONTAINS(rm->states, ATSPI_STATE_EDITABLE)) break;
                if (STATE_SET_CONTAINS(rm->states, ATSPI_STATE_FOCUSED))
-                       g_strlcpy(ret, _("IDS_ST_BODY_EDITING_T_TTS"), sizeof(ret) - 1);
+                       ESAL(buf, _("IDS_ST_BODY_EDITING_T_TTS"));
+               break;
+       }
+       case ATSPI_ROLE_SLIDER: {
+               add_slider_state(buf, rm);
                break;
        }
        default:
                break;
        }
 
-       return g_strdup(ret);
+       ret = eina_strbuf_string_steal(buf);
+       eina_strbuf_free(buf);
+
+       return ret;
 }
 
 TIZEN_PROD_STATIC char *generate_description_trait(AtspiAccessibleReadingMaterial *rm)
@@ -519,9 +530,6 @@ char* reading_composer_description_get(ReadingComposerData *data)
                }
        }
 
-       if (rm->role == ATSPI_ROLE_SLIDER) {
-               add_slider_description(buf, rm);
-       }
        if (reading_attribute & ACCESSIBLE_READING_INFO_TYPE_STATE) {
                DEBUG("START : ACCESSIBLE_READING_INFO_TYPE_STATE");
                state_from_role = generate_state_trait(rm);
@@ -678,7 +686,7 @@ char* reading_composer_percent_value_description_get(ReadingComposerData *data)
                return NULL;
        }
 
-       add_percent_value_description(buf, get_percent_value_from_rm(rm));
+       add_percent_value_string(buf, get_percent_value_from_rm(rm));
 
        char *percent_value_description = eina_strbuf_string_steal(buf);
        eina_strbuf_free(buf);
index 28c262ef6635a4d64ce6d24904a31c22401ded1c..3d67c8845dfe97f54567e7245dce640664b087a3 100644 (file)
@@ -45,7 +45,7 @@ TEST_F(RoleTraitFixture, AddSliderDescriptionNoValueIface) {
        EXPECT_FUNCTION_CALL(m_atspi_accessible_get_localized_role_name, (obj_, nullptr)).WillOnce(Return(nullptr));
        EXPECT_FUNCTION_CALL(m_atspi_accessible_get_value_iface, (obj_)).WillOnce(Return(nullptr));
 
-       add_slider_description(nullptr, 0, obj_);
+       add_slider_state(nullptr, 0, obj_);
 }
 
 TEST_F(RoleTraitFixture, AddSliderDescriptionWithValueIface) {
@@ -61,7 +61,7 @@ TEST_F(RoleTraitFixture, AddSliderDescriptionWithValueIface) {
        EXPECT_FUNCTION_CALL(m_atspi_value_get_minimum_value, (valueIface_, nullptr)).WillOnce(Return(0));
        EXPECT_FUNCTION_CALL(m_g_object_unref, (valueIface_));
 
-       add_slider_description(dest, dest_size, obj_);
+       add_slider_state(dest, dest_size, obj_);
 }
 
 TEST_F(RoleTraitFixture, NullObject) {
@@ -221,11 +221,11 @@ TEST_F(RoleTraitFixture, ToggleButton) {
 }
 
 TEST_F(RoleTraitFixture, Slider) {
-       DEFINE_MOCKING(add_slider_description);
+       DEFINE_MOCKING(add_slider_state);
        AtspiAccessible *obj_ = GetAtspiAccessibleObject();
 
        CallGeneralDependencies(ATSPI_ROLE_SLIDER);
-       EXPECT_FUNCTION_CALL(m_add_slider_description, (_, _, obj_)).Times(1);
+       EXPECT_FUNCTION_CALL(m_add_slider_state, (_, _, obj_)).Times(1);
 
        RunGenRoleTraitAndFreeMemory(obj_, "");
 }
index eeb4c7eeadda82e36b3e3fdf476fd3e1f02e4149..0765597369b3fe88e908af235892c409e6cac251 100644 (file)
@@ -1,6 +1,6 @@
 #include "mocked_reading_composer.h"
 
-IMPLEMENT_FUNCTION_MOCK2(mock_add_slider_description, add_slider_description, void(Eina_Strbuf *, AtspiAccessibleReadingMaterial *));
+IMPLEMENT_FUNCTION_MOCK2(mock_add_slider_state, add_slider_state, void(Eina_Strbuf *, AtspiAccessibleReadingMaterial *));
 IMPLEMENT_FUNCTION_MOCK2(mock_cycle_detection_check_if_in_cycle, cycle_detection_check_if_in_cycle, Eina_Bool(cycle_detection_data *, const void *));
 IMPLEMENT_FUNCTION_MOCK2(mock_cycle_detection_initialize, cycle_detection_initialize, void(cycle_detection_data *, const void *));
 IMPLEMENT_FUNCTION_MOCK1(mock_display_info_about_object, display_info_about_object, void(AtspiAccessibleReadingMaterial *));
index 1cb7ed1ead8dbae05021b3619642fb1a7197f2af..0a5a12e713ffe923b6c7afddb855ec1735fa02f5 100644 (file)
@@ -10,7 +10,7 @@ extern "C" {
 }
 #include <cmock/cmock.h>
 
-extern "C" void add_slider_description(Eina_Strbuf * buf, AtspiAccessibleReadingMaterial * rm);
+extern "C" void add_slider_state(Eina_Strbuf * buf, AtspiAccessibleReadingMaterial * rm);
 extern "C" void display_info_about_object(AtspiAccessibleReadingMaterial * rm);
 extern "C" char * generate_description_from_relation_object(AtspiAccessibleReadingMaterial * rm);
 extern "C" char * generate_description_trait(AtspiAccessibleReadingMaterial * rm);
@@ -18,7 +18,7 @@ extern "C" char * generate_role_trait(AtspiAccessibleReadingMaterial * rm);
 extern "C" char * generate_state_trait(AtspiAccessibleReadingMaterial * rm);
 extern "C" unsigned short reading_composer_reading_attribute_get(AtspiAccessibleReadingMaterial * rm);
 extern "C" void reading_composer_reading_material_free(AtspiAccessibleReadingMaterial * rm);
-DECLARE_FUNCTION_MOCK2(mock_add_slider_description, add_slider_description, void(Eina_Strbuf *, AtspiAccessibleReadingMaterial *));
+DECLARE_FUNCTION_MOCK2(mock_add_slider_state, add_slider_state, void(Eina_Strbuf *, AtspiAccessibleReadingMaterial *));
 DECLARE_FUNCTION_MOCK2(mock_cycle_detection_check_if_in_cycle, cycle_detection_check_if_in_cycle, Eina_Bool(cycle_detection_data *, const void *));
 DECLARE_FUNCTION_MOCK2(mock_cycle_detection_initialize, cycle_detection_initialize, void(cycle_detection_data *, const void *));
 DECLARE_FUNCTION_MOCK1(mock_display_info_about_object, display_info_about_object, void(AtspiAccessibleReadingMaterial *));