2014-05-29 19:56:24 -07:00
|
|
|
#ifdef HAVE_CONFIG_H
|
|
|
|
# include "elementary_config.h"
|
|
|
|
#endif
|
|
|
|
|
2017-09-18 19:18:22 -07:00
|
|
|
#define EFL_ACCESS_SELECTION_PROTECTED
|
2018-04-03 04:27:30 -07:00
|
|
|
#define EFL_ACCESS_OBJECT_BETA
|
|
|
|
#define EFL_ACCESS_OBJECT_PROTECTED
|
2015-01-14 05:49:41 -08:00
|
|
|
#include <Elementary.h>
|
|
|
|
#include "elm_suite.h"
|
2014-06-10 19:07:15 -07:00
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_list_legacy_type_check)
|
2018-02-14 12:04:24 -08:00
|
|
|
{
|
|
|
|
Evas_Object *win, *list;
|
|
|
|
const char *type;
|
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "list", ELM_WIN_BASIC);
|
2018-02-14 12:04:24 -08:00
|
|
|
|
|
|
|
list = elm_list_add(win);
|
|
|
|
|
|
|
|
type = elm_object_widget_type_get(list);
|
|
|
|
ck_assert(type != NULL);
|
|
|
|
ck_assert(!strcmp(type, "Elm_List"));
|
|
|
|
|
|
|
|
type = evas_object_type_get(list);
|
|
|
|
ck_assert(type != NULL);
|
|
|
|
ck_assert(!strcmp(type, "elm_list"));
|
|
|
|
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2018-02-14 12:04:24 -08:00
|
|
|
|
2014-07-21 08:16:54 -07:00
|
|
|
#if 0
|
|
|
|
// Skip following tests until Elm_Widget_Item will migrate to Eo infrastructure
|
|
|
|
// and following features can be implemented
|
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_list_atspi_selection_selected_children_count_get)
|
2014-05-29 19:56:24 -07:00
|
|
|
{
|
|
|
|
Evas_Object *win, *list;
|
|
|
|
Elm_Object_Item *item;
|
|
|
|
int val;
|
|
|
|
|
2018-03-27 10:51:13 -07:00
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "list", ELM_WIN_BASIC);
|
2014-05-29 19:56:24 -07:00
|
|
|
|
|
|
|
list = elm_list_add(win);
|
|
|
|
item = elm_list_item_append(list, "First Element", NULL, NULL, NULL, NULL);
|
|
|
|
|
2016-03-02 04:10:48 -08:00
|
|
|
val = elm_interface_atspi_selection_selected_children_count_get(list);
|
2014-05-29 19:56:24 -07:00
|
|
|
ck_assert(val == 0);
|
|
|
|
|
|
|
|
elm_list_item_selected_set(item, EINA_TRUE);
|
2016-03-02 04:10:48 -08:00
|
|
|
val = elm_interface_atspi_selection_selected_children_count_get(list);
|
2014-05-29 19:56:24 -07:00
|
|
|
ck_assert(val == 1);
|
|
|
|
|
|
|
|
elm_list_item_selected_set(item, EINA_FALSE);
|
2016-03-02 04:10:48 -08:00
|
|
|
val = elm_interface_atspi_selection_selected_children_count_get(list);
|
2014-05-29 19:56:24 -07:00
|
|
|
ck_assert(val == 0);
|
|
|
|
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2014-05-29 19:56:24 -07:00
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_list_atspi_selection_child_select)
|
2014-05-29 19:56:24 -07:00
|
|
|
{
|
|
|
|
Evas_Object *win, *list;
|
|
|
|
Elm_Object_Item *item;
|
|
|
|
Eina_Bool val;
|
|
|
|
|
2018-03-27 10:51:13 -07:00
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "list", ELM_WIN_BASIC);
|
2014-05-29 19:56:24 -07:00
|
|
|
|
|
|
|
list = elm_list_add(win);
|
|
|
|
item = elm_list_item_append(list, "First Element", NULL, NULL, NULL, NULL);
|
|
|
|
|
2016-03-02 04:10:48 -08:00
|
|
|
val = elm_interface_atspi_selection_child_select(list, 0);
|
2014-05-29 19:56:24 -07:00
|
|
|
ck_assert(val == EINA_TRUE);
|
|
|
|
ck_assert(EINA_TRUE == elm_list_item_selected_get(item));
|
|
|
|
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2014-05-29 19:56:24 -07:00
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_list_atspi_selection_selected_child_deselect)
|
2014-05-29 19:56:24 -07:00
|
|
|
{
|
|
|
|
Evas_Object *win, *list;
|
2014-06-10 03:13:35 -07:00
|
|
|
Elm_Object_Item *item;
|
2014-05-29 19:56:24 -07:00
|
|
|
Eina_Bool val;
|
|
|
|
|
2018-03-27 10:51:13 -07:00
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "list", ELM_WIN_BASIC);
|
2014-05-29 19:56:24 -07:00
|
|
|
|
|
|
|
list = elm_list_add(win);
|
|
|
|
elm_list_multi_select_set(list, EINA_TRUE);
|
2014-06-10 03:13:35 -07:00
|
|
|
elm_list_item_append(list, "First Element", NULL, NULL, NULL, NULL);
|
|
|
|
item = elm_list_item_append(list, "Second Element", NULL, NULL, NULL, NULL);
|
2014-05-29 19:56:24 -07:00
|
|
|
|
2014-06-10 03:13:35 -07:00
|
|
|
elm_list_item_selected_set(item, EINA_TRUE);
|
2016-03-02 04:10:48 -08:00
|
|
|
val = elm_interface_atspi_selection_selected_child_deselect(list, 0);
|
2014-05-29 19:56:24 -07:00
|
|
|
ck_assert(val == EINA_TRUE);
|
2014-06-10 03:13:35 -07:00
|
|
|
ck_assert(EINA_FALSE == elm_list_item_selected_get(item));
|
2014-05-29 19:56:24 -07:00
|
|
|
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2014-05-29 19:56:24 -07:00
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_list_atspi_selection_is_child_selected)
|
2014-05-29 19:56:24 -07:00
|
|
|
{
|
|
|
|
Evas_Object *win, *list;
|
|
|
|
Elm_Object_Item *item;
|
|
|
|
Eina_Bool val;
|
|
|
|
|
2018-03-27 10:51:13 -07:00
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "list", ELM_WIN_BASIC);
|
2014-05-29 19:56:24 -07:00
|
|
|
|
|
|
|
list = elm_list_add(win);
|
|
|
|
item = elm_list_item_append(list, "First Element", NULL, NULL, NULL, NULL);
|
|
|
|
|
2016-03-02 04:10:48 -08:00
|
|
|
val = elm_interface_atspi_selection_is_child_selected(list, 0);
|
2014-05-29 19:56:24 -07:00
|
|
|
ck_assert(val == EINA_FALSE);
|
|
|
|
|
|
|
|
elm_list_item_selected_set(item, EINA_TRUE);
|
2016-03-02 04:10:48 -08:00
|
|
|
val = elm_interface_atspi_selection_is_child_selected(list, 0);
|
2014-05-29 19:56:24 -07:00
|
|
|
ck_assert(val == EINA_TRUE);
|
|
|
|
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2014-05-29 19:56:24 -07:00
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_list_atspi_selection_all_children_select)
|
2014-05-29 19:56:24 -07:00
|
|
|
{
|
|
|
|
Evas_Object *win, *list;
|
|
|
|
Elm_Object_Item *item1, *item2;
|
|
|
|
Eina_Bool val;
|
|
|
|
|
2018-03-27 10:51:13 -07:00
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "list", ELM_WIN_BASIC);
|
2014-05-29 19:56:24 -07:00
|
|
|
|
|
|
|
list = elm_list_add(win);
|
|
|
|
|
|
|
|
item1 = elm_list_item_append(list, "First Element", NULL, NULL, NULL, NULL);
|
|
|
|
item2 = elm_list_item_append(list, "Second Element", NULL, NULL, NULL, NULL);
|
|
|
|
|
2016-03-02 04:10:48 -08:00
|
|
|
val = elm_interface_atspi_selection_all_children_select(list);
|
2014-05-29 19:56:24 -07:00
|
|
|
ck_assert(val == EINA_FALSE);
|
|
|
|
|
|
|
|
elm_list_multi_select_set(list, EINA_TRUE);
|
2016-03-02 04:10:48 -08:00
|
|
|
val = elm_interface_atspi_selection_all_children_select(list);
|
2014-05-29 19:56:24 -07:00
|
|
|
ck_assert(val == EINA_TRUE);
|
|
|
|
ck_assert(EINA_TRUE == elm_list_item_selected_get(item1));
|
|
|
|
ck_assert(EINA_TRUE == elm_list_item_selected_get(item2));
|
|
|
|
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2014-05-29 19:56:24 -07:00
|
|
|
|
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_list_atspi_selection_clear)
|
2014-05-29 19:56:24 -07:00
|
|
|
{
|
|
|
|
Evas_Object *win, *list;
|
|
|
|
Elm_Object_Item *item1, *item2;
|
|
|
|
Eina_Bool val;
|
|
|
|
|
2018-03-27 10:51:13 -07:00
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "list", ELM_WIN_BASIC);
|
2014-05-29 19:56:24 -07:00
|
|
|
|
|
|
|
list = elm_list_add(win);
|
|
|
|
elm_list_multi_select_set(list, EINA_TRUE);
|
|
|
|
item1 = elm_list_item_append(list, "First Element", NULL, NULL, NULL, NULL);
|
|
|
|
item2 = elm_list_item_append(list, "Second Element", NULL, NULL, NULL, NULL);
|
|
|
|
elm_list_item_selected_set(item1, EINA_TRUE);
|
|
|
|
elm_list_item_selected_set(item2, EINA_TRUE);
|
|
|
|
|
|
|
|
|
2016-03-02 04:10:48 -08:00
|
|
|
val = elm_interface_atspi_selection_clear(list);
|
2014-05-29 19:56:24 -07:00
|
|
|
ck_assert(val == EINA_TRUE);
|
|
|
|
ck_assert(EINA_FALSE == elm_list_item_selected_get(item1));
|
|
|
|
ck_assert(EINA_FALSE == elm_list_item_selected_get(item2));
|
|
|
|
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2014-05-29 19:56:24 -07:00
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_list_atspi_selection_child_deselect)
|
2014-05-29 19:56:24 -07:00
|
|
|
{
|
|
|
|
Evas_Object *win, *list;
|
2014-06-10 03:13:35 -07:00
|
|
|
Elm_Object_Item *item;
|
2014-05-29 19:56:24 -07:00
|
|
|
Eina_Bool val;
|
|
|
|
|
2018-03-27 10:51:13 -07:00
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "list", ELM_WIN_BASIC);
|
2014-05-29 19:56:24 -07:00
|
|
|
|
|
|
|
list = elm_list_add(win);
|
|
|
|
elm_list_multi_select_set(list, EINA_TRUE);
|
2014-06-10 03:13:35 -07:00
|
|
|
elm_list_item_append(list, "First Element", NULL, NULL, NULL, NULL);
|
|
|
|
item = elm_list_item_append(list, "Second Element", NULL, NULL, NULL, NULL);
|
2014-05-29 19:56:24 -07:00
|
|
|
|
2014-06-10 03:13:35 -07:00
|
|
|
elm_list_item_selected_set(item, EINA_TRUE);
|
2016-03-02 04:10:48 -08:00
|
|
|
val = elm_interface_atspi_selection_selected_child_deselect(list, 1);
|
2014-05-29 19:56:24 -07:00
|
|
|
ck_assert(val == EINA_TRUE);
|
2014-06-10 03:13:35 -07:00
|
|
|
ck_assert(EINA_FALSE == elm_list_item_selected_get(item));
|
2014-05-29 19:56:24 -07:00
|
|
|
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2014-05-29 19:56:24 -07:00
|
|
|
|
2014-07-21 08:16:54 -07:00
|
|
|
#endif
|
|
|
|
|
2019-01-28 10:42:56 -08:00
|
|
|
EFL_START_TEST(elm_atspi_role_get)
|
2014-06-10 19:07:15 -07:00
|
|
|
{
|
|
|
|
Evas_Object *win, *list;
|
2017-10-18 18:13:54 -07:00
|
|
|
Efl_Access_Role role;
|
2014-06-10 19:07:15 -07:00
|
|
|
|
2018-03-27 10:51:13 -07:00
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
win = win_add(NULL, "list", ELM_WIN_BASIC);
|
2014-06-10 19:07:15 -07:00
|
|
|
|
|
|
|
list = elm_list_add(win);
|
2018-04-03 04:27:30 -07:00
|
|
|
role = efl_access_object_role_get(list);
|
2014-06-10 19:07:15 -07:00
|
|
|
|
2017-10-18 18:13:54 -07:00
|
|
|
ck_assert(role == EFL_ACCESS_ROLE_LIST);
|
2014-06-10 19:07:15 -07:00
|
|
|
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2014-06-10 19:07:15 -07:00
|
|
|
|
2015-10-02 07:44:19 -07:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Validate if genlist implementation properly reset parent to Elm_Genlist_Item
|
|
|
|
* from Elm_Genlist
|
|
|
|
*/
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_START_TEST(elm_atspi_children_parent)
|
2015-10-02 07:44:19 -07:00
|
|
|
{
|
2018-04-03 04:27:30 -07:00
|
|
|
Efl_Access_Object *parent;
|
2018-02-14 18:14:52 -08:00
|
|
|
Elm_Object_Item *it;
|
2015-10-02 07:44:19 -07:00
|
|
|
|
2018-04-27 05:59:04 -07:00
|
|
|
Evas_Object *win = win_add(NULL, "list", ELM_WIN_BASIC);
|
2015-10-02 07:44:19 -07:00
|
|
|
|
|
|
|
Evas_Object *icon = elm_icon_add(win);
|
|
|
|
Evas_Object *end = elm_icon_add(win);
|
|
|
|
|
|
|
|
Evas_Object *list = elm_list_add(win);
|
2018-02-14 18:14:52 -08:00
|
|
|
it = elm_list_item_append(list, "First Element", icon, end, NULL, NULL);
|
2015-10-02 07:44:19 -07:00
|
|
|
|
|
|
|
evas_object_show(list);
|
|
|
|
|
2018-04-03 04:27:30 -07:00
|
|
|
parent = efl_provider_find(efl_parent_get(icon), EFL_ACCESS_OBJECT_MIXIN);
|
2018-02-14 18:14:52 -08:00
|
|
|
ck_assert(it == parent);
|
2015-10-02 07:44:19 -07:00
|
|
|
|
2018-04-03 04:27:30 -07:00
|
|
|
parent = efl_provider_find(efl_parent_get(end), EFL_ACCESS_OBJECT_MIXIN);
|
2018-02-14 18:14:52 -08:00
|
|
|
ck_assert(it == parent);
|
2015-10-02 07:44:19 -07:00
|
|
|
|
|
|
|
}
|
2018-03-26 11:19:28 -07:00
|
|
|
EFL_END_TEST
|
2015-10-02 07:44:19 -07:00
|
|
|
|
2014-05-29 19:56:24 -07:00
|
|
|
void elm_test_list(TCase *tc)
|
|
|
|
{
|
2018-02-14 12:04:24 -08:00
|
|
|
tcase_add_test(tc, elm_list_legacy_type_check);
|
|
|
|
tcase_add_test(tc, elm_atspi_role_get);
|
2014-07-21 08:16:54 -07:00
|
|
|
#if 0
|
2018-02-14 12:04:24 -08:00
|
|
|
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);
|
|
|
|
tcase_add_test(tc, elm_list_atspi_selection_is_child_selected);
|
|
|
|
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);
|
2014-07-21 08:16:54 -07:00
|
|
|
#endif
|
2018-02-14 12:04:24 -08:00
|
|
|
tcase_add_test(tc, elm_atspi_children_parent);
|
2014-05-29 19:56:24 -07:00
|
|
|
}
|