From 3e07236148f8032f476c5928f9ef59487b11529a Mon Sep 17 00:00:00 2001 From: Nikolay Lopatka Date: Wed, 13 Mar 2013 15:23:23 +0900 Subject: [PATCH] Edje: Add test for edje_object_file_set. Signed-off-by: Cedric BAIL --- src/Makefile_Edje.am | 33 ++++++++++++++++++--------- src/tests/edje/data/test_layout.edc | 24 ++++++++++++++++++++ src/tests/edje/edje_test_edje.c | 35 ++++++++++++++++++++++++++++- 3 files changed, 81 insertions(+), 11 deletions(-) create mode 100644 src/tests/edje/data/test_layout.edc diff --git a/src/Makefile_Edje.am b/src/Makefile_Edje.am index 20ec55288b..94e05a33fe 100644 --- a/src/Makefile_Edje.am +++ b/src/Makefile_Edje.am @@ -196,6 +196,17 @@ tests/edje/edje_tests_helpers.h bin_SCRIPTS += bin/edje/edje_recc +# Useful to other modules that generate EDJ +EDJE_CC = EFL_RUN_IN_TREE=1 $(builddir)/bin/edje/edje_cc +EDJE_CC_FLAGS_VERBOSE = $(EDJE_CC_FLAGS_VERBOSE_@AM_V@) +EDJE_CC_FLAGS_VERBOSE_ = $(EDJE_CC_FLAGS_VERBOSE_@AM_DEFAULT_V@) +EDJE_CC_FLAGS_VERBOSE_1 = -v +EDJE_CC_FLAGS = $(EDJE_CC_FLAGS_VERBOSE) -id $(srcdir) -fd $(srcdir) + +AM_V_EDJ = $(am__v_EDJ_@AM_V@) +am__v_EDJ_ = $(am__v_EDJ_@AM_DEFAULT_V@) +am__v_EDJ_0 = @echo " EDJ " $@; + ### Unit tests if EFL_ENABLE_TESTS @@ -214,15 +225,17 @@ $(EDJE_COMMON_CPPFLAGS) \ @CHECK_CFLAGS@ tests_edje_edje_suite_LDADD = @CHECK_LIBS@ @USE_EDJE_LIBS@ tests_edje_edje_suite_DEPENDENCIES = @USE_EDJE_INTERNAL_LIBS@ + +tests/edje/data/test_layout.edj: tests/edje/data/test_layout.edc bin/edje/edje_cc + @$(MKDIR_P) tests/edje/data + $(AM_V_EDJ)$(EDJE_CC) $(EDJE_CC_FLAGS) -id $(srcdir)/tests/edje/data $< $@ + +EDJE_DATA_FILES = tests/edje/data/test_layout.edc + +edjedatafilesdir = $(datadir)/edje/data +edjedatafiles_DATA = tests/edje/data/test_layout.edj +CLEANFILES += tests/edje/data/test_layout.edj + endif -# Useful to other modules that generate EDJ -EDJE_CC = EFL_RUN_IN_TREE=1 $(builddir)/bin/edje/edje_cc -EDJE_CC_FLAGS_VERBOSE = $(EDJE_CC_FLAGS_VERBOSE_@AM_V@) -EDJE_CC_FLAGS_VERBOSE_ = $(EDJE_CC_FLAGS_VERBOSE_@AM_DEFAULT_V@) -EDJE_CC_FLAGS_VERBOSE_1 = -v -EDJE_CC_FLAGS = $(EDJE_CC_FLAGS_VERBOSE) -id $(srcdir) -fd $(srcdir) - -AM_V_EDJ = $(am__v_EDJ_@AM_V@) -am__v_EDJ_ = $(am__v_EDJ_@AM_DEFAULT_V@) -am__v_EDJ_0 = @echo " EDJ " $@; +EXTRA_DIST += $(EDJE_DATA_FILES) diff --git a/src/tests/edje/data/test_layout.edc b/src/tests/edje/data/test_layout.edc new file mode 100644 index 0000000000..fe6ea011a6 --- /dev/null +++ b/src/tests/edje/data/test_layout.edc @@ -0,0 +1,24 @@ +collections { + group { + name: "test_group"; + + parts { + part { + name: "background"; + type: RECT; + mouse_events: 0; + + description { + state: "default" 0.0; + color: 255 255 255 255; + + rel1 { + relative: 0.0 0.0; + } + rel2 { + relative: 1.0 1.0; + } + } + } + } +} diff --git a/src/tests/edje/edje_test_edje.c b/src/tests/edje/edje_test_edje.c index a15c8273da..c02419c446 100644 --- a/src/tests/edje/edje_test_edje.c +++ b/src/tests/edje/edje_test_edje.c @@ -38,8 +38,41 @@ START_TEST(edje_test_edje_load) } END_TEST -void edje_test_edje(TCase *tc) +static const char * +test_layout_get(void) { + static int is_local = -1; + if (is_local == -1) + { + struct stat st; + is_local = (stat(PACKAGE_BUILD_DIR"/src/tests/edje/data/test_layout.edj", &st) == 0); + } + + if (is_local) + return PACKAGE_BUILD_DIR"/src/tests/edje/data/test_layout.edj"; + else + return PACKAGE_DATA_DIR"/data/test_layout.edj"; +} + +START_TEST(edje_test_load_simple_layout) +{ + Evas *evas = EDJE_TEST_INIT_EVAS(); + Evas_Object *obj; + + obj = edje_object_add(evas); + fail_unless(edje_object_file_set(obj, test_layout_get(), "test_group")); + + fail_if(edje_object_part_exists(obj, "unexistant_part")); + fail_unless(edje_object_part_exists(obj, "background")); + + + EDJE_TEST_FREE_EVAS(); +} +END_TEST + +void edje_test_edje(TCase *tc) +{ tcase_add_test(tc, edje_test_edje_init); + tcase_add_test(tc,edje_test_load_simple_layout); tcase_add_test(tc, edje_test_edje_load); }