diff options
Diffstat (limited to 'tests/GenerateSipBindings')
-rw-r--r-- | tests/GenerateSipBindings/cpplib.h | 10 | ||||
-rw-r--r-- | tests/GenerateSipBindings/testscript.py | 9 |
2 files changed, 19 insertions, 0 deletions
diff --git a/tests/GenerateSipBindings/cpplib.h b/tests/GenerateSipBindings/cpplib.h index a91b5486..b3ea22a8 100644 --- a/tests/GenerateSipBindings/cpplib.h +++ b/tests/GenerateSipBindings/cpplib.h @@ -203,3 +203,13 @@ enum __attribute__((visibility("default"))) EnumWithAttributes { Foo, Bar = 2 }; + +#define EXPORT __attribute__((visibility("default"))) +#define NO_EXPORT __attribute__((visibility("hidden"))) + +class EXPORT Visible +{ +public: + EXPORT int visible_fn() { return 1; } + NO_EXPORT int invisible_fn() { return 1; } +}; diff --git a/tests/GenerateSipBindings/testscript.py b/tests/GenerateSipBindings/testscript.py index e79706bc..98443d53 100644 --- a/tests/GenerateSipBindings/testscript.py +++ b/tests/GenerateSipBindings/testscript.py @@ -121,3 +121,12 @@ assert(PyTest.CppLib.anotherCustomMethod([2, 3, 5]) == 52) sdo = PyTest.CppLib.SubdirObject() assert(sdo.mul(5, 6) == 30) + +visible = PyTest.CppLib.Visible() +assert visible.visible_fn() + +try: + assert visible.invisible_fn() + assert False +except AttributeError as e: + assert str(e) == "'Visible' object has no attribute 'invisible_fn'" |