add director profile test

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7853 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2005-11-21 20:28:18 +00:00
commit d18d84cd3b
2 changed files with 95 additions and 0 deletions

View file

@ -0,0 +1,54 @@
%module(directors="1") director_profile
%feature("director") B;
%inline %{
class A {
public:
A() {}
};
class B
{
A aa;
public:
B() {}
virtual A fn(const A* a) {
return *a;
}
virtual int vfi(int a) {
return a + 1;
}
int fi(int a) {
return vfi(a);
}
int fj(const A* a) {
return 10;
}
B* fk(int i) {
return this;
}
const char* fl(int i) {
return "hello";
}
virtual ~B()
{
}
static B* get_self(B *b)
{
return b;
}
};
%}

View file

@ -0,0 +1,41 @@
import director_profile
class MyB(director_profile.B):
def vfi(self, a):
return a+3
a = director_profile.A()
myb = MyB()
b = director_profile.B.get_self(myb)
fi = b.fi
i = 50000
a = 1
while i:
a = fi(a) #1
a = fi(a) #2
a = fi(a) #3
a = fi(a) #4
a = fi(a) #5
a = fi(a) #6
a = fi(a) #7
a = fi(a) #8
a = fi(a) #9
a = fi(a) #10
a = fi(a) #1
a = fi(a) #2
a = fi(a) #3
a = fi(a) #4
a = fi(a) #5
a = fi(a) #6
a = fi(a) #7
a = fi(a) #8
a = fi(a) #9
a = fi(a) #20
i -= 1
print a