import os from clang.cindex import Config if 'CLANG_LIBRARY_PATH' in os.environ: Config.set_library_path(os.environ['CLANG_LIBRARY_PATH']) from clang.cindex import TranslationUnit from tests.cindex.util import get_cursor import unittest class TestComment(unittest.TestCase): def test_comment(self): files = [('fake.c', """ /// Aaa. int test1; /// Bbb. /// x void test2(void); void f() { } """)] # make a comment-aware TU tu = TranslationUnit.from_source('fake.c', ['-std=c99'], unsaved_files=files, options=TranslationUnit.PARSE_INCLUDE_BRIEF_COMMENTS_IN_CODE_COMPLETION) test1 = get_cursor(tu, 'test1') self.assertIsNotNone(test1, "Could not find test1.") self.assertTrue(test1.type.is_pod()) raw = test1.raw_comment brief = test1.brief_comment self.assertEqual(raw, """/// Aaa.""") self.assertEqual(brief, """Aaa.""") test2 = get_cursor(tu, 'test2') raw = test2.raw_comment brief = test2.brief_comment self.assertEqual(raw, """/// Bbb.\n/// x""") self.assertEqual(brief, """Bbb. x""") f = get_cursor(tu, 'f') raw = f.raw_comment brief = f.brief_comment self.assertIsNone(raw) self.assertIsNone(brief)