xref: /llvm-project/clang-tools-extra/test/clang-doc/single-file-public.cpp (revision 4a68babd9973f043fd3e40f159fbb990880606a6)
1229c63b0SJulie Hockett // RUN: rm -rf %t
2229c63b0SJulie Hockett // RUN: mkdir %t
3229c63b0SJulie Hockett // RUN: echo "" > %t/compile_flags.txt
4229c63b0SJulie Hockett // RUN: cp "%s" "%t/test.cpp"
59e22b4c7SJulie Hockett // RUN: clang-doc --doxygen --public --executor=standalone -p %t %t/test.cpp -output=%t/docs
67b8c7e02SBrett Wilson //   This produces two files, index.yaml and one for the record named by its USR
77b8c7e02SBrett Wilson //   (which we don't know in advance). This checks the record file by searching
87b8c7e02SBrett Wilson //   for a name with a 40-char USR name.
97b8c7e02SBrett Wilson // RUN: find %t/docs -regex ".*/[0-9A-F]*.yaml" -exec cat {} ";" | FileCheck %s --check-prefix=CHECK
10229c63b0SJulie Hockett // RUN: rm -rf %t
11229c63b0SJulie Hockett 
12229c63b0SJulie Hockett class Record {
13229c63b0SJulie Hockett private:
14229c63b0SJulie Hockett 	void function_private();
15229c63b0SJulie Hockett 
16229c63b0SJulie Hockett public:
17229c63b0SJulie Hockett 	void function_public();
18229c63b0SJulie Hockett };
19229c63b0SJulie Hockett 
function_private()20229c63b0SJulie Hockett void Record::function_private() {}
21229c63b0SJulie Hockett 
function_public()22229c63b0SJulie Hockett void Record::function_public() {}
23229c63b0SJulie Hockett 
24229c63b0SJulie Hockett // CHECK: ---
257b8c7e02SBrett Wilson // CHECK-NEXT: USR:             '{{([0-9A-F]{40})}}'
26229c63b0SJulie Hockett // CHECK-NEXT: Name:            'Record'
27b46131e5SDiego Astiazaran // CHECK-NEXT: Path:            'GlobalNamespace'
28b46131e5SDiego Astiazaran // CHECK-NEXT: Namespace:
29b46131e5SDiego Astiazaran // CHECK-NEXT:   - Type:             Namespace
30b46131e5SDiego Astiazaran // CHECK-NEXT:     Name:             'GlobalNamespace'
31*4a68babdSBrett Wilson // CHECK-NEXT:     QualName:         'GlobalNamespace'
32229c63b0SJulie Hockett // CHECK-NEXT: DefLocation:
33*4a68babdSBrett Wilson // CHECK-NEXT:   LineNumber:      12
34229c63b0SJulie Hockett // CHECK-NEXT:   Filename:        '{{.*}}'
35229c63b0SJulie Hockett // CHECK-NEXT: TagType:         Class
36229c63b0SJulie Hockett // CHECK-NEXT: ChildFunctions:
377b8c7e02SBrett Wilson // CHECK-NEXT:   - USR:             '{{([0-9A-F]{40})}}'
38229c63b0SJulie Hockett // CHECK-NEXT:     Name:            'function_public'
39229c63b0SJulie Hockett // CHECK-NEXT:     Namespace:
40229c63b0SJulie Hockett // CHECK-NEXT:       - Type:            Record
41229c63b0SJulie Hockett // CHECK-NEXT:         Name:            'Record'
42*4a68babdSBrett Wilson // CHECK-NEXT:         QualName:        'Record'
437b8c7e02SBrett Wilson // CHECK-NEXT:         USR:             '{{([0-9A-F]{40})}}'
44b46131e5SDiego Astiazaran // CHECK-NEXT:       - Type:            Namespace
45b46131e5SDiego Astiazaran // CHECK-NEXT:         Name:            'GlobalNamespace'
46*4a68babdSBrett Wilson // CHECK-NEXT:         QualName:        'GlobalNamespace'
47229c63b0SJulie Hockett // CHECK-NEXT:     DefLocation:
48*4a68babdSBrett Wilson // CHECK-NEXT:         LineNumber:      22
49229c63b0SJulie Hockett // CHECK-NEXT:         Filename:        '{{.*}}'
50229c63b0SJulie Hockett // CHECK-NEXT:     Location:
51*4a68babdSBrett Wilson // CHECK-NEXT:       - LineNumber:      17
52229c63b0SJulie Hockett // CHECK-NEXT:         Filename:        '{{.*}}'
53229c63b0SJulie Hockett // CHECK-NEXT:     IsMethod:        true
54229c63b0SJulie Hockett // CHECK-NEXT:     Parent:
55229c63b0SJulie Hockett // CHECK-NEXT:         Type:            Record
56229c63b0SJulie Hockett // CHECK-NEXT:         Name:            'Record'
57*4a68babdSBrett Wilson // CHECK-NEXT:         QualName:        'Record'
587b8c7e02SBrett Wilson // CHECK-NEXT:         USR:             '{{([0-9A-F]{40})}}'
59229c63b0SJulie Hockett // CHECK-NEXT:     ReturnType:
60229c63b0SJulie Hockett // CHECK-NEXT:       Type:
61229c63b0SJulie Hockett // CHECK-NEXT:         Name:            'void'
62*4a68babdSBrett Wilson // CHECK-NEXT:         QualName:        'void'
636a29ae4bSDiego Astiazaran // CHECK-NEXT:     Access:			Public
64229c63b0SJulie Hockett // CHECK-NEXT: ...
65