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)