Fariborz Jahanian | 41170b5 | 2013-01-25 22:48:32 +0000 | [diff] [blame] | 1 | // RUN: rm -rf %t |
| 2 | // RUN: mkdir %t |
| 3 | // RUN: c-index-test -test-load-source all -comments-xml-schema=%S/../../bindings/xml/comment-xml-schema.rng %s > %t/out |
| 4 | // RUN: FileCheck %s < %t/out |
| 5 | // rdar://13067629 |
| 6 | |
| 7 | // Ensure that XML we generate is not invalid. |
| 8 | // RUN: FileCheck %s -check-prefix=WRONG < %t/out |
| 9 | // WRONG-NOT: CommentXMLInvalid |
| 10 | |
| 11 | /** Documentation for NSUInteger */ |
| 12 | typedef unsigned int NSUInteger; |
| 13 | |
| 14 | /** Documentation for MyEnum */ |
| 15 | typedef enum : NSUInteger { |
| 16 | MyEnumFoo, /**< value Foo */ |
| 17 | MyEnumBar, /**< value Bar */ |
| 18 | MyEnumBaz, /**< value Baz */ |
| 19 | } MyEnum; |
NAKAMURA Takumi | b2274d6 | 2013-01-25 23:56:54 +0000 | [diff] [blame] | 20 | // CHECK: TypedefDecl=MyEnum:[[@LINE-1]]:3 (Definition) FullCommentAsHTML=[<p class="para-brief"> Documentation for MyEnum </p>] FullCommentAsXML=[<Typedef file="{{[^"]+}}annotate-comments-typedef.m" line="[[@LINE-1]]" column="3"><Name><anonymous></Name><USR>c:@EA@MyEnum</USR><Declaration>typedef enum MyEnum MyEnum</Declaration><Abstract><Para> Documentation for MyEnum </Para></Abstract></Typedef>] |
Fariborz Jahanian | 41170b5 | 2013-01-25 22:48:32 +0000 | [diff] [blame] | 21 | |
| 22 | |
| 23 | /** Documentation for E */ |
| 24 | enum E { |
Fariborz Jahanian | a9cd3d8 | 2013-01-26 01:35:28 +0000 | [diff] [blame] | 25 | E_MyEnumFoo, /**< value Foo */ |
| 26 | E_MyEnumBar, /**< value Bar */ |
| 27 | E_MyEnumBaz, /**< value Baz */ |
Fariborz Jahanian | 41170b5 | 2013-01-25 22:48:32 +0000 | [diff] [blame] | 28 | }; |
| 29 | typedef enum E E_T; |
Dmitri Gribenko | c37b183 | 2013-01-27 22:11:38 +0000 | [diff] [blame] | 30 | // CHECK: EnumDecl=E:[[@LINE-6]]:6 (Definition) {{.*}} BriefComment=[Documentation for E] FullCommentAsHTML=[<p class="para-brief"> Documentation for E </p>] FullCommentAsXML=[<Enum file="{{[^"]+}}annotate-comments-typedef.m" line="[[@LINE-6]]" column="6"><Name>E</Name><USR>c:@E@E</USR><Declaration>enum E{{( : int)?}} {}</Declaration><Abstract><Para> Documentation for E </Para></Abstract></Enum>] |
Dmitri Gribenko | d1e5c0d | 2013-01-27 21:18:39 +0000 | [diff] [blame] | 31 | // CHECK: TypedefDecl=E_T:[[@LINE-2]]:16 (Definition) FullCommentAsHTML=[<p class="para-brief"> Documentation for E </p>] FullCommentAsXML=[<Typedef file="{{[^"]+}}annotate-comments-typedef.m" line="[[@LINE-2]]" column="16"><Name>E</Name><USR>c:@E@E</USR><Declaration>typedef enum E E_T</Declaration><Abstract><Para> Documentation for E </Para></Abstract></Typedef>] |
| 32 | |
| 33 | |
| 34 | /** Comment about Foo */ |
| 35 | typedef struct { |
| 36 | int iii; |
| 37 | } Foo; |
| 38 | // CHECK: TypedefDecl=Foo:[[@LINE-1]]:11 (Definition) FullCommentAsHTML=[<p class="para-brief"> Comment about Foo </p>] FullCommentAsXML=[<Typedef file="{{[^"]+}}annotate-comments-typedef.m" line="[[@LINE-1]]" column="11"><Name><anonymous></Name><USR>c:@SA@Foo</USR><Declaration>typedef struct Foo Foo</Declaration><Abstract><Para> Comment about Foo </Para></Abstract></Typedef>] |
| 39 | // CHECK: StructDecl=:[[@LINE-4]]:9 (Definition) {{.*}} BriefComment=[Comment about Foo] FullCommentAsHTML=[<p class="para-brief"> Comment about Foo </p>] FullCommentAsXML=[<Class file="{{[^"]+}}annotate-comments-typedef.m" line="[[@LINE-4]]" column="9"><Name><anonymous></Name><USR>c:@SA@Foo</USR><Declaration>struct {}</Declaration><Abstract><Para> Comment about Foo </Para></Abstract></Class>] |
| 40 | |
| 41 | |
| 42 | struct Foo1 { |
| 43 | int iii; |
| 44 | }; |
| 45 | /** About Foo1T */ |
| 46 | typedef struct Foo1 Foo1T; |
| 47 | // FIXME: we don't attach this comment to 'struct Foo1' |
Stephen Hines | 651f13c | 2014-04-23 16:59:28 -0700 | [diff] [blame] | 48 | // CHECK: TypedefDecl=Foo1T:[[@LINE-2]]:21 (Definition) {{.*}} FullCommentAsHTML=[<p class="para-brief"> About Foo1T </p>] FullCommentAsXML=[<Typedef file="{{[^"]+}}annotate-comments-typedef.m" line="[[@LINE-2]]" column="21"><Name>Foo1T</Name><USR>c:annotate-comments-typedef.m@T@Foo1T</USR><Declaration>typedef struct Foo1 Foo1T</Declaration><Abstract><Para> About Foo1T </Para></Abstract></Typedef>] |
Dmitri Gribenko | d1e5c0d | 2013-01-27 21:18:39 +0000 | [diff] [blame] | 49 | |