efl
84 строки · 1.8 Кб
1#ifdef HAVE_CONFIG_H2# include "elementary_config.h"3#endif4
5#define EFL_ACCESS_OBJECT_BETA6#include <Elementary.h>7#include "elm_suite.h"8
9EFL_START_TEST(elm_ctxpopup_legacy_type_check)10{
11Evas_Object *win, *ctxpopup;12const char *type;13
14win = win_add(NULL, "ctxpopup", ELM_WIN_BASIC);15
16ctxpopup = elm_ctxpopup_add(win);17
18type = elm_object_widget_type_get(ctxpopup);19ck_assert(type != NULL);20ck_assert(!strcmp(type, "Elm_Ctxpopup"));21
22type = evas_object_type_get(ctxpopup);23ck_assert(type != NULL);24ck_assert(!strcmp(type, "elm_ctxpopup"));25
26}
27EFL_END_TEST
28
29EFL_START_TEST(elm_atspi_role_get)30{
31Evas_Object *win, *ctxpopup;32Efl_Access_Role role;33
34win = win_add(NULL, "icon", ELM_WIN_BASIC);35
36ctxpopup = elm_ctxpopup_add(win);37role = efl_access_object_role_get(ctxpopup);38
39ck_assert(role == EFL_ACCESS_ROLE_POPUP_MENU);40
41}
42EFL_END_TEST
43
44static void45_geometry_update(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)46{
47Eina_Rectangle *geom = event_info;48int *set = data;49if ((geom->w >= 150) && (geom->h >= 150))50*set = 1;51else52*set = 0;53}
54
55EFL_START_TEST(elm_ctxpopup_test_sizing)56{
57Eo *win, *bt, *ctx;58int pass = 0;59
60win = win_add();61bt = elm_button_add(win);62ctx = elm_ctxpopup_add(win);63evas_object_smart_callback_add(ctx, "geometry,update", _geometry_update, &pass);64elm_object_text_set(bt, "test");65evas_object_size_hint_min_set(bt, 150, 150);66elm_object_content_set(ctx, bt);67evas_object_show(win);68
69evas_object_resize(bt, 200, 200);70evas_object_resize(win, 200, 200);71
72evas_object_show(ctx);73get_me_to_those_events(win);74
75ck_assert_int_eq(pass, 1);76}
77EFL_END_TEST
78
79void elm_test_ctxpopup(TCase *tc)80{
81tcase_add_test(tc, elm_ctxpopup_legacy_type_check);82tcase_add_test(tc, elm_atspi_role_get);83tcase_add_test(tc, elm_ctxpopup_test_sizing);84}
85