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

Reply via email to