summaryrefslogtreecommitdiffstats
path: root/bindings/python/tests/cindex/test_access_specifiers.py
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/python/tests/cindex/test_access_specifiers.py')
-rw-r--r--bindings/python/tests/cindex/test_access_specifiers.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/bindings/python/tests/cindex/test_access_specifiers.py b/bindings/python/tests/cindex/test_access_specifiers.py
new file mode 100644
index 0000000000..cfa04dc865
--- /dev/null
+++ b/bindings/python/tests/cindex/test_access_specifiers.py
@@ -0,0 +1,34 @@
+
+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
+