eo2: fix function overrides test.

This commit is contained in:
Tom Hacohen 2013-11-08 10:15:22 +00:00
parent ca1f245366
commit 3a524e4201
3 changed files with 6 additions and 8 deletions

View File

@ -24,8 +24,8 @@ _a_set(Eo *obj, void *class_data EINA_UNUSED, int a)
fail_if(!pd->a_print_called); fail_if(!pd->a_print_called);
} }
Eina_Bool inherit_print_called = EINA_FALSE;
Eina_Bool inherit2_print_called = EINA_FALSE; Eina_Bool inherit2_print_called = EINA_FALSE;
Eina_Bool inherit2_print2_called = EINA_FALSE;
static void static void
_print(Eo *obj, void *class_data EINA_UNUSED) _print(Eo *obj, void *class_data EINA_UNUSED)
@ -33,15 +33,15 @@ _print(Eo *obj, void *class_data EINA_UNUSED)
printf("Hey\n"); printf("Hey\n");
inherit2_print_called = EINA_FALSE; inherit2_print_called = EINA_FALSE;
eo2_do_super(obj, MY_CLASS, inherit2_print()); eo2_do_super(obj, MY_CLASS, inherit2_print());
fail_if(inherit2_print_called); // FIXME fail_if(inherit2_print_called);
inherit_print_called = EINA_TRUE; inherit2_print_called = EINA_TRUE;
} }
static void static void
_print2(Eo *obj EINA_UNUSED, void *class_data EINA_UNUSED) _print2(Eo *obj EINA_UNUSED, void *class_data EINA_UNUSED)
{ {
printf("Hey2\n"); printf("Hey2\n");
inherit2_print_called = EINA_TRUE; inherit2_print2_called = EINA_TRUE;
} }
static void static void

View File

@ -7,7 +7,7 @@ EAPI void inherit2_print2(void);
#define INHERIT2_CLASS inherit2_class_get() #define INHERIT2_CLASS inherit2_class_get()
const Eo_Class *inherit2_class_get(void); const Eo_Class *inherit2_class_get(void);
extern Eina_Bool inherit_print_called;
extern Eina_Bool inherit2_print_called; extern Eina_Bool inherit2_print_called;
extern Eina_Bool inherit2_print2_called;
#endif #endif

View File

@ -10,10 +10,8 @@
#define MY_CLASS INHERIT3_CLASS #define MY_CLASS INHERIT3_CLASS
static void static void
_a_set(Eo *obj, void *class_data EINA_UNUSED, va_list *list) _a_set(Eo *obj, void *class_data EINA_UNUSED, int a)
{ {
int a;
a = va_arg(*list, int);
printf("%s %d\n", eo_class_name_get(MY_CLASS), a); printf("%s %d\n", eo_class_name_get(MY_CLASS), a);
eo2_do_super(obj, MY_CLASS, simple_a_set(a + 1)); eo2_do_super(obj, MY_CLASS, simple_a_set(a + 1));
} }