]> granicus.if.org Git - clang/commitdiff
[libclang] Add some tests by Loïc Jaquemet that I forgot to add earlier.
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Mon, 7 Oct 2013 16:38:40 +0000 (16:38 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Mon, 7 Oct 2013 16:38:40 +0000 (16:38 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192108 91177308-0d34-0410-b5e6-96231b3b80d8

bindings/python/tests/cindex/test_comment.py [new file with mode: 0644]
test/Index/attributes.c [new file with mode: 0644]

diff --git a/bindings/python/tests/cindex/test_comment.py b/bindings/python/tests/cindex/test_comment.py
new file mode 100644 (file)
index 0000000..d8f3129
--- /dev/null
@@ -0,0 +1,40 @@
+from clang.cindex import TranslationUnit
+from tests.cindex.util import get_cursor
+
+def test_comment():
+    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')
+    assert test1 is not None, "Could not find test1."
+    assert test1.type.is_pod()
+    raw = test1.raw_comment
+    brief = test1.brief_comment
+    assert raw == """/// Aaa."""
+    assert brief == """Aaa."""
+    
+    test2 = get_cursor(tu, 'test2')
+    raw = test2.raw_comment
+    brief = test2.brief_comment
+    assert raw == """/// Bbb.\n/// x"""
+    assert brief == """Bbb. x"""
+    
+    f = get_cursor(tu, 'f')
+    raw = f.raw_comment
+    brief = f.brief_comment
+    assert raw is None
+    assert brief is None
+
+
diff --git a/test/Index/attributes.c b/test/Index/attributes.c
new file mode 100644 (file)
index 0000000..3e60e6c
--- /dev/null
@@ -0,0 +1,10 @@
+// RUN: c-index-test -test-load-source all %s | FileCheck %s
+
+struct __attribute__((packed)) Test2 {
+  char a;
+};
+
+// CHECK: attributes.c:3:32: StructDecl=Test2:3:32 (Definition) Extent=[3:1 - 5:2]
+// CHECK: attributes.c:3:23: attribute(packed)=packed Extent=[3:23 - 3:29]
+// CHECK: attributes.c:4:8: FieldDecl=a:4:8 (Definition) Extent=[4:3 - 4:9] [access=public]
+