edje: add size_class test case

Summary: add edje size_class APIs' test case

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3391
This commit is contained in:
Jee-Yong Um 2015-12-16 14:53:59 +09:00 committed by Jean-Philippe Andre
parent c46ab1d864
commit 395ed14f63
3 changed files with 85 additions and 2 deletions

View File

@ -255,6 +255,7 @@ tests/edje/data/test_parens.edc \
tests/edje/data/test_masking.edc \
tests/edje/data/test_filters.edc \
tests/edje/data/test_snapshot.edc \
tests/edje/data/test_size_class.edc \
tests/edje/data/filter.lua
@ -297,6 +298,7 @@ EDJE_DATA_FILES = tests/edje/data/test_layout.edc \
tests/edje/data/test_masking.edc \
tests/edje/data/test_filters.edc \
tests/edje/data/test_snapshot.edc \
tests/edje/data/test_size_class.edc \
tests/edje/data/filter.lua
edjedatafilesdir = $(datadir)/edje/data
@ -305,14 +307,16 @@ edjedatafiles_DATA = tests/edje/data/test_layout.edj \
tests/edje/data/test_parens.edj \
tests/edje/data/test_masking.edj \
tests/edje/data/test_filters.edj \
tests/edje/data/test_snapshot.edj
tests/edje/data/test_snapshot.edj \
tests/edje/data/test_size_class.edj
CLEANFILES += tests/edje/data/test_layout.edj \
tests/edje/data/complex_layout.edj \
tests/edje/data/test_parens.edj \
tests/edje/data/test_masking.edj \
tests/edje/data/test_filters.edj \
tests/edje/data/test_snapshot.edj
tests/edje/data/test_snapshot.edj \
tests/edje/data/test_size_class.edj
endif

View File

@ -0,0 +1,24 @@
collections {
group { name: "test_group";
parts {
part { name: "background";
type: RECT;
description { state: "default" 0.0;
color: 33 32 32 255;
rel1.relative: 0 0;
rel2.relative: 1 1;
max: 200 200;
}
}
part { name: "rect";
type: RECT;
description { state: "default" 0.0;
rel1.relative: 0.5 0.5;
rel2.relative: 0.5 0.5;
min: 50 50;
size_class: "rect_size";
}
}
}
}
}

View File

@ -273,6 +273,60 @@ START_TEST(edje_test_snapshot)
}
END_TEST
START_TEST(edje_test_size_class)
{
int minw, minh, minw2, minh2;
Evas *evas = EDJE_TEST_INIT_EVAS();
Eina_List *l;
Eina_Stringshare *name;
Evas_Object *obj, *obj2;
Eina_Bool b;
obj = edje_object_add(evas);
fail_unless(edje_object_file_set(obj, test_layout_get("test_size_class.edj"), "test_group"));
obj2 = edje_object_add(evas);
fail_unless(edje_object_file_set(obj2, test_layout_get("test_size_class.edj"), "test_group"));
evas_object_resize(obj, 200, 200);
evas_object_resize(obj2, 200, 200);
/* check predefined min size of rect part by edc */
edje_object_part_geometry_get(obj, "rect", NULL, NULL, &minw, &minh);
fail_if(minw != 50 || minh != 50);
/* check that edje_size_class_set works */
b = edje_size_class_set("rect_size", 100, 100, -1, -1);
edje_object_part_geometry_get(obj, "rect", NULL, NULL, &minw, &minh);
edje_object_part_geometry_get(obj2, "rect", NULL, NULL, &minw2, &minh2);
fail_if(!b || minw != 100 || minh != 100 || minw2 != 100 || minh2 != 100);
/* check that edje_size_class_get works */
b = edje_size_class_get("rect_size", &minw, &minh, NULL, NULL);
fail_if(!b || minw != 100 || minh != 100);
/* check that edje_size_class_list works */
l = edje_size_class_list();
EINA_LIST_FREE(l, name)
{
fail_if(strcmp(name, "rect_size"));
eina_stringshare_del(name);
}
/* check that edje_object_size_class_set works */
b = edje_object_size_class_set(obj, "rect_size", 150, 150, -1, -1);
edje_object_part_geometry_get(obj, "rect", NULL, NULL, &minw, &minh);
edje_object_part_geometry_get(obj2, "rect", NULL, NULL, &minw2, &minh2);
fail_if(!b || minw != 150 || minh != 150 || minw2 != 100 || minh2 != 100);
/* check that edje_object_size_class_get works */
b = edje_object_size_class_get(obj, "rect_size", &minw, &minh, NULL, NULL);
fail_if(!b || minw != 150 || minh != 150);
EDJE_TEST_FREE_EVAS();
}
END_TEST
void edje_test_edje(TCase *tc)
{
tcase_add_test(tc, edje_test_edje_init);
@ -284,4 +338,5 @@ void edje_test_edje(TCase *tc)
tcase_add_test(tc, edje_test_masking);
tcase_add_test(tc, edje_test_filters);
tcase_add_test(tc, edje_test_snapshot);
tcase_add_test(tc, edje_test_size_class);
}