| Michal Gorny | c37d161 | 2018-10-11 11:58:07 +0000 | [diff] [blame] | 1 | import os | 
|  | 2 | from clang.cindex import Config | 
|  | 3 | if 'CLANG_LIBRARY_PATH' in os.environ: | 
|  | 4 | Config.set_library_path(os.environ['CLANG_LIBRARY_PATH']) | 
|  | 5 |  | 
| Argyrios Kyrtzidis | fe04fe0 | 2013-10-07 16:38:40 +0000 | [diff] [blame] | 6 | from clang.cindex import TranslationUnit | 
|  | 7 | from tests.cindex.util import get_cursor | 
|  | 8 |  | 
| Michal Gorny | 084e43b | 2017-11-10 16:44:12 +0000 | [diff] [blame] | 9 | import unittest | 
|  | 10 |  | 
|  | 11 |  | 
|  | 12 | class TestComment(unittest.TestCase): | 
|  | 13 | def test_comment(self): | 
|  | 14 | files = [('fake.c', """ | 
| Argyrios Kyrtzidis | fe04fe0 | 2013-10-07 16:38:40 +0000 | [diff] [blame] | 15 | /// Aaa. | 
|  | 16 | int test1; | 
|  | 17 |  | 
|  | 18 | /// Bbb. | 
|  | 19 | /// x | 
|  | 20 | void test2(void); | 
|  | 21 |  | 
|  | 22 | void f() { | 
|  | 23 |  | 
|  | 24 | } | 
|  | 25 | """)] | 
| Michal Gorny | 084e43b | 2017-11-10 16:44:12 +0000 | [diff] [blame] | 26 | # 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 Kyrtzidis | fe04fe0 | 2013-10-07 16:38:40 +0000 | [diff] [blame] | 36 |  | 
| Michal Gorny | 084e43b | 2017-11-10 16:44:12 +0000 | [diff] [blame] | 37 | 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 Kyrtzidis | fe04fe0 | 2013-10-07 16:38:40 +0000 | [diff] [blame] | 42 |  | 
| Michal Gorny | 084e43b | 2017-11-10 16:44:12 +0000 | [diff] [blame] | 43 | f = get_cursor(tu, 'f') | 
|  | 44 | raw = f.raw_comment | 
|  | 45 | brief = f.brief_comment | 
|  | 46 | self.assertIsNone(raw) | 
|  | 47 | self.assertIsNone(brief) |