efl

Форк
0
/
elm_test_ctxpopup.c 
84 строки · 1.8 Кб
1
#ifdef HAVE_CONFIG_H
2
# include "elementary_config.h"
3
#endif
4

5
#define EFL_ACCESS_OBJECT_BETA
6
#include <Elementary.h>
7
#include "elm_suite.h"
8

9
EFL_START_TEST(elm_ctxpopup_legacy_type_check)
10
{
11
   Evas_Object *win, *ctxpopup;
12
   const char *type;
13

14
   win = win_add(NULL, "ctxpopup", ELM_WIN_BASIC);
15

16
   ctxpopup = elm_ctxpopup_add(win);
17

18
   type = elm_object_widget_type_get(ctxpopup);
19
   ck_assert(type != NULL);
20
   ck_assert(!strcmp(type, "Elm_Ctxpopup"));
21

22
   type = evas_object_type_get(ctxpopup);
23
   ck_assert(type != NULL);
24
   ck_assert(!strcmp(type, "elm_ctxpopup"));
25

26
}
27
EFL_END_TEST
28

29
EFL_START_TEST(elm_atspi_role_get)
30
{
31
   Evas_Object *win, *ctxpopup;
32
   Efl_Access_Role role;
33

34
   win = win_add(NULL, "icon", ELM_WIN_BASIC);
35

36
   ctxpopup = elm_ctxpopup_add(win);
37
   role = efl_access_object_role_get(ctxpopup);
38

39
   ck_assert(role == EFL_ACCESS_ROLE_POPUP_MENU);
40

41
}
42
EFL_END_TEST
43

44
static void
45
_geometry_update(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
46
{
47
   Eina_Rectangle *geom = event_info;
48
   int *set = data;
49
   if ((geom->w >= 150) && (geom->h >= 150))
50
     *set = 1;
51
   else
52
     *set = 0;
53
}
54

55
EFL_START_TEST(elm_ctxpopup_test_sizing)
56
{
57
   Eo *win, *bt, *ctx;
58
   int pass = 0;
59

60
   win = win_add();
61
   bt = elm_button_add(win);
62
   ctx = elm_ctxpopup_add(win);
63
   evas_object_smart_callback_add(ctx, "geometry,update", _geometry_update, &pass);
64
   elm_object_text_set(bt, "test");
65
   evas_object_size_hint_min_set(bt, 150, 150);
66
   elm_object_content_set(ctx, bt);
67
   evas_object_show(win);
68

69
   evas_object_resize(bt, 200, 200);
70
   evas_object_resize(win, 200, 200);
71

72
   evas_object_show(ctx);
73
   get_me_to_those_events(win);
74

75
   ck_assert_int_eq(pass, 1);
76
}
77
EFL_END_TEST
78

79
void elm_test_ctxpopup(TCase *tc)
80
{
81
   tcase_add_test(tc, elm_ctxpopup_legacy_type_check);
82
   tcase_add_test(tc, elm_atspi_role_get);
83
   tcase_add_test(tc, elm_ctxpopup_test_sizing);
84
}
85

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.