| |
| from clang.cindex import AccessSpecifier |
| from clang.cindex import Cursor |
| from clang.cindex import TranslationUnit |
| |
| from .util import get_cursor |
| from .util import get_tu |
| |
| def test_access_specifiers(): |
| """Ensure that C++ access specifiers are available on cursors""" |
| |
| tu = get_tu(""" |
| class test_class { |
| public: |
| void public_member_function(); |
| protected: |
| void protected_member_function(); |
| private: |
| void private_member_function(); |
| }; |
| """, lang = 'cpp') |
| |
| test_class = get_cursor(tu, "test_class") |
| assert test_class.access_specifier == AccessSpecifier.INVALID; |
| |
| public = get_cursor(tu.cursor, "public_member_function") |
| assert public.access_specifier == AccessSpecifier.PUBLIC |
| |
| protected = get_cursor(tu.cursor, "protected_member_function") |
| assert protected.access_specifier == AccessSpecifier.PROTECTED |
| |
| private = get_cursor(tu.cursor, "private_member_function") |
| assert private.access_specifier == AccessSpecifier.PRIVATE |
| |