add smart_pointer +members test

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6809 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2004-12-01 01:06:04 +00:00
commit 8e382e6249
3 changed files with 56 additions and 0 deletions

View file

@ -189,6 +189,7 @@ CPP_TEST_CASES += \
sizet \
smart_pointer_const \
smart_pointer_const2 \
smart_pointer_member \
smart_pointer_multi \
smart_pointer_multi_typedef \
smart_pointer_namespace \

View file

@ -0,0 +1,19 @@
from smart_pointer_member import *
f = Foo()
f.y = 1
if f.y != 1:
raise RuntimeError
b = Bar(f)
b.y = 2
if f.y != 2:
raise RuntimeError
if b.x != f.x:
raise RuntimeError
if b.z != f.z:
raise RuntimeError

View file

@ -0,0 +1,36 @@
%module smart_pointer_member
%inline %{
class Foo {
public:
int x[4];
int y;
static const int z;
};
class Bar {
Foo *f;
public:
Bar(Foo *f) : f(f) { }
Foo *operator->() {
return f;
}
};
int get_y(Bar *b)
{
return (*b)->y;
}
int get_z(Bar *b)
{
return (*b)->z;
}
%}
%{
const int Foo::z = 3;
%}