From 44f4dd4dc02ed39c146bdea1af7a29f424f65e7a Mon Sep 17 00:00:00 2001 From: Leif Middelschulte Date: Wed, 1 Aug 2012 00:51:50 +0000 Subject: [PATCH] Extend test to check dynamic binding of virtual methods git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13480 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- .../test-suite/c/cpp_basic_class_virtual_method_runme.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 index e382f685b..1a6f332a3 100644 --- a/Examples/test-suite/c/cpp_basic_class_virtual_method_runme.c +++ b/Examples/test-suite/c/cpp_basic_class_virtual_method_runme.c @@ -6,14 +6,19 @@ int main() BaseClass *bc = new_BaseClass(); NonMethodOverwritingClass *noc = new_NonMethodOverwritingClass(); MethodOverwritingClass *oc = new_MethodOverwritingClass(); + BaseClass *inherited_bc = (BaseClass*)new_MethodOverwritingClass(); assert(BaseClass_myInt(bc) == 0xba53); assert(NonMethodOverwritingClass_myInt(noc) == 0xba53); assert(MethodOverwritingClass_myInt(oc) == 0xa173123d); + assert(BaseClass_myInt((BaseClass*)noc) == 0xba53); + assert(BaseClass_myInt((BaseClass*)oc) == 0xa173123d); + assert(BaseClass_myInt(inherited_bc) == 0xa173123d); delete_BaseClass(bc); delete_NonMethodOverwritingClass(noc); delete_MethodOverwritingClass(oc); + delete_BaseClass(inherited_bc); return 0; -} \ No newline at end of file +}