add test case using 'super'
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6864 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
e73a098774
commit
eef4efb2eb
3 changed files with 64 additions and 0 deletions
|
|
@ -109,6 +109,7 @@ CPP_TEST_CASES += \
|
|||
destructor_reprotected \
|
||||
director_abstract \
|
||||
director_basic \
|
||||
director_constructor \
|
||||
director_detect \
|
||||
director_default \
|
||||
director_enum \
|
||||
|
|
|
|||
37
SWIG/Examples/test-suite/director_constructor.i
Normal file
37
SWIG/Examples/test-suite/director_constructor.i
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
%module(directors="1") director_constructor
|
||||
|
||||
%feature("director") Foo;
|
||||
|
||||
%inline %{
|
||||
class Foo
|
||||
{
|
||||
public:
|
||||
int a;
|
||||
|
||||
Foo(int i)
|
||||
{
|
||||
a=i;
|
||||
}
|
||||
|
||||
virtual ~Foo() { }
|
||||
|
||||
int do_test() {
|
||||
return test();
|
||||
}
|
||||
|
||||
virtual int getit()
|
||||
{
|
||||
return a;
|
||||
}
|
||||
|
||||
virtual void doubleit()
|
||||
{
|
||||
a = a * 2;
|
||||
}
|
||||
|
||||
virtual int test() = 0;
|
||||
};
|
||||
%}
|
||||
|
||||
|
||||
|
||||
26
SWIG/Examples/test-suite/ruby/director_constructor_runme.rb
Normal file
26
SWIG/Examples/test-suite/ruby/director_constructor_runme.rb
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
require 'director_constructor'
|
||||
|
||||
include Director_constructor
|
||||
|
||||
class Test < Foo
|
||||
def initialize(i)
|
||||
super(i)
|
||||
end
|
||||
|
||||
def doubleit()
|
||||
self.a = (self.a * 2)
|
||||
end
|
||||
|
||||
def test
|
||||
3
|
||||
end
|
||||
end
|
||||
|
||||
a = Test.new(5) #dies here
|
||||
|
||||
raise RuntimeError if a.getit != 5
|
||||
raise RuntimeError if a.do_test != 3
|
||||
|
||||
a.doubleit
|
||||
raise RuntimeError if a.getit != 10
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue