58 lines · python
1import os2 3from clang.cindex import Config, TranslationUnit4 5if "CLANG_LIBRARY_PATH" in os.environ:6 Config.set_library_path(os.environ["CLANG_LIBRARY_PATH"])7 8import unittest9 10from .util import get_cursor11 12 13class TestComment(unittest.TestCase):14 def test_comment(self):15 files = [16 (17 "fake.c",18 """19/// Aaa.20int test1;21 22/// Bbb.23/// x24void test2(void);25 26void f() {27 28}29""",30 )31 ]32 # make a comment-aware TU33 tu = TranslationUnit.from_source(34 "fake.c",35 ["-std=c99"],36 unsaved_files=files,37 options=TranslationUnit.PARSE_INCLUDE_BRIEF_COMMENTS_IN_CODE_COMPLETION,38 )39 test1 = get_cursor(tu, "test1")40 self.assertIsNotNone(test1, "Could not find test1.")41 self.assertTrue(test1.type.is_pod())42 raw = test1.raw_comment43 brief = test1.brief_comment44 self.assertEqual(raw, """/// Aaa.""")45 self.assertEqual(brief, """Aaa.""")46 47 test2 = get_cursor(tu, "test2")48 raw = test2.raw_comment49 brief = test2.brief_comment50 self.assertEqual(raw, """/// Bbb.\n/// x""")51 self.assertEqual(brief, """Bbb. x""")52 53 f = get_cursor(tu, "f")54 raw = f.raw_comment55 brief = f.brief_comment56 self.assertEqual(raw, "")57 self.assertEqual(brief, "")58