Am Freitag, 28. Juni 2013 um 15:31 schrieb Daniel Willmann - Enlightenment Git: > asdfuser pushed a commit to branch master. > > commit 7927c0f9fa742c6b57e97ce3ad348633db369844 > Author: Daniel Willmann <d.willm...@samsung.com > (mailto:d.willm...@samsung.com)> > Date: Thu Jun 27 17:53:48 2013 +0100 > > edje_test: Test geometry of a more complex layout > > It seems someone thought it was fun to have rel2.offset behave > differently than rel1.offset... > A rel2.offset of 0 actually means the size is increased by one pixel. > > Acocunt for that in the tests. > > Signed-off-by: Daniel Willmann <d.willm...@samsung.com > (mailto:d.willm...@samsung.com)> > --- > src/Makefile_Edje.am (http://Makefile_Edje.am) | 11 ++-- > src/tests/edje/data/complex_layout.edc | 97 ++++++++++++++++++++++++++++++++++ > src/tests/edje/edje_test_edje.c | 53 +++++++++++++++++++ > 3 files changed, 157 insertions(+), 4 deletions(-) > > diff --git a/src/Makefile_Edje.am (http://Makefile_Edje.am) > b/src/Makefile_Edje.am (http://Makefile_Edje.am) > index f33cd7c..6c1daf9 100644 > --- a/src/Makefile_Edje.am (http://Makefile_Edje.am) > +++ b/src/Makefile_Edje.am (http://Makefile_Edje.am) > @@ -236,15 +236,18 @@ $(EDJE_COMMON_CPPFLAGS) \ > tests_edje_edje_suite_LDADD = @CHECK_LIBS@ $(USE_EDJE_BIN_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${EXEEXT} > +tests/edje/data/%.edj: tests/edje/data/%.edc bin/edje/edje_cc${EXEEXT} > @$(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 > +EDJE_DATA_FILES = tests/edje/data/test_layout.edc \ > + tests/edje/data/complex_layout.edc > > edjedatafilesdir = $(datadir)/edje/data > -edjedatafiles_DATA = tests/edje/data/test_layout.edj > -CLEANFILES += tests/edje/data/test_layout.edj > +edjedatafiles_DATA = tests/edje/data/test_layout.edj \ > + tests/edje/data/complex_layout.edj > +CLEANFILES += tests/edje/data/test_layout.edj \ > + tests/edje/data/complex_layout.edj > > endif > > diff --git a/src/tests/edje/data/complex_layout.edc > b/src/tests/edje/data/complex_layout.edc > new file mode 100644 > index 0000000..656c7e3 > --- /dev/null > +++ b/src/tests/edje/data/complex_layout.edc > @@ -0,0 +1,97 @@ > +collections { > + group { > + name: "test_group"; > + > + parts { > + part { > + name: "background"; > + type: RECT; > + mouse_events: 0; > + > + description { > + state: "default" 0.0; > + color: 0 0 0 0; > + > + rel1 { > + relative: 0.0 0.0; > + offset: 0 0; > + } > + rel2 { > + relative: 1.0 1.0; > + offset: -1 -1; > + } > + } > + } > + part { > + name: "background2"; > + type: RECT; > + mouse_events: 0; > + > + description { > + state: "default" 0.0; > + color: 0 0 0 0; > + > + rel1 { > + relative: 0.0 0.0; > + offset: 1 1; > + } > + rel2 { > + relative: 1.0 1.0; > + offset: 0 0; > + } > + } > + } > + part { > + name: "ul"; > + type: RECT; > + > + description { > + state: "default" 0.0; > + > + rel1 { > + relative: 0.0 0.0; > + offset: 5 5; > + } > + rel2 { > + relative: 0.5 0.5; > + offset: -2 -2; > + } > + } > + } > + part { > + name: "ur"; > + type: RECT; > + > + description { > + state: "default" 0.0; > + > + rel1 { > + relative: 0.5 0.0; > + offset: 2 5; > + } > + rel2 { > + relative: 1.0 0.5; > + offset: -5 -2; > + } > + } > + } > + part { > + name: "l"; > + type: RECT; > + > + description { > + state: "default" 0.0; > + > + rel1 { > + relative: 0.0 0.5; > + offset: 5 2; > + } > + rel2 { > + relative: 1.0 1.0; > + offset: -5 -5; > + } > + } > + } > + } > + } > +} > diff --git a/src/tests/edje/edje_test_edje.c b/src/tests/edje/edje_test_edje.c > index 2cca72b..9f7fa99 100644 > --- a/src/tests/edje/edje_test_edje.c > +++ b/src/tests/edje/edje_test_edje.c > @@ -84,6 +84,8 @@ START_TEST(edje_test_simple_layout_geometry) > obj = edje_object_add(evas); > fail_unless(edje_object_file_set(obj, test_layout_get("test_layout.edj"), > "test_group")); > > + /* rel1.relative: 0.0 0.0; > + * rel2.relative: 1.0 1.0; */ > evas_object_resize(obj, 1000, 1000); > edje_object_part_geometry_get(obj, "background", &x, &y, &w, &h); > > @@ -100,10 +102,61 @@ START_TEST(edje_test_simple_layout_geometry) > } > END_TEST > > +START_TEST(edje_test_complex_layout) > +{ > + int x, y, w, h; > + Evas *evas = EDJE_TEST_INIT_EVAS(); > + Evas_Object *obj; > + > + obj = edje_object_add(evas); > + fail_unless(edje_object_file_set(obj, > test_layout_get("complex_layout.edj"), "test_group")); > + evas_object_resize(obj, 1000, 1000); > + > + /* Apparently rel2 offsets are retarded and you have to introduce off-by-one > + * madness (rel2.offset: -1 -1; acts like there is zero offset...) > + * Take that into account when checking w and h */ > + > + /* rel1.relative: 0.0 0.0; rel1.offset: 0 0; > + * rel2.relative: 1.0 1.0; rel2.offset -1 -1; */ > + edje_object_part_geometry_get(obj, "background", &x, &y, &w, &h); > + fail_if(x != 0 || y != 0); > >
Isn't there some braces convention? à la "fail_if((x != 0) || (y != 0));"? -- Leif > + fail_if(w != 1000-1 + 1 || h != 1000-1 + 1); > + > + /* rel1.relative: 0.0 0.0; rel1.offset: 1 1; > + * rel2.relative: 1.0 1.0; rel2.offset 0 0; */ > + edje_object_part_geometry_get(obj, "background2", &x, &y, &w, &h); > + fail_if(x != 1 || y != 1); > + fail_if(w != 1000-1 + 1 || h != 1000-1 + 1); > + > + /* rel1.relative: 0.0 0.0; rel1.offset: 5 5; > + * rel2.relative: 0.5 0.5; rel2.offset -2 -2; */ > + edje_object_part_geometry_get(obj, "ul", &x, &y, &w, &h); > + fail_if(x != 5 || y != 5); > + fail_if(w != 500-5-2 + 1 || h != 500-5-2 + 1); > + > + /* rel1.relative: 0.5 0.0; rel1.offset: 2 5; > + * rel2.relative: 1.0 0.5; rel2.offset -5 -2; */ > + edje_object_part_geometry_get(obj, "ur", &x, &y, &w, &h); > + fail_if(x != 500+2 || y != 5); > + fail_if(w != 500-5-2 + 1 || h != 500-5-2 + 1); > + > + /* rel1.relative: 0.0 0.5; rel1.offset: 5 2; > + * rel2.relative: 1.0 1.0; rel2.offset -5 -5; */ > + edje_object_part_geometry_get(obj, "l", &x, &y, &w, &h); > + fail_if(x != 5 || y != 500+2); > + fail_if(w != 1000-5-5 + 1 || h != 500-5-2 + 1); > + > + > + > + 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); > tcase_add_test(tc, edje_test_simple_layout_geometry); > + tcase_add_test(tc, edje_test_complex_layout); > } > > -- > > ------------------------------------------------------------------------------ > This SF.net (http://SF.net) email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev ------------------------------------------------------------------------------ This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel