cedric pushed a commit to branch master.
commit 3e07236148f8032f476c5928f9ef59487b11529a
Author: Nikolay Lopatka <[email protected]>
Date: Wed Mar 13 15:23:23 2013 +0900
Edje: Add test for edje_object_file_set.
Signed-off-by: Cedric BAIL <[email protected]>
---
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(-)
diff --git a/src/Makefile_Edje.am b/src/Makefile_Edje.am
index 20ec552..94e05a3 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@
-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)
+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 $<
$@
-AM_V_EDJ = $(am__v_EDJ_@AM_V@)
-am__v_EDJ_ = $(am__v_EDJ_@AM_DEFAULT_V@)
-am__v_EDJ_0 = @echo " EDJ " $@;
+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
+
+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 0000000..fe6ea01
--- /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 a15c827..c02419c 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);
}
--
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar