From ffb2b6b73ba968d8eba330c764e8402ca2e207fe Mon Sep 17 00:00:00 2001 From: Leif Middelschulte Date: Tue, 31 Jul 2012 21:08:39 +0000 Subject: Implement basic C++ virtual method test case for C git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13478 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Examples/test-suite/c/Makefile.in | 1 + .../c/cpp_basic_class_virtual_method_runme.c | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 Examples/test-suite/c/cpp_basic_class_virtual_method_runme.c diff --git a/Examples/test-suite/c/Makefile.in b/Examples/test-suite/c/Makefile.in index b6066449b..e5070588e 100644 --- a/Examples/test-suite/c/Makefile.in +++ b/Examples/test-suite/c/Makefile.in @@ -16,6 +16,7 @@ CPP_TEST_CASES += \ cpp_basic_class \ cpp_basic_class_enum \ cpp_basic_class_method \ + cpp_basic_class_virtual_method \ cpp_basic_class_var_pub_member_atom \ cpp_basic_class_var_pub_member_class \ cpp_basic_global_enum \ diff --git a/Examples/test-suite/c/cpp_basic_class_virtual_method_runme.c b/Examples/test-suite/c/cpp_basic_class_virtual_method_runme.c new file mode 100644 index 000000000..e382f685b --- /dev/null +++ b/Examples/test-suite/c/cpp_basic_class_virtual_method_runme.c @@ -0,0 +1,19 @@ +#include +#include "cpp_basic_class_virtual_method/cpp_basic_class_virtual_method_proxy.h" + +int main() +{ + BaseClass *bc = new_BaseClass(); + NonMethodOverwritingClass *noc = new_NonMethodOverwritingClass(); + MethodOverwritingClass *oc = new_MethodOverwritingClass(); + + assert(BaseClass_myInt(bc) == 0xba53); + assert(NonMethodOverwritingClass_myInt(noc) == 0xba53); + assert(MethodOverwritingClass_myInt(oc) == 0xa173123d); + + delete_BaseClass(bc); + delete_NonMethodOverwritingClass(noc); + delete_MethodOverwritingClass(oc); + + return 0; +} \ No newline at end of file -- cgit v1.2.1