forked from enlightenment/efl
tests/edje: split edje tests into separate files
Summary: this will speed up tests and make it slightly less intimidating to add new tests Reviewers: devilhorns Subscribers: cedric, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D6554
This commit is contained in:
parent
a62420ce36
commit
b05a5cb4c7
|
@ -283,7 +283,6 @@ bin/edje/edje_convert.c \
|
|||
bin/edje/edje_data_convert.c \
|
||||
bin/edje/edje_convert_main.c \
|
||||
lib/edje/edje_convert.c \
|
||||
tests/edje/edje_tests_helpers.h \
|
||||
tests/edje/data/complex_layout.edc \
|
||||
tests/edje/data/test_layout.edc \
|
||||
tests/edje/data/test_parens.edc \
|
||||
|
@ -318,7 +317,12 @@ TESTS += tests/edje/edje_suite
|
|||
|
||||
tests_edje_edje_suite_SOURCES = \
|
||||
tests/edje/edje_suite.c \
|
||||
tests/edje/edje_test_container.c \
|
||||
tests/edje/edje_test_edje.c \
|
||||
tests/edje/edje_test_features.c \
|
||||
tests/edje/edje_test_signal.c \
|
||||
tests/edje/edje_test_swallow.c \
|
||||
tests/edje/edje_test_text.c \
|
||||
tests/edje/edje_suite.h
|
||||
|
||||
tests/edje/data/%.edj: tests/edje/data/%.edc bin/edje/edje_cc${EXEEXT}
|
||||
|
|
|
@ -4,21 +4,56 @@
|
|||
|
||||
#include "edje_suite.h"
|
||||
#include "../efl_check.h"
|
||||
#include <Edje.h>
|
||||
#include <Ecore_Evas.h>
|
||||
|
||||
static const Efl_Test_Case etc[] = {
|
||||
{ "Edje", edje_test_edje },
|
||||
{ "Container", edje_test_container },
|
||||
{ "Features", edje_test_features },
|
||||
{ "Signal", edje_test_signal },
|
||||
{ "Swallow", edje_test_swallow },
|
||||
{ "Text", edje_test_text },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
|
||||
const char *
|
||||
test_layout_get(const char *name)
|
||||
{
|
||||
static char filename[PATH_MAX];
|
||||
|
||||
snprintf(filename, PATH_MAX, TESTS_BUILD_DIR"/data/%s", name);
|
||||
|
||||
return filename;
|
||||
}
|
||||
|
||||
Evas *
|
||||
_setup_evas(void)
|
||||
{
|
||||
Evas *evas;
|
||||
Evas_Engine_Info *einfo;
|
||||
|
||||
evas = evas_new();
|
||||
|
||||
evas_output_method_set(evas, evas_render_method_lookup("buffer"));
|
||||
einfo = evas_engine_info_get(evas);
|
||||
evas_engine_info_set(evas, einfo);
|
||||
|
||||
evas_output_size_set(evas, 500, 500);
|
||||
evas_output_viewport_set(evas, 0, 0, 500, 500);
|
||||
|
||||
return evas;
|
||||
}
|
||||
|
||||
SUITE_INIT(edje)
|
||||
{
|
||||
ck_assert_int_eq(ecore_evas_init(), 1);
|
||||
ck_assert_int_eq(edje_init(), 1);
|
||||
}
|
||||
|
||||
SUITE_SHUTDOWN(edje)
|
||||
{
|
||||
ck_assert_int_eq(edje_shutdown(), 0);
|
||||
ck_assert_int_eq(ecore_evas_shutdown(), 0);
|
||||
}
|
||||
|
||||
int
|
||||
|
|
|
@ -3,7 +3,16 @@
|
|||
|
||||
#include <check.h>
|
||||
#include "../efl_check.h"
|
||||
#include <Edje.h>
|
||||
Evas *_setup_evas(void);
|
||||
const char *test_layout_get(const char *name);
|
||||
|
||||
void edje_test_edje(TCase *tc);
|
||||
void edje_test_container(TCase *tc);
|
||||
void edje_test_features(TCase *tc);
|
||||
void edje_test_signal(TCase *tc);
|
||||
void edje_test_swallow(TCase *tc);
|
||||
void edje_test_text(TCase *tc);
|
||||
|
||||
|
||||
#endif /* _EDJE_SUITE_H */
|
||||
|
|
|
@ -0,0 +1,282 @@
|
|||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#define EFL_GFX_FILTER_BETA
|
||||
#define EFL_CANVAS_LAYOUT_BETA
|
||||
|
||||
#include "edje_suite.h"
|
||||
|
||||
#define EVAS_DATA_DIR TESTS_SRC_DIR "/../../lib/evas"
|
||||
|
||||
|
||||
|
||||
EFL_START_TEST(edje_test_box)
|
||||
{
|
||||
Evas *evas;
|
||||
Evas_Object *obj, *sobj, *sobjs[5];
|
||||
const Evas_Object *box;
|
||||
Eina_Iterator *it;
|
||||
int i;
|
||||
|
||||
evas = _setup_evas();
|
||||
|
||||
obj = edje_object_add(evas);
|
||||
fail_unless(edje_object_file_set(obj, test_layout_get("test_box.edj"), "test_group"));
|
||||
|
||||
for (i = 0; i < 5; i++)
|
||||
{
|
||||
sobjs[i] = evas_object_rectangle_add(evas);
|
||||
fail_if(!sobjs[i]);
|
||||
}
|
||||
|
||||
edje_object_part_box_append(obj, "box", sobjs[3]);
|
||||
edje_object_part_box_prepend(obj, "box", sobjs[1]);
|
||||
edje_object_part_box_insert_before(obj, "box", sobjs[0], sobjs[1]);
|
||||
edje_object_part_box_insert_after(obj, "box", sobjs[4], sobjs[3]);
|
||||
edje_object_part_box_insert_at(obj, "box", sobjs[2], 2);
|
||||
|
||||
edje_object_freeze(obj);
|
||||
box = edje_object_part_object_get(obj, "box");
|
||||
edje_object_thaw(obj);
|
||||
it = evas_object_box_iterator_new(box);
|
||||
|
||||
i = 0;
|
||||
EINA_ITERATOR_FOREACH(it, sobj)
|
||||
{
|
||||
fail_if(sobj != sobjs[i++]);
|
||||
}
|
||||
eina_iterator_free(it);
|
||||
|
||||
evas_free(evas);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
EFL_START_TEST(edje_test_box_eoapi)
|
||||
{
|
||||
Evas *evas;
|
||||
Evas_Object *obj, *sobj, *sobjs[5];
|
||||
Eina_Iterator *it;
|
||||
int i;
|
||||
|
||||
evas = _setup_evas();
|
||||
|
||||
obj = edje_object_add(evas);
|
||||
fail_unless(edje_object_file_set(obj, test_layout_get("test_box.edj"), "test_group"));
|
||||
|
||||
for (i = 0; i < 5; i++)
|
||||
{
|
||||
sobjs[i] = evas_object_rectangle_add(evas);
|
||||
fail_if(!sobjs[i]);
|
||||
}
|
||||
|
||||
/* same test case as legacy api above */
|
||||
efl_pack_end(efl_part(obj, "box"), sobjs[3]);
|
||||
efl_pack_begin(efl_part(obj, "box"), sobjs[1]);
|
||||
efl_pack_before(efl_part(obj, "box"), sobjs[0], sobjs[1]);
|
||||
efl_pack_after(efl_part(obj, "box"), sobjs[4], sobjs[3]);
|
||||
efl_pack_at(efl_part(obj, "box"), sobjs[2], 2);
|
||||
fail_if(efl_content_count(efl_part(obj, "box")) != 5);
|
||||
|
||||
it = efl_content_iterate(efl_part(obj, "box"));
|
||||
i = 0;
|
||||
EINA_ITERATOR_FOREACH(it, sobj)
|
||||
fail_if(sobj != sobjs[i++]);
|
||||
fail_if(i != 5);
|
||||
eina_iterator_free(it);
|
||||
|
||||
/* clear up and test a bit more */
|
||||
efl_pack_unpack_all(efl_part(obj, "box"));
|
||||
fail_if(efl_content_count(efl_part(obj, "box")) != 0);
|
||||
|
||||
efl_pack(efl_part(obj, "box"), sobjs[1]);
|
||||
efl_pack_at(efl_part(obj, "box"), sobjs[0], 0);
|
||||
efl_pack_at(efl_part(obj, "box"), sobjs[2], -1);
|
||||
it = efl_content_iterate(efl_part(obj, "box"));
|
||||
i = 0;
|
||||
EINA_ITERATOR_FOREACH(it, sobj)
|
||||
fail_if(sobj != sobjs[i++]);
|
||||
fail_if(i != 3);
|
||||
eina_iterator_free(it);
|
||||
|
||||
fail_if(!efl_content_remove(efl_part(obj, "box"), sobjs[0]));
|
||||
fail_if(efl_content_count(efl_part(obj, "box")) != 2);
|
||||
fail_if(!efl_pack_unpack_at(efl_part(obj, "box"), 1));
|
||||
fail_if(efl_content_count(efl_part(obj, "box")) != 1);
|
||||
fail_if(efl_pack_index_get(efl_part(obj, "box"), sobjs[1]) != 0);
|
||||
|
||||
efl_pack_clear(efl_part(obj, "box"));
|
||||
fail_if(efl_content_count(efl_part(obj, "box")) != 0);
|
||||
|
||||
evas_free(evas);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
EFL_START_TEST(edje_test_table)
|
||||
{
|
||||
Evas *evas;
|
||||
Evas_Object *obj, *sobj, *sobjs[4];
|
||||
int i, k, l, cols, rows;
|
||||
|
||||
evas = _setup_evas();
|
||||
|
||||
obj = edje_object_add(evas);
|
||||
fail_unless(edje_object_file_set(obj, test_layout_get("test_table.edj"), "test_group"));
|
||||
|
||||
/* check items from EDC */
|
||||
for (l = 0; l < 2; l++)
|
||||
for (k = 0; k < 2; k++)
|
||||
{
|
||||
const char *txt;
|
||||
char buf[20];
|
||||
|
||||
/* items have a text part "text" containing their position */
|
||||
sprintf(buf, "%d,%d", k, l);
|
||||
sobj = edje_object_part_table_child_get(obj, "table", k, l);
|
||||
fail_if(!sobj);
|
||||
txt = edje_object_part_text_get(sobj, "text");
|
||||
fail_if(!txt);
|
||||
fail_if(strcmp(txt, buf) != 0);
|
||||
}
|
||||
|
||||
/* Add more items */
|
||||
for (l = 0; l < 2; l++)
|
||||
for (k = 0; k < 2; k++)
|
||||
{
|
||||
i = l*2 + k;
|
||||
sobjs[i] = evas_object_rectangle_add(evas);
|
||||
fail_if(!sobjs[i]);
|
||||
edje_object_part_table_pack(obj, "table", sobjs[i], k, l + 2, 1, 1);
|
||||
}
|
||||
|
||||
for (l = 0; l < 2; l++)
|
||||
for (k = 0; k < 2; k++)
|
||||
{
|
||||
i = l*2 + k;
|
||||
sobj = edje_object_part_table_child_get(obj, "table", k, l + 2);
|
||||
fail_if(sobj != sobjs[i]);
|
||||
}
|
||||
|
||||
/* table size and clear */
|
||||
edje_object_part_table_col_row_size_get(obj, "table", &cols, &rows);
|
||||
fail_if(cols != 2);
|
||||
fail_if(rows != 4);
|
||||
|
||||
edje_object_part_table_clear(obj, "table", EINA_TRUE);
|
||||
|
||||
edje_object_part_table_col_row_size_get(obj, "table", &cols, &rows);
|
||||
fail_if(cols != 2);
|
||||
fail_if(rows != 2);
|
||||
|
||||
for (l = 0; l < 2; l++)
|
||||
for (k = 0; k < 2; k++)
|
||||
{
|
||||
const char *txt;
|
||||
char buf[20];
|
||||
|
||||
/* items have a text part "text" containing their position */
|
||||
sprintf(buf, "%d,%d", k, l);
|
||||
sobj = edje_object_part_table_child_get(obj, "table", k, l);
|
||||
fail_if(!sobj);
|
||||
txt = edje_object_part_text_get(sobj, "text");
|
||||
fail_if(!txt);
|
||||
fail_if(strcmp(txt, buf) != 0);
|
||||
}
|
||||
|
||||
evas_free(evas);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
EFL_START_TEST(edje_test_table_eoapi)
|
||||
{
|
||||
Evas *evas;
|
||||
Evas_Object *obj, *sobj, *sobjs[4], *proxy;
|
||||
Eina_Iterator *it;
|
||||
int i, k, l, cs, rs, cols, rows;
|
||||
|
||||
evas = _setup_evas();
|
||||
|
||||
obj = edje_object_add(evas);
|
||||
fail_unless(edje_object_file_set(obj, test_layout_get("test_table.edj"), "test_group"));
|
||||
|
||||
/* check items from EDC */
|
||||
fail_if(efl_content_count(efl_part(obj, "table")) != 4);
|
||||
for (l = 0; l < 2; l++)
|
||||
for (k = 0; k < 2; k++)
|
||||
{
|
||||
const char *txt;
|
||||
char buf[20];
|
||||
|
||||
/* items have a text part "text" containing their position */
|
||||
sprintf(buf, "%d,%d", k, l);
|
||||
sobj = efl_pack_table_content_get(efl_part(obj, "table"), k, l);
|
||||
fail_if(!sobj);
|
||||
//txt = efl_part_text_get(sobj, "text");
|
||||
txt = edje_object_part_text_get(sobj, "text");
|
||||
fail_if(!txt);
|
||||
fail_if(strcmp(txt, buf) != 0);
|
||||
}
|
||||
|
||||
/* Add more items */
|
||||
for (l = 0; l < 2; l++)
|
||||
for (k = 0; k < 2; k++)
|
||||
{
|
||||
i = l*2 + k;
|
||||
sobjs[i] = efl_add(EFL_CANVAS_RECTANGLE_CLASS, evas);
|
||||
fail_if(!sobjs[i]);
|
||||
efl_pack_table(efl_part(obj, "table"), sobjs[i], k, l + 2, 1, 1);
|
||||
}
|
||||
|
||||
fail_if(efl_content_count(efl_part(obj, "table")) != 8);
|
||||
|
||||
i = 0;
|
||||
it = efl_content_iterate(efl_part(obj, "table"));
|
||||
EINA_ITERATOR_FOREACH(it, sobj)
|
||||
{
|
||||
efl_pack_table_position_get(efl_part(obj, "table"), sobj, &k, &l, &cs, &rs);
|
||||
fail_if(cs != 1);
|
||||
fail_if(rs != 1);
|
||||
if (l >= 2)
|
||||
fail_if(sobj != sobjs[(l - 2)*2 + k]);
|
||||
i++;
|
||||
}
|
||||
eina_iterator_free(it);
|
||||
fail_if(i != 8);
|
||||
|
||||
/* table size and clear */
|
||||
efl_pack_table_size_get(efl_part(obj, "table"), &cols, &rows);
|
||||
fail_if(cols != 2);
|
||||
fail_if(rows != 4);
|
||||
|
||||
efl_pack_clear(efl_part(obj, "table"));
|
||||
fail_if(efl_content_count(efl_part(obj, "table")) != 4);
|
||||
|
||||
efl_pack_table_size_get(efl_part(obj, "table"), &cols, &rows);
|
||||
fail_if(cols != 2);
|
||||
fail_if(rows != 2);
|
||||
|
||||
/* test multiple ops on a proxy object */
|
||||
proxy = efl_ref(efl_part(obj, "table"));
|
||||
fail_if(!proxy);
|
||||
fail_if(!efl_pack_clear(proxy));
|
||||
fail_if(efl_content_count(efl_part(obj, "table")) != 4);
|
||||
fail_if(!efl_pack_clear(proxy));
|
||||
fail_if(efl_content_count(efl_part(obj, "table2")) != 1);
|
||||
fail_if(efl_content_count(proxy) != 4);
|
||||
efl_del(proxy);
|
||||
|
||||
evas_free(evas);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
|
||||
void edje_test_container(TCase *tc)
|
||||
{
|
||||
tcase_add_test(tc, edje_test_box);
|
||||
tcase_add_test(tc, edje_test_box_eoapi);
|
||||
tcase_add_test(tc, edje_test_table);
|
||||
tcase_add_test(tc, edje_test_table_eoapi);
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,229 @@
|
|||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#define EFL_GFX_FILTER_BETA
|
||||
#define EFL_CANVAS_LAYOUT_BETA
|
||||
|
||||
#include "edje_suite.h"
|
||||
|
||||
#define EVAS_DATA_DIR TESTS_SRC_DIR "/../../lib/evas"
|
||||
|
||||
|
||||
EFL_START_TEST(edje_test_masking)
|
||||
{
|
||||
int x, y, w, h;
|
||||
Evas *evas = _setup_evas();
|
||||
const Evas_Object *sub, *clip2, *clip;
|
||||
Evas_Object *obj;
|
||||
|
||||
obj = edje_object_add(evas);
|
||||
fail_unless(edje_object_file_set(obj, test_layout_get("test_masking.edj"), "test_group"));
|
||||
|
||||
evas_object_resize(obj, 100, 100);
|
||||
edje_object_part_geometry_get(obj, "background", &x, &y, &w, &h);
|
||||
fail_if(x != 0 || y != 0 || w != 100 || h != 100);
|
||||
|
||||
edje_object_freeze(obj);
|
||||
clip = edje_object_part_object_get(obj, "clip2");
|
||||
edje_object_thaw(obj);
|
||||
fail_if(!clip);
|
||||
|
||||
/* check value of no_render flag as seen from evas land */
|
||||
edje_object_freeze(obj);
|
||||
sub = edje_object_part_object_get(obj, "mask");
|
||||
edje_object_thaw(obj);
|
||||
fail_if(!efl_canvas_object_no_render_get(sub));
|
||||
|
||||
/* check that text has a clip (based on description.clip_to) */
|
||||
edje_object_freeze(obj);
|
||||
sub = edje_object_part_object_get(obj, "text");
|
||||
edje_object_thaw(obj);
|
||||
fail_if(!efl_canvas_object_clip_get(sub));
|
||||
|
||||
/* test description.clip_to override */
|
||||
edje_object_freeze(obj);
|
||||
sub = edje_object_part_object_get(obj, "noclip");
|
||||
edje_object_thaw(obj);
|
||||
clip2 = efl_canvas_object_clip_get(sub);
|
||||
fail_if(clip != clip2);
|
||||
|
||||
evas_free(evas);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
EFL_START_TEST(edje_test_filters)
|
||||
{
|
||||
Evas *evas = _setup_evas();
|
||||
const Evas_Object *text, *sub;
|
||||
Evas_Object *obj, *src = NULL;
|
||||
const char *prg, *name;
|
||||
|
||||
setenv("EVAS_DATA_DIR", EVAS_DATA_DIR, 1);
|
||||
|
||||
obj = edje_object_add(evas);
|
||||
fail_unless(edje_object_file_set(obj, test_layout_get("test_filters.edj"), "test_group"));
|
||||
|
||||
evas_object_resize(obj, 200, 200);
|
||||
|
||||
/* check value of no_render flag as seen from evas land */
|
||||
edje_object_freeze(obj);
|
||||
sub = edje_object_part_object_get(obj, "mask");
|
||||
edje_object_thaw(obj);
|
||||
fail_if(!efl_canvas_object_no_render_get(sub));
|
||||
|
||||
/* check no_render inheritance */
|
||||
edje_object_freeze(obj);
|
||||
sub = edje_object_part_object_get(obj, "mask2");
|
||||
edje_object_thaw(obj);
|
||||
fail_if(efl_canvas_object_no_render_get(sub));
|
||||
edje_object_freeze(obj);
|
||||
sub = edje_object_part_object_get(obj, "mask3");
|
||||
edje_object_thaw(obj);
|
||||
fail_if(!efl_canvas_object_no_render_get(sub));
|
||||
|
||||
/* text part: check filter status */
|
||||
edje_object_freeze(obj);
|
||||
text = edje_object_part_object_get(obj, "text");
|
||||
edje_object_thaw(obj);
|
||||
fail_if(!text);
|
||||
|
||||
efl_gfx_filter_program_get(text, &prg, &name);
|
||||
fail_if(!prg);
|
||||
fail_if(!name || strcmp(name, "filterfile"));
|
||||
|
||||
src = efl_gfx_filter_source_get(text, "mask");
|
||||
fail_if(!src);
|
||||
|
||||
// TODO: Verify properly that the filter runs well
|
||||
|
||||
evas_free(evas);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
EFL_START_TEST(edje_test_snapshot)
|
||||
{
|
||||
Evas *evas = _setup_evas();
|
||||
const Evas_Object *sub;
|
||||
Evas_Object *obj;
|
||||
|
||||
setenv("EVAS_DATA_DIR", EVAS_DATA_DIR, 1);
|
||||
|
||||
obj = edje_object_add(evas);
|
||||
fail_unless(edje_object_file_set(obj, test_layout_get("test_snapshot.edj"), "test_group"));
|
||||
|
||||
evas_object_resize(obj, 200, 200);
|
||||
|
||||
/* check value of no_render flag as seen from evas land */
|
||||
edje_object_freeze(obj);
|
||||
sub = edje_object_part_object_get(obj, "snap");
|
||||
edje_object_thaw(obj);
|
||||
fail_if(!efl_isa(sub, EFL_CANVAS_SNAPSHOT_CLASS) &&
|
||||
!evas_object_image_snapshot_get(sub));
|
||||
|
||||
// TODO: Verify that evas snapshot actually works (and has a filter)
|
||||
|
||||
evas_free(evas);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
EFL_START_TEST(edje_test_size_class)
|
||||
{
|
||||
int minw, minh, minw2, minh2;
|
||||
Evas *evas = _setup_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);
|
||||
|
||||
evas_free(evas);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
EFL_START_TEST(edje_test_color_class)
|
||||
{
|
||||
Evas *evas = _setup_evas();
|
||||
|
||||
Eina_File *f;
|
||||
Eina_Iterator *it;
|
||||
Edje_Color_Class *itcc, *cc = NULL;
|
||||
char *filename;
|
||||
|
||||
filename = realpath(test_layout_get("test_color_class.edj"), NULL);
|
||||
fail_if(!filename);
|
||||
|
||||
f = eina_file_open(filename, EINA_FALSE);
|
||||
fail_if(!f);
|
||||
|
||||
it = edje_mmap_color_class_iterator_new(f);
|
||||
fail_if(!it);
|
||||
EINA_ITERATOR_FOREACH(it, itcc)
|
||||
{
|
||||
if (!strcmp(itcc->name, "test_color_class"))
|
||||
{
|
||||
cc = itcc;
|
||||
break;
|
||||
}
|
||||
}
|
||||
fail_if((!cc) || (cc->r != 100) || (cc->g != 100) || (cc->b != 100) || (cc->a != 100));
|
||||
|
||||
eina_iterator_free(it);
|
||||
eina_file_close(f);
|
||||
free(filename);
|
||||
|
||||
evas_free(evas);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
void edje_test_features(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);
|
||||
tcase_add_test(tc, edje_test_color_class);
|
||||
}
|
|
@ -0,0 +1,240 @@
|
|||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#define EFL_GFX_FILTER_BETA
|
||||
#define EFL_CANVAS_LAYOUT_BETA
|
||||
|
||||
#include "edje_suite.h"
|
||||
|
||||
#define EVAS_DATA_DIR TESTS_SRC_DIR "/../../lib/evas"
|
||||
|
||||
static void
|
||||
_message_signal_reply_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
const char *emission, const char *source)
|
||||
{
|
||||
int *id = data;
|
||||
|
||||
fprintf(stderr, "source %s emit %s id %d\n", source, emission, *id);
|
||||
fflush(stderr);
|
||||
ck_assert_str_eq(source, "edc");
|
||||
ck_assert_ptr_ne(emission, NULL);
|
||||
|
||||
if (!strncmp(emission, "int set", 7))
|
||||
ck_assert_str_eq(emission, "int set 7 12 42 255");
|
||||
else if (!strncmp(emission, "int", 3))
|
||||
ck_assert_str_eq(emission, "int 42");
|
||||
else if (!strncmp(emission, "float", 5))
|
||||
{
|
||||
char buf[64];
|
||||
sprintf(buf, "float %f", 0.12);
|
||||
ck_assert_str_eq(emission, buf);
|
||||
}
|
||||
else if (!strncmp(emission, "str", 3))
|
||||
ck_assert_str_eq(emission, "str hello world");
|
||||
else ck_abort_msg("Invalid emission!");
|
||||
|
||||
(*id)++;
|
||||
}
|
||||
|
||||
EFL_START_TEST(edje_test_message_send_legacy)
|
||||
{
|
||||
Evas *evas;
|
||||
Evas_Object *obj;
|
||||
Edje_Message_Int msgi;
|
||||
Edje_Message_Float msgf;
|
||||
Edje_Message_String msgs;
|
||||
Edje_Message_Int_Set *msgis;
|
||||
int id = 0;
|
||||
|
||||
/* Ugly calls to process:
|
||||
*
|
||||
* 1. Send edje message (async)
|
||||
* 2. Process edje message (sync)
|
||||
* 3. EDC program emits edje signal (async)
|
||||
* 4. Process edje signal (sync)
|
||||
* 5. Finally reached signal cb
|
||||
*/
|
||||
|
||||
evas = _setup_evas();
|
||||
|
||||
obj = edje_object_add(evas);
|
||||
fail_unless(edje_object_file_set(obj, test_layout_get("test_messages.edj"), "test_group"));
|
||||
edje_object_signal_callback_add(obj, "*", "edc", _message_signal_reply_cb, &id);
|
||||
|
||||
msgs.str = "hello world";
|
||||
edje_object_message_send(obj, EDJE_MESSAGE_STRING, 0, &msgs);
|
||||
edje_message_signal_process();
|
||||
ck_assert_int_eq(id, 1);
|
||||
|
||||
msgi.val = 42;
|
||||
edje_object_message_send(obj, EDJE_MESSAGE_INT, 1, &msgi);
|
||||
edje_message_signal_process();
|
||||
ck_assert_int_eq(id, 2);
|
||||
|
||||
msgf.val = 0.12;
|
||||
edje_object_message_send(obj, EDJE_MESSAGE_FLOAT, 2, &msgf);
|
||||
edje_message_signal_process();
|
||||
ck_assert_int_eq(id, 3);
|
||||
|
||||
msgis = alloca(sizeof(*msgis) + 4 * sizeof(msgis->val));
|
||||
msgis->count = 4;
|
||||
msgis->val[0] = 7;
|
||||
msgis->val[1] = 12;
|
||||
msgis->val[2] = 42;
|
||||
msgis->val[3] = 255;
|
||||
edje_object_message_send(obj, EDJE_MESSAGE_INT_SET, 3, msgis);
|
||||
edje_message_signal_process();
|
||||
ck_assert_int_eq(id, 4);
|
||||
|
||||
evas_object_del(obj);
|
||||
|
||||
evas_free(evas);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
EFL_START_TEST(edje_test_message_send_eo)
|
||||
{
|
||||
Evas *evas;
|
||||
Evas_Object *obj;
|
||||
Eina_Value v, *va;
|
||||
int id = 0;
|
||||
|
||||
evas = _setup_evas();
|
||||
|
||||
obj = efl_add(EFL_CANVAS_LAYOUT_CLASS, evas,
|
||||
efl_file_set(efl_added, test_layout_get("test_messages.edj"), "test_group"));
|
||||
|
||||
// FIXME: EO API HERE
|
||||
edje_object_signal_callback_add(obj, "*", "edc", _message_signal_reply_cb, &id);
|
||||
|
||||
// NOTE: edje_object_message_signal_process may or may not be in EO (TBD)
|
||||
|
||||
eina_value_setup(&v, EINA_VALUE_TYPE_STRING);
|
||||
eina_value_set(&v, "hello world");
|
||||
efl_layout_signal_message_send(obj, 0, v);
|
||||
eina_value_flush(&v);
|
||||
edje_message_signal_process();
|
||||
edje_object_calc_force(obj);
|
||||
ck_assert_int_eq(id, 1);
|
||||
|
||||
eina_value_setup(&v, EINA_VALUE_TYPE_INT);
|
||||
eina_value_set(&v, 42);
|
||||
efl_layout_signal_message_send(obj, 1, v);
|
||||
eina_value_flush(&v);
|
||||
edje_message_signal_process();
|
||||
edje_object_calc_force(obj);
|
||||
ck_assert_int_eq(id, 2);
|
||||
|
||||
eina_value_setup(&v, EINA_VALUE_TYPE_FLOAT);
|
||||
eina_value_set(&v, 0.12);
|
||||
efl_layout_signal_message_send(obj, 2, v);
|
||||
eina_value_flush(&v);
|
||||
edje_message_signal_process();
|
||||
edje_object_calc_force(obj);
|
||||
ck_assert_int_eq(id, 3);
|
||||
|
||||
va = eina_value_array_new(EINA_VALUE_TYPE_INT, 4);
|
||||
eina_value_array_append(va, 7);
|
||||
eina_value_array_append(va, 12);
|
||||
eina_value_array_append(va, 42);
|
||||
eina_value_array_append(va, 255);
|
||||
efl_layout_signal_message_send(obj, 3, *va);
|
||||
eina_value_free(va);
|
||||
edje_message_signal_process();
|
||||
edje_object_calc_force(obj);
|
||||
ck_assert_int_eq(id, 4);
|
||||
|
||||
efl_del(obj);
|
||||
|
||||
evas_free(evas);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
EFL_START_TEST(edje_test_signals)
|
||||
{
|
||||
Evas *evas;
|
||||
Evas_Object *obj;
|
||||
const char *state;
|
||||
|
||||
evas = _setup_evas();
|
||||
|
||||
obj = efl_add(EFL_CANVAS_LAYOUT_CLASS, evas,
|
||||
efl_file_set(efl_added, test_layout_get("test_signals.edj"), "level1"),
|
||||
efl_gfx_entity_size_set(efl_added, EINA_SIZE2D(320, 240)),
|
||||
efl_gfx_entity_visible_set(efl_added, 1));
|
||||
|
||||
edje_object_signal_emit(obj, "mouse,in", "text");
|
||||
|
||||
edje_object_message_signal_process(obj);
|
||||
state = edje_object_part_state_get(obj, "group:group:text", NULL);
|
||||
ck_assert_str_eq(state, "default");
|
||||
|
||||
edje_object_message_signal_process(obj);
|
||||
state = edje_object_part_state_get(obj, "group:group:text", NULL);
|
||||
ck_assert_str_eq(state, "default");
|
||||
|
||||
edje_object_message_signal_recursive_process(obj);
|
||||
state = edje_object_part_state_get(obj, "group:group:text", NULL);
|
||||
ck_assert_str_eq(state, "over");
|
||||
|
||||
efl_del(obj);
|
||||
|
||||
evas_free(evas);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
static int _signal_count;
|
||||
|
||||
static void
|
||||
_signal_callback_count_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
const char *emission EINA_UNUSED, const char *source EINA_UNUSED)
|
||||
{
|
||||
int *_data = data;
|
||||
_signal_count += *_data;
|
||||
}
|
||||
|
||||
EFL_START_TEST(edje_test_signal_callback_del_full)
|
||||
{
|
||||
Evas *evas;
|
||||
Evas_Object *obj;
|
||||
int data[4] = { 1, 2, 4, 8 };
|
||||
|
||||
evas = _setup_evas();
|
||||
|
||||
obj = efl_add(EFL_CANVAS_LAYOUT_CLASS, evas,
|
||||
efl_file_set(efl_added,
|
||||
test_layout_get("test_signal_callback_del_full.edj"), "test"),
|
||||
efl_gfx_entity_size_set(efl_added, EINA_SIZE2D(320, 240)),
|
||||
efl_gfx_entity_visible_set(efl_added, 1));
|
||||
|
||||
edje_object_signal_callback_add(obj, "some_signal", "event", _signal_callback_count_cb, &data[0]);
|
||||
edje_object_signal_callback_add(obj, "some_signal", "event", _signal_callback_count_cb, &data[1]);
|
||||
edje_object_signal_callback_add(obj, "some_signal", "event", _signal_callback_count_cb, &data[2]);
|
||||
edje_object_signal_callback_add(obj, "some_signal", "event", _signal_callback_count_cb, &data[3]);
|
||||
|
||||
edje_object_signal_callback_del_full(obj, "some_signal", "event", _signal_callback_count_cb, &data[0]);
|
||||
edje_object_signal_callback_del_full(obj, "some_signal", "event", _signal_callback_count_cb, &data[3]);
|
||||
|
||||
edje_object_signal_emit(obj, "some_signal", "event");
|
||||
|
||||
edje_object_message_signal_process(obj);
|
||||
ck_assert_int_eq(_signal_count, (data[1] + data[2]));
|
||||
|
||||
efl_del(obj);
|
||||
|
||||
evas_free(evas);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
void edje_test_signal(TCase *tc)
|
||||
{
|
||||
tcase_add_test(tc, edje_test_message_send_legacy);
|
||||
tcase_add_test(tc, edje_test_message_send_eo);
|
||||
tcase_add_test(tc, edje_test_signals);
|
||||
tcase_add_test(tc, edje_test_signal_callback_del_full);
|
||||
|
||||
}
|
|
@ -0,0 +1,104 @@
|
|||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#define EFL_GFX_FILTER_BETA
|
||||
#define EFL_CANVAS_LAYOUT_BETA
|
||||
|
||||
#include "edje_suite.h"
|
||||
|
||||
#define EVAS_DATA_DIR TESTS_SRC_DIR "/../../lib/evas"
|
||||
|
||||
|
||||
EFL_START_TEST(edje_test_swallows)
|
||||
{
|
||||
Evas *evas = _setup_evas();
|
||||
Evas_Object *ly, *o1, *o2;
|
||||
|
||||
ly = efl_add(EFL_CANVAS_LAYOUT_CLASS, evas);
|
||||
fail_unless(edje_object_file_set(ly, test_layout_get("test_swallows.edj"), "test_group"));
|
||||
|
||||
fail_unless(edje_object_part_exists(ly, "swallow"));
|
||||
|
||||
|
||||
o1 = efl_add(EFL_CANVAS_LAYOUT_CLASS, ly);
|
||||
fail_if(!edje_object_part_swallow(ly, "swallow", o1));
|
||||
ck_assert_ptr_eq(efl_parent_get(o1), ly);
|
||||
|
||||
edje_object_part_unswallow(ly, o1);
|
||||
ck_assert_ptr_eq(efl_parent_get(o1), evas_object_evas_get(o1));
|
||||
|
||||
fail_if(!edje_object_part_swallow(ly, "swallow", o1));
|
||||
ck_assert_ptr_eq(efl_parent_get(o1), ly);
|
||||
|
||||
o2 = efl_add(EFL_CANVAS_LAYOUT_CLASS, ly);
|
||||
fail_if(!edje_object_part_swallow(ly, "swallow", o2));
|
||||
ck_assert_ptr_eq(efl_parent_get(o2), ly);
|
||||
/* o1 is deleted at this point. */
|
||||
ck_assert_ptr_eq(efl_parent_get(o1), evas_object_evas_get(o1));
|
||||
|
||||
evas_free(evas);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
EFL_START_TEST(edje_test_swallows_lifetime)
|
||||
{
|
||||
Evas *evas = _setup_evas();
|
||||
Evas_Object *ly, *o1;
|
||||
|
||||
ly = edje_object_add(evas);
|
||||
fail_unless(edje_object_file_set(ly, test_layout_get("test_swallows.edj"), "test_group"));
|
||||
|
||||
fail_unless(edje_object_part_exists(ly, "swallow"));
|
||||
|
||||
o1 = edje_object_add(ly);
|
||||
fail_if(!edje_object_part_swallow(ly, "swallow", o1));
|
||||
|
||||
evas_object_del(ly);
|
||||
fail_if(!efl_parent_get(o1));
|
||||
|
||||
evas_free(evas);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
EFL_START_TEST(edje_test_swallows_eoapi)
|
||||
{
|
||||
Evas *evas = _setup_evas();
|
||||
Evas_Object *ly, *o1, *o2;
|
||||
|
||||
ly = efl_add(EFL_CANVAS_LAYOUT_CLASS, evas);
|
||||
fail_unless(edje_object_file_set(ly, test_layout_get("test_swallows.edj"), "test_group"));
|
||||
|
||||
fail_unless(edje_object_part_exists(ly, "swallow"));
|
||||
|
||||
|
||||
o1 = efl_add(EFL_CANVAS_LAYOUT_CLASS, ly);
|
||||
fail_if(!efl_content_set(efl_part(ly, "swallow"), o1));
|
||||
ck_assert_ptr_eq(efl_parent_get(o1), ly);
|
||||
|
||||
efl_content_remove(ly, o1);
|
||||
ck_assert_ptr_eq(efl_parent_get(o1), evas_object_evas_get(o1));
|
||||
|
||||
fail_if(!efl_content_set(efl_part(ly, "swallow"), o1));
|
||||
ck_assert_ptr_eq(efl_parent_get(o1), ly);
|
||||
|
||||
o2 = efl_add(EFL_CANVAS_LAYOUT_CLASS, ly);
|
||||
fail_if(!efl_content_set(efl_part(ly, "swallow"), o2));
|
||||
ck_assert_ptr_eq(efl_parent_get(o2), ly);
|
||||
/* o1 is deleted at this point. */
|
||||
ck_assert_ptr_eq(efl_parent_get(o1), evas_object_evas_get(o1));
|
||||
|
||||
evas_free(evas);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
|
||||
void edje_test_swallow(TCase *tc)
|
||||
{
|
||||
tcase_add_test(tc, edje_test_swallows);
|
||||
tcase_add_test(tc, edje_test_swallows_lifetime);
|
||||
tcase_add_test(tc, edje_test_swallows_eoapi);
|
||||
}
|
|
@ -0,0 +1,120 @@
|
|||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#define EFL_GFX_FILTER_BETA
|
||||
#define EFL_CANVAS_LAYOUT_BETA
|
||||
|
||||
#include "edje_suite.h"
|
||||
|
||||
#define EVAS_DATA_DIR TESTS_SRC_DIR "/../../lib/evas"
|
||||
|
||||
|
||||
EFL_START_TEST(edje_test_text_cursor)
|
||||
{
|
||||
Evas *evas;
|
||||
Evas_Object *obj;
|
||||
const char *buf = "ABC<br/>DEF";
|
||||
const char *txt;
|
||||
int i, old_pos, new_pos;
|
||||
|
||||
evas = _setup_evas();
|
||||
|
||||
obj = edje_object_add(evas);
|
||||
fail_unless(edje_object_file_set(obj, test_layout_get("test_text_cursor.edj"), "test_text_cursor"));
|
||||
edje_object_part_text_set(obj, "text", buf);
|
||||
txt = edje_object_part_text_get(obj, "text");
|
||||
fail_if(!txt || strcmp(txt, buf));
|
||||
|
||||
edje_object_part_text_cursor_pos_set(obj, "text", EDJE_CURSOR_MAIN, 0);
|
||||
ck_assert_int_eq(edje_object_part_text_cursor_pos_get(obj, "text", EDJE_CURSOR_MAIN), 0);
|
||||
edje_object_part_text_cursor_pos_set(obj, "text", EDJE_CURSOR_MAIN, 1);
|
||||
ck_assert_int_eq(edje_object_part_text_cursor_pos_get(obj, "text", EDJE_CURSOR_MAIN), 1);
|
||||
|
||||
/* Move cursor to the 0 pos from 1 pos */
|
||||
old_pos = edje_object_part_text_cursor_pos_get(obj, "text", EDJE_CURSOR_MAIN);
|
||||
ck_assert(edje_object_part_text_cursor_prev(obj, "text", EDJE_CURSOR_MAIN));
|
||||
new_pos = edje_object_part_text_cursor_pos_get(obj, "text", EDJE_CURSOR_MAIN);
|
||||
ck_assert_int_ne(old_pos, new_pos);
|
||||
|
||||
/* Move cursor to the -1 pos from 0 pos. It has to fail. */
|
||||
old_pos = new_pos;
|
||||
ck_assert(!edje_object_part_text_cursor_prev(obj, "text", EDJE_CURSOR_MAIN));
|
||||
new_pos = edje_object_part_text_cursor_pos_get(obj, "text", EDJE_CURSOR_MAIN);
|
||||
ck_assert_int_eq(old_pos, new_pos);
|
||||
|
||||
/* Jump to 2nd line from 1st line.
|
||||
* It has to return EINA_TRUE which means success. */
|
||||
old_pos = new_pos;
|
||||
ck_assert(edje_object_part_text_cursor_down(obj, "text", EDJE_CURSOR_MAIN));
|
||||
new_pos = edje_object_part_text_cursor_pos_get(obj, "text", EDJE_CURSOR_MAIN);
|
||||
ck_assert_int_ne(old_pos, new_pos);
|
||||
|
||||
/* Try to jump to 3rd line from 2nd line. But, 3rd line does not exist.
|
||||
* So, it has to return EINA_FALSE which means failure. */
|
||||
old_pos = new_pos;
|
||||
ck_assert(!edje_object_part_text_cursor_down(obj, "text", EDJE_CURSOR_MAIN));
|
||||
new_pos = edje_object_part_text_cursor_pos_get(obj, "text", EDJE_CURSOR_MAIN);
|
||||
ck_assert_int_eq(old_pos, new_pos);
|
||||
|
||||
/* Move cursor to the end of 2nd line. */
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
old_pos = new_pos;
|
||||
ck_assert(edje_object_part_text_cursor_next(obj, "text", EDJE_CURSOR_MAIN));
|
||||
new_pos = edje_object_part_text_cursor_pos_get(obj, "text", EDJE_CURSOR_MAIN);
|
||||
ck_assert_int_ne(old_pos, new_pos);
|
||||
}
|
||||
|
||||
/* Move cursor to the next of the end of 2nd line which does not exist. */
|
||||
old_pos = new_pos;
|
||||
ck_assert(!edje_object_part_text_cursor_next(obj, "text", EDJE_CURSOR_MAIN));
|
||||
new_pos = edje_object_part_text_cursor_pos_get(obj, "text", EDJE_CURSOR_MAIN);
|
||||
ck_assert_int_eq(old_pos, new_pos);
|
||||
|
||||
/* Jump to 1st line from 2nd line.
|
||||
* It has to return EINA_TRUE which means success. */
|
||||
old_pos = new_pos;
|
||||
ck_assert(edje_object_part_text_cursor_up(obj, "text", EDJE_CURSOR_MAIN));
|
||||
new_pos = edje_object_part_text_cursor_pos_get(obj, "text", EDJE_CURSOR_MAIN);
|
||||
ck_assert_int_ne(old_pos, new_pos);
|
||||
|
||||
/* Try to jump to the above of 1st line from 1st line. But, there is no such line.
|
||||
* So, it has to return EINA_FALSE which means failure. */
|
||||
old_pos = new_pos;
|
||||
ck_assert(!edje_object_part_text_cursor_up(obj, "text", EDJE_CURSOR_MAIN));
|
||||
new_pos = edje_object_part_text_cursor_pos_get(obj, "text", EDJE_CURSOR_MAIN);
|
||||
ck_assert_int_eq(old_pos, new_pos);
|
||||
|
||||
evas_free(evas);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
|
||||
EFL_START_TEST(edje_test_textblock)
|
||||
{
|
||||
Evas *evas;
|
||||
Evas_Object *obj;
|
||||
const char *buf = "Hello";
|
||||
const char *txt;
|
||||
|
||||
evas = _setup_evas();
|
||||
|
||||
obj = edje_object_add(evas);
|
||||
fail_unless(edje_object_file_set(obj, test_layout_get("test_textblock.edj"), "test_textblock"));
|
||||
edje_object_part_text_set(obj, "text", buf);
|
||||
txt = edje_object_part_text_get(obj, "text");
|
||||
fail_if(!txt || strcmp(txt, buf));
|
||||
|
||||
evas_free(evas);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
void edje_test_text(TCase *tc)
|
||||
{
|
||||
tcase_add_test(tc, edje_test_text_cursor);
|
||||
tcase_add_test(tc, edje_test_textblock);
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
#ifndef EDJE_TEST_HELPERS_H
|
||||
#define EDJE_TEST_HELPERS_H
|
||||
|
||||
#include <Ecore_Evas.h>
|
||||
|
||||
/* FIXME: Currently depends on the buffer engine, should we do anything
|
||||
* fancier? */
|
||||
|
||||
#define EDJE_TEST_INIT_EVAS() _setup_evas()
|
||||
|
||||
#define EDJE_TEST_FREE_EVAS() \
|
||||
do \
|
||||
{ \
|
||||
edje_shutdown(); \
|
||||
evas_free(evas); \
|
||||
ecore_evas_shutdown(); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
static Evas *
|
||||
_setup_evas()
|
||||
{
|
||||
Evas *evas;
|
||||
Evas_Engine_Info *einfo;
|
||||
|
||||
ecore_evas_init();
|
||||
edje_init();
|
||||
|
||||
evas = evas_new();
|
||||
|
||||
evas_output_method_set(evas, evas_render_method_lookup("buffer"));
|
||||
einfo = evas_engine_info_get(evas);
|
||||
evas_engine_info_set(evas, einfo);
|
||||
|
||||
evas_output_size_set(evas, 500, 500);
|
||||
evas_output_viewport_set(evas, 0, 0, 500, 500);
|
||||
|
||||
return evas;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue