test_access_specifiers.py 963 B

12345678910111213141516171819202122232425262728293031323334
  1. from clang.cindex import AccessSpecifier
  2. from clang.cindex import Cursor
  3. from clang.cindex import TranslationUnit
  4. from .util import get_cursor
  5. from .util import get_tu
  6. def test_access_specifiers():
  7. """Ensure that C++ access specifiers are available on cursors"""
  8. tu = get_tu("""
  9. class test_class {
  10. public:
  11. void public_member_function();
  12. protected:
  13. void protected_member_function();
  14. private:
  15. void private_member_function();
  16. };
  17. """, lang = 'cpp')
  18. test_class = get_cursor(tu, "test_class")
  19. assert test_class.access_specifier == AccessSpecifier.INVALID;
  20. public = get_cursor(tu.cursor, "public_member_function")
  21. assert public.access_specifier == AccessSpecifier.PUBLIC
  22. protected = get_cursor(tu.cursor, "protected_member_function")
  23. assert protected.access_specifier == AccessSpecifier.PROTECTED
  24. private = get_cursor(tu.cursor, "private_member_function")
  25. assert private.access_specifier == AccessSpecifier.PRIVATE