From 6d476c432c560183a3f09d37fed2967f3aef0b24 Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Fri, 23 Sep 2005 21:20:27 +0000 Subject: [PATCH] Test for patch #1116431 Fix non member functions inadvertently being called instead of member functions. git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7499 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- SWIG/Examples/test-suite/common.mk | 1 + SWIG/Examples/test-suite/inherit.i | 19 +++++++++++++++++++ .../test-suite/perl5/inherit_runme.pl | 9 +++++++++ 3 files changed, 29 insertions(+) create mode 100644 SWIG/Examples/test-suite/inherit.i create mode 100644 SWIG/Examples/test-suite/perl5/inherit_runme.pl diff --git a/SWIG/Examples/test-suite/common.mk b/SWIG/Examples/test-suite/common.mk index c2ec608bb..bb1f02765 100644 --- a/SWIG/Examples/test-suite/common.mk +++ b/SWIG/Examples/test-suite/common.mk @@ -147,6 +147,7 @@ CPP_TEST_CASES += \ grouping \ ignore_parameter \ import_nomodule \ + inherit \ inherit_missing \ inherit_same_name \ inherit_void_arg \ diff --git a/SWIG/Examples/test-suite/inherit.i b/SWIG/Examples/test-suite/inherit.i new file mode 100644 index 000000000..e4eee23b1 --- /dev/null +++ b/SWIG/Examples/test-suite/inherit.i @@ -0,0 +1,19 @@ +// Test that was failing for Perl - the non-member Foo was being called when the member version was intended +%module inherit + +%inline %{ + +const char* Foo(void) { + return "Non-member Foo"; +} + +class CBase { +public: + const char* Foo(void) { + return "CBase::Foo"; + } +}; + +class CDerived : public CBase {}; + +%} diff --git a/SWIG/Examples/test-suite/perl5/inherit_runme.pl b/SWIG/Examples/test-suite/perl5/inherit_runme.pl new file mode 100644 index 000000000..d9435aa92 --- /dev/null +++ b/SWIG/Examples/test-suite/perl5/inherit_runme.pl @@ -0,0 +1,9 @@ +use inherit; + +$der = new inherit::CDerived(); +$str = $der->Foo(); + +if ($str != "CBase::Foo") { + die "test failed"; +} +