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 \
|
destructor_reprotected \
|
||||||
director_abstract \
|
director_abstract \
|
||||||
director_basic \
|
director_basic \
|
||||||
|
director_constructor \
|
||||||
director_detect \
|
director_detect \
|
||||||
director_default \
|
director_default \
|
||||||
director_enum \
|
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