Added test case just to check a few things with protected/private virtual methods
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5515 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
86ee04e48d
commit
f92e4b1c6c
3 changed files with 36 additions and 0 deletions
29
SWIG/Examples/test-suite/abstract_access.i
Normal file
29
SWIG/Examples/test-suite/abstract_access.i
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
%module abstract_access
|
||||
|
||||
%inline %{
|
||||
class A {
|
||||
private:
|
||||
virtual int x() = 0;
|
||||
protected:
|
||||
virtual int y() = 0;
|
||||
public:
|
||||
virtual int z() = 0;
|
||||
int do_x() { return x(); }
|
||||
};
|
||||
|
||||
class B : public A {
|
||||
private:
|
||||
virtual int x() { return y(); }
|
||||
};
|
||||
|
||||
class C : public B {
|
||||
protected:
|
||||
virtual int y() { return z(); }
|
||||
};
|
||||
|
||||
class D : public C {
|
||||
private:
|
||||
virtual int z() { return 1; }
|
||||
};
|
||||
|
||||
%}
|
||||
|
|
@ -61,6 +61,7 @@ C_TEST_BROKEN +=
|
|||
|
||||
# C++ test cases. (Can be run individually using make testcase.cpptest.)
|
||||
CPP_TEST_CASES += \
|
||||
abstract_access \
|
||||
abstract_inherit \
|
||||
abstract_inherit_ok \
|
||||
abstract_signature \
|
||||
|
|
|
|||
6
SWIG/Examples/test-suite/python/abstract_access_runme.py
Normal file
6
SWIG/Examples/test-suite/python/abstract_access_runme.py
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
import abstract_access
|
||||
|
||||
d = abstract_access.D()
|
||||
if d.do_x() != 1:
|
||||
raise RuntimeError
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue