1from clang.cindex import TranslationUnit 2from tests.cindex.util import get_cursor 3 4import unittest 5 6 7class TestComment(unittest.TestCase): 8 def test_comment(self): 9 files = [('fake.c', """ 10/// Aaa. 11int test1; 12 13/// Bbb. 14/// x 15void test2(void); 16 17void f() { 18 19} 20""")] 21 # make a comment-aware TU 22 tu = TranslationUnit.from_source('fake.c', ['-std=c99'], unsaved_files=files, 23 options=TranslationUnit.PARSE_INCLUDE_BRIEF_COMMENTS_IN_CODE_COMPLETION) 24 test1 = get_cursor(tu, 'test1') 25 self.assertIsNotNone(test1, "Could not find test1.") 26 self.assertTrue(test1.type.is_pod()) 27 raw = test1.raw_comment 28 brief = test1.brief_comment 29 self.assertEqual(raw, """/// Aaa.""") 30 self.assertEqual(brief, """Aaa.""") 31 32 test2 = get_cursor(tu, 'test2') 33 raw = test2.raw_comment 34 brief = test2.brief_comment 35 self.assertEqual(raw, """/// Bbb.\n/// x""") 36 self.assertEqual(brief, """Bbb. x""") 37 38 f = get_cursor(tu, 'f') 39 raw = f.raw_comment 40 brief = f.brief_comment 41 self.assertIsNone(raw) 42 self.assertIsNone(brief) 43