blob: 73fb617ae1681f1ae3352191b36619ef61afc39a [file] [log] [blame]
Michal Gornyc37d1612018-10-11 11:58:07 +00001import os
2from clang.cindex import Config
3if 'CLANG_LIBRARY_PATH' in os.environ:
4 Config.set_library_path(os.environ['CLANG_LIBRARY_PATH'])
5
Argyrios Kyrtzidisfe04fe02013-10-07 16:38:40 +00006from clang.cindex import TranslationUnit
7from tests.cindex.util import get_cursor
8
Michal Gorny084e43b2017-11-10 16:44:12 +00009import unittest
10
11
12class TestComment(unittest.TestCase):
13 def test_comment(self):
14 files = [('fake.c', """
Argyrios Kyrtzidisfe04fe02013-10-07 16:38:40 +000015/// Aaa.
16int test1;
17
18/// Bbb.
19/// x
20void test2(void);
21
22void f() {
23
24}
25""")]
Michal Gorny084e43b2017-11-10 16:44:12 +000026 # make a comment-aware TU
27 tu = TranslationUnit.from_source('fake.c', ['-std=c99'], unsaved_files=files,
28 options=TranslationUnit.PARSE_INCLUDE_BRIEF_COMMENTS_IN_CODE_COMPLETION)
29 test1 = get_cursor(tu, 'test1')
30 self.assertIsNotNone(test1, "Could not find test1.")
31 self.assertTrue(test1.type.is_pod())
32 raw = test1.raw_comment
33 brief = test1.brief_comment
34 self.assertEqual(raw, """/// Aaa.""")
35 self.assertEqual(brief, """Aaa.""")
Argyrios Kyrtzidisfe04fe02013-10-07 16:38:40 +000036
Michal Gorny084e43b2017-11-10 16:44:12 +000037 test2 = get_cursor(tu, 'test2')
38 raw = test2.raw_comment
39 brief = test2.brief_comment
40 self.assertEqual(raw, """/// Bbb.\n/// x""")
41 self.assertEqual(brief, """Bbb. x""")
Argyrios Kyrtzidisfe04fe02013-10-07 16:38:40 +000042
Michal Gorny084e43b2017-11-10 16:44:12 +000043 f = get_cursor(tu, 'f')
44 raw = f.raw_comment
45 brief = f.brief_comment
46 self.assertIsNone(raw)
47 self.assertIsNone(brief)