summaryrefslogtreecommitdiff
path: root/src/tests/eolian_cxx/eolian_cxx_test_inheritance.cc
blob: 19307172525349f4817e8c4a9de7324b14fa2fc2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

#ifdef HAVE_CONFIG_H
# include <config.h>
#endif

#include <Eo.h>
#include <Ecore.h>

#include <simple.eo.hh>

#include <check.h>

struct bar
: efl::eo::inherit<bar, simple>
{
  bar()
    : inherit_base()
  {}

  bool simple_get()
  {
     printf("calling bar::%s\n", __FUNCTION__);
     return false;
  }
};

void foo(simple is)
{
   fail_if(is.simple_get());
}

START_TEST(eolian_cxx_test_inheritance_simple)
{
  efl::eo::eo_init i;
  bar b;
  foo(b);
}
END_TEST

void
eolian_cxx_test_inheritance(TCase* tc)
{
   tcase_add_test(tc, eolian_cxx_test_inheritance_simple);
}