From 7205de042a9b20adbb70a68e2088762e531c7625 Mon Sep 17 00:00:00 2001 From: Lukasz Stanislawski Date: Mon, 21 Jul 2014 17:16:54 +0200 Subject: [PATCH] tests: refactor of atspi test suite Summary: elm_test_atspi adjusted to recent internal api changes. Tests regarding elm_win moved from elm_test_atspi to elm_test_win. Entry tests fixed. Test to Atspi_Selection interface temporary skipped. Reviewers: z.kosinski Reviewed By: z.kosinski Differential Revision: https://phab.enlightenment.org/D1199 --- legacy/elementary/src/tests/elm_test_atspi.c | 263 +++--------------- legacy/elementary/src/tests/elm_test_entry.c | 43 ++- legacy/elementary/src/tests/elm_test_glview.c | 8 +- legacy/elementary/src/tests/elm_test_list.c | 10 +- legacy/elementary/src/tests/elm_test_win.c | 49 +++- 5 files changed, 123 insertions(+), 250 deletions(-) diff --git a/legacy/elementary/src/tests/elm_test_atspi.c b/legacy/elementary/src/tests/elm_test_atspi.c index d7ec2a8f7d..1e6bb69442 100644 --- a/legacy/elementary/src/tests/elm_test_atspi.c +++ b/legacy/elementary/src/tests/elm_test_atspi.c @@ -8,16 +8,15 @@ #include "elm_priv.h" #include "elm_suite.h" +#include "elm_atspi_app_object.eo.h" + #define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED #include "elm_interface_atspi_accessible.h" #include "elm_interface_atspi_accessible.eo.h" -#define ELM_INTERFACE_ATSPI_COMPONENT_PROTECTED -#include "elm_interface_atspi_component.eo.h" - static Evas_Object *g_win, *g_btn, *g_bg; -Eo* generate_app(void) +void generate_app(void) { g_win = elm_win_add(NULL, "Title", ELM_WIN_BASIC); evas_object_geometry_set(g_win, 100, 100, 100, 100); @@ -29,24 +28,25 @@ Eo* generate_app(void) evas_object_show(g_btn); evas_object_show(g_bg); evas_object_show(g_win); - - return _elm_atspi_bridge_root_get(); } START_TEST (elm_atspi_name_get) { elm_init(0, NULL); - Eo* obj = generate_app(); + Eo* root = eo_add(ELM_ATSPI_APP_OBJECT_CLASS, NULL); + + ck_assert(root != NULL); const char *ret = NULL; elm_app_name_set("Test name"); - eo_do(obj, ret = elm_interface_atspi_accessible_name_get()); + eo_do(root, ret = elm_interface_atspi_accessible_name_get()); ck_assert_str_eq(ret, "Test name"); + eo_unref(root); elm_shutdown(); } END_TEST @@ -55,14 +55,15 @@ START_TEST (elm_atspi_role_get) { elm_init(0, NULL); - Eo *obj = generate_app(); + Eo* root = eo_add(ELM_ATSPI_APP_OBJECT_CLASS, NULL); Elm_Atspi_Role role; - eo_do(obj, role = elm_interface_atspi_accessible_role_get()); + eo_do(root, role = elm_interface_atspi_accessible_role_get()); ck_assert(role == ELM_ATSPI_ROLE_APPLICATION); + eo_unref(root); elm_shutdown(); } END_TEST @@ -72,14 +73,15 @@ START_TEST (elm_atspi_role_name_get) { elm_init(0, NULL); - Eo *obj = generate_app(); + Eo* root = eo_add(ELM_ATSPI_APP_OBJECT_CLASS, NULL); const char *ret = NULL; - eo_do(obj, ret = elm_interface_atspi_accessible_role_name_get()); + eo_do(root, ret = elm_interface_atspi_accessible_role_name_get()); ck_assert(ret != NULL); + eo_unref(root); elm_shutdown(); } END_TEST @@ -88,14 +90,15 @@ START_TEST (elm_atspi_localized_role_name_get) { elm_init(0, NULL); - Eo *obj = generate_app(); + Eo* root = eo_add(ELM_ATSPI_APP_OBJECT_CLASS, NULL); const char *ret = NULL; - eo_do(obj, ret = elm_interface_atspi_accessible_localized_role_name_get()); + eo_do(root, ret = elm_interface_atspi_accessible_localized_role_name_get()); ck_assert(ret != NULL); + eo_unref(root); elm_shutdown(); } END_TEST @@ -104,23 +107,24 @@ START_TEST (elm_atspi_description_set) { elm_init(0, NULL); - Eo *obj = generate_app(); + Eo* root = eo_add(ELM_ATSPI_APP_OBJECT_CLASS, NULL); const char *ret = NULL; const char *desc = "Test description"; - eo_do(obj, ret = elm_interface_atspi_accessible_description_get()); + eo_do(root, ret = elm_interface_atspi_accessible_description_get()); ck_assert(ret == NULL); - eo_do(obj, elm_interface_atspi_accessible_description_set(desc)); + eo_do(root, elm_interface_atspi_accessible_description_set(desc)); - eo_do(obj, ret = elm_interface_atspi_accessible_description_get()); + eo_do(root, ret = elm_interface_atspi_accessible_description_get()); ck_assert(ret != NULL); ck_assert_str_eq(ret, "Test description"); + eo_unref(root); elm_shutdown(); } END_TEST @@ -129,7 +133,8 @@ START_TEST (elm_atspi_children_and_parent) { elm_init(0, NULL); - Eo *root = generate_app(); + generate_app(); + Eo* root = eo_add(ELM_ATSPI_APP_OBJECT_CLASS, NULL); Eina_List *child_list = NULL; @@ -146,200 +151,7 @@ START_TEST (elm_atspi_children_and_parent) ck_assert(win != NULL); ck_assert(win == g_win); - Eo *win_parent = NULL; - - eo_do(win, win_parent = elm_interface_atspi_accessible_parent_get()); - - ck_assert(root == win_parent); - - elm_shutdown(); -} -END_TEST - -START_TEST (elm_atspi_component_position) -{ - Eina_List *child_list = NULL; - elm_init(0, NULL); - - Eo *root = generate_app(); - - Eo *win = NULL; - - eo_do(root, child_list = elm_interface_atspi_accessible_children_get()); - - win = eina_list_nth(child_list, 0); - - Eina_Bool ret = EINA_FALSE; - - eo_do(win, ret = elm_interface_atspi_component_position_set(EINA_TRUE, 100, 100)); - - ck_assert(ret == EINA_TRUE); - - int x, y; - - eo_do(win, elm_interface_atspi_component_position_get(EINA_TRUE, &x, &y)); - - ck_assert((x == 100) && (y == 100)); - - elm_shutdown(); -} -END_TEST - -START_TEST (elm_atspi_component_size) -{ - Eina_List *child_list = NULL; - elm_init(0, NULL); - - Eo *root = generate_app(); - - Eo *win = NULL; - - eo_do(root, child_list = elm_interface_atspi_accessible_children_get()); - - win = eina_list_nth(child_list, 0); - - Eina_Bool ret = EINA_FALSE; - - eo_do(win, ret = elm_interface_atspi_component_size_set(100, 100)); - - ck_assert(ret == EINA_TRUE); - - int w, h; - - eo_do(win, elm_interface_atspi_component_size_get(&w, &h)); - - ck_assert((w == 100) && (h == 100)); - - elm_shutdown(); -} -END_TEST - -START_TEST (elm_atspi_component_focus) -{ - Eina_List *child_list = NULL; - elm_init(0, NULL); - - Eo *root = generate_app(); - - Eo *win = NULL; - - eo_do(root, child_list = elm_interface_atspi_accessible_children_get()); - - win = eina_list_nth(child_list, 0); - - Eina_Bool ret = EINA_FALSE; - - eo_do(win, ret = elm_interface_atspi_component_focus_grab()); - - ck_assert(ret == EINA_TRUE); - - elm_shutdown(); -} -END_TEST - -START_TEST (elm_test_atspi_object_children_get) -{ - elm_init(0, NULL); - - Eo *root = _elm_atspi_bridge_root_get(); - - Eina_List *children = NULL; - eo_do(root, children = elm_interface_atspi_accessible_children_get()); - - ck_assert(children == NULL); - - eina_list_free(children); - - elm_shutdown(); -} -END_TEST - -START_TEST (elm_test_atspi_obj_index_in_parent_get) -{ - elm_init(0, NULL); - - Eo *root = generate_app(); - - int ret = 0; - - Eina_List *children = NULL; - eo_do(root, children = elm_interface_atspi_accessible_children_get()); - - Evas_Object *win = eina_list_nth(children, 0); - ck_assert(win != NULL); - - eo_do(win, ret = elm_interface_atspi_accessible_index_in_parent_get()); - - ck_assert(ret == 0); - - elm_shutdown(); -} -END_TEST - -START_TEST (elm_atspi_component_z_order) -{ - elm_init(0, NULL); - - Eo *root = generate_app(); - - Eo *win = NULL; - - Eina_List *children; - eo_do(root, children = elm_interface_atspi_accessible_children_get()); - - win = eina_list_nth(children, 0); - int z_order = -1; - - eo_do(win, z_order = elm_interface_atspi_component_z_order_get()); - - ck_assert(z_order != -1); - - elm_shutdown(); -} -END_TEST - -START_TEST (elm_atspi_component_layer) -{ - elm_init(0, NULL); - - Eo *root = generate_app(); - - Eo *win = NULL; - - Eina_List *children; - eo_do(root, children = elm_interface_atspi_accessible_children_get()); - - win = eina_list_nth(children, 0); - - int layer = -1; - - eo_do(win, layer = elm_interface_atspi_component_layer_get()); - - ck_assert(layer != -1); - - elm_shutdown(); -} -END_TEST - -START_TEST (elm_atspi_component_alpha) -{ - elm_init(0, NULL); - - Eo *root = generate_app(); - - Eo *win = NULL; - - Eina_List *children; - eo_do(root, children = elm_interface_atspi_accessible_children_get()); - win = eina_list_nth(children, 0); - - double alpha = -1.0; - - eo_do(win, alpha = elm_interface_atspi_component_alpha_get()); - - ck_assert(alpha >= 0.0); - ck_assert(alpha <= 1.0); - + eo_unref(root); elm_shutdown(); } END_TEST @@ -348,7 +160,8 @@ START_TEST (elm_atspi_children_and_parent2) { elm_init(0, NULL); - Eo *root = generate_app(); + generate_app(); + Eo* root = eo_add(ELM_ATSPI_APP_OBJECT_CLASS, NULL); Eo *win = NULL; @@ -363,10 +176,15 @@ START_TEST (elm_atspi_children_and_parent2) Eo *btn = NULL; + btn = eina_list_nth(win_children, 0); + ck_assert(btn != NULL); + ck_assert(btn == g_bg); + btn = eina_list_nth(win_children, 1); ck_assert(btn != NULL); ck_assert(btn == g_btn); + eo_unref(root); elm_shutdown(); } END_TEST @@ -379,22 +197,5 @@ void elm_test_atspi(TCase *tc) tcase_add_test(tc, elm_atspi_localized_role_name_get); tcase_add_test(tc, elm_atspi_description_set); tcase_add_test(tc, elm_atspi_children_and_parent); - tcase_add_test(tc, elm_atspi_component_position); - tcase_add_test(tc, elm_atspi_component_size); - tcase_add_test(tc, elm_atspi_component_focus); - tcase_add_test(tc, elm_test_atspi_object_children_get); - tcase_add_test(tc, elm_test_atspi_obj_index_in_parent_get); - tcase_add_test(tc, elm_atspi_component_z_order); - tcase_add_test(tc, elm_atspi_component_layer); - tcase_add_test(tc, elm_atspi_component_alpha); tcase_add_test(tc, elm_atspi_children_and_parent2); } - -/* - * TO DO - * elm_interface_atspi_accessible_relation_set_get - * elm_interface_atspi_accessible_relation_set_set - * elm_interface_atspi_accessible_state_get - * elm_interface_atspi_accessible_attributes_get - * elm_interface_atspi_component_contains -*/ diff --git a/legacy/elementary/src/tests/elm_test_entry.c b/legacy/elementary/src/tests/elm_test_entry.c index 2fb98291e8..8c70c5872f 100644 --- a/legacy/elementary/src/tests/elm_test_entry.c +++ b/legacy/elementary/src/tests/elm_test_entry.c @@ -183,7 +183,7 @@ START_TEST (elm_entry_atspi_text_string_get_paragraph) char *val; int start, end; - const char *txt = "Lorem ipśum
dolor sit\n amęt"; + const char *txt = "Lorem ipśum
dolor sit
amęt"; elm_init(1, NULL); win = elm_win_add(NULL, "entry", ELM_WIN_BASIC); @@ -198,18 +198,18 @@ START_TEST (elm_entry_atspi_text_string_get_paragraph) ck_assert(end == 11); if (val) free(val); - start = 22; + start = 20; eo_do(entry, val = elm_interface_atspi_text_string_get(ELM_ATSPI_TEXT_GRANULARITY_PARAGRAPH, &start, &end)); ck_assert_str_eq(val, " dolor sit"); - ck_assert(start == 11); - ck_assert(end == 22); + ck_assert(start == 12); + ck_assert(end == 24); if (val) free(val); - start = 27; + start = 25; eo_do(entry, val = elm_interface_atspi_text_string_get(ELM_ATSPI_TEXT_GRANULARITY_PARAGRAPH, &start, &end)); ck_assert_str_eq(val, " amęt"); - ck_assert(start == 23); - ck_assert(end == 27); + ck_assert(start == 25); + ck_assert(end == 30); if (val) free(val); start = 111; @@ -229,16 +229,19 @@ START_TEST (elm_entry_atspi_text_string_get_line) char *val; int start, end; - const char *txt = "Lorem ipśum
dolor sit\n amęt"; + const char *txt = "Lorem ipśum
dolor sit amęt"; elm_init(1, NULL); win = elm_win_add(NULL, "entry", ELM_WIN_BASIC); entry = elm_entry_add(win); + evas_object_resize(entry, 500, 500); + elm_object_text_set(entry, txt); start = 1; eo_do(entry, val = elm_interface_atspi_text_string_get(ELM_ATSPI_TEXT_GRANULARITY_LINE, &start, &end)); + ck_assert_str_eq(val, "Lorem ipśum"); ck_assert(start == 0); ck_assert(end == 11); @@ -246,9 +249,9 @@ START_TEST (elm_entry_atspi_text_string_get_line) start = 13; eo_do(entry, val = elm_interface_atspi_text_string_get(ELM_ATSPI_TEXT_GRANULARITY_LINE, &start, &end)); - ck_assert_str_eq(val, " dolor sit"); - ck_assert(start == 11); - ck_assert(end == 23); + ck_assert_str_eq(val, " dolor sit amęt"); + ck_assert(start == 12); + ck_assert(end == 29); if (val) free(val); elm_shutdown(); @@ -259,8 +262,7 @@ START_TEST (elm_entry_atspi_text_text_get) { Evas_Object *win, *entry; char *val; - const char *txt = "Lorem ipśum
dolor sit\n amęt"; - const char *txtnom = "Lorem ipśum dolor sit\n amęt"; + const char *txt = "Lorem Xpśum dolor sit amęt"; elm_init(1, NULL); win = elm_win_add(NULL, "entry", ELM_WIN_BASIC); @@ -268,8 +270,19 @@ START_TEST (elm_entry_atspi_text_text_get) entry = elm_entry_add(win); elm_object_text_set(entry, txt); - eo_do(entry, val = elm_interface_atspi_text_get(0, sizeof(txtnom)/sizeof(txtnom[0]))); - ck_assert_str_eq(val, txtnom); + // invalid ranges + eo_do(entry, val = elm_interface_atspi_text_get(6, 100)); + ck_assert(val == NULL); + eo_do(entry, val = elm_interface_atspi_text_get(-6, 10)); + ck_assert(val == NULL); + eo_do(entry, val = elm_interface_atspi_text_get(-6, -10)); + ck_assert(val == NULL); + eo_do(entry, val = elm_interface_atspi_text_get(60, 100)); + ck_assert(val == NULL); + + // proper range + eo_do(entry, val = elm_interface_atspi_text_get(6, 17)); + ck_assert_str_eq(val, "Xpśum dolor"); if (val) free(val); elm_shutdown(); diff --git a/legacy/elementary/src/tests/elm_test_glview.c b/legacy/elementary/src/tests/elm_test_glview.c index af380056aa..1129c9dcc6 100644 --- a/legacy/elementary/src/tests/elm_test_glview.c +++ b/legacy/elementary/src/tests/elm_test_glview.c @@ -19,9 +19,13 @@ START_TEST (elm_atspi_role_get) win = elm_win_add(NULL, "glview", ELM_WIN_BASIC); glview = elm_glview_add(win); - eo_do(glview, role = elm_interface_atspi_accessible_role_get()); - ck_assert(role == ELM_ATSPI_ROLE_ANIMATION); + // if no gl backend skip test + if (glview) + { + eo_do(glview, role = elm_interface_atspi_accessible_role_get()); + ck_assert(role == ELM_ATSPI_ROLE_ANIMATION); + } elm_shutdown(); } diff --git a/legacy/elementary/src/tests/elm_test_list.c b/legacy/elementary/src/tests/elm_test_list.c index 1bd5d1f013..0b86990d71 100644 --- a/legacy/elementary/src/tests/elm_test_list.c +++ b/legacy/elementary/src/tests/elm_test_list.c @@ -12,6 +12,10 @@ #include "elm_interface_atspi_accessible.h" #include "elm_interface_atspi_accessible.eo.h" +#if 0 +// Skip following tests until Elm_Widget_Item will migrate to Eo infrastructure +// and following features can be implemented + START_TEST (elm_list_atspi_selection_selected_children_count_get) { Evas_Object *win, *list; @@ -182,6 +186,8 @@ START_TEST (elm_list_atspi_selection_child_deselect) } END_TEST +#endif + START_TEST (elm_atspi_role_get) { Evas_Object *win, *list; @@ -201,6 +207,8 @@ END_TEST void elm_test_list(TCase *tc) { + tcase_add_test(tc, elm_atspi_role_get); +#if 0 tcase_add_test(tc, elm_list_atspi_selection_selected_children_count_get); tcase_add_test(tc, elm_list_atspi_selection_child_select); tcase_add_test(tc, elm_list_atspi_selection_selected_child_deselect); @@ -208,5 +216,5 @@ void elm_test_list(TCase *tc) tcase_add_test(tc, elm_list_atspi_selection_all_children_select); tcase_add_test(tc, elm_list_atspi_selection_clear); tcase_add_test(tc, elm_list_atspi_selection_child_deselect); - tcase_add_test(tc, elm_atspi_role_get); +#endif } diff --git a/legacy/elementary/src/tests/elm_test_win.c b/legacy/elementary/src/tests/elm_test_win.c index eb99412a60..63558f8234 100644 --- a/legacy/elementary/src/tests/elm_test_win.c +++ b/legacy/elementary/src/tests/elm_test_win.c @@ -9,6 +9,9 @@ #include "elm_interface_atspi_accessible.h" #include "elm_interface_atspi_accessible.eo.h" +#define ELM_INTERFACE_ATSPI_COMPONENT_PROTECTED +#include "elm_interface_atspi_component.eo.h" + START_TEST (elm_atspi_role_get) { @@ -26,7 +29,51 @@ START_TEST (elm_atspi_role_get) } END_TEST +START_TEST (elm_atspi_component_position) +{ + Eina_Bool ret; + int x, y; + + elm_init(0, NULL); + + Eo *win = elm_win_add(NULL, "win", ELM_WIN_BASIC); + + eo_do(win, ret = elm_interface_atspi_component_position_set(EINA_TRUE, 45, 45)); + ck_assert(ret == EINA_TRUE); + + Ecore_Evas *ee = ecore_evas_ecore_evas_get(evas_object_evas_get(win)); + ck_assert(ee != NULL); + ecore_evas_geometry_get(ee, &x, &y, NULL, NULL); + + ck_assert((x == 45) && (y == 45)); + + elm_shutdown(); +} +END_TEST + +START_TEST (elm_atspi_component_size) +{ + Eina_Bool ret; + int w, h; + + elm_init(0, NULL); + + Eo *win = elm_win_add(NULL, "win", ELM_WIN_BASIC); + evas_object_resize(win, 50, 50); + + eo_do(win, ret = elm_interface_atspi_component_size_set(100, 100)); + ck_assert(ret == EINA_TRUE); + + evas_object_geometry_get(win, NULL, NULL, &w, &h); + ck_assert((w == 100) && (h == 100)); + + elm_shutdown(); +} +END_TEST + void elm_test_win(TCase *tc) { - tcase_add_test(tc, elm_atspi_role_get); + tcase_add_test(tc, elm_atspi_role_get); + tcase_add_test(tc, elm_atspi_component_position); + tcase_add_test(tc, elm_atspi_component_size); }