| 1 | // RUN: rm -rf %t && mkdir -p %t |
| 2 | // RUN: echo "" > %t/compile_flags.txt |
| 3 | // RUN: cp "%s" "%t/test.cpp" |
| 4 | // RUN: clang-doc --doxygen --public --executor=standalone -p %t %t/test.cpp -output=%t/docs |
| 5 | // This produces two files, index.yaml and one for the record named by its USR |
| 6 | // (which we don't know in advance). This checks the record file by searching |
| 7 | // for a name with a 40-char USR name. |
| 8 | // RUN: find %t/docs -regex ".*/[0-9A-F]*.yaml" -exec cat {} ";" | FileCheck %s --check-prefix=CHECK |
| 9 | |
| 10 | class Record { |
| 11 | private: |
| 12 | void function_private(); |
| 13 | |
| 14 | public: |
| 15 | void function_public(); |
| 16 | }; |
| 17 | |
| 18 | void Record::function_private() {} |
| 19 | |
| 20 | void Record::function_public() {} |
| 21 | |
| 22 | // CHECK: --- |
| 23 | // CHECK-NEXT: USR: '{{([0-9A-F]{40})}}' |
| 24 | // CHECK-NEXT: Name: 'Record' |
| 25 | // CHECK-NEXT: Path: 'GlobalNamespace' |
| 26 | // CHECK-NEXT: Namespace: |
| 27 | // CHECK-NEXT: - Type: Namespace |
| 28 | // CHECK-NEXT: Name: 'GlobalNamespace' |
| 29 | // CHECK-NEXT: QualName: 'GlobalNamespace' |
| 30 | // CHECK-NEXT: DefLocation: |
| 31 | // CHECK-NEXT: LineNumber: 10 |
| 32 | // CHECK-NEXT: Filename: '{{.*}}' |
| 33 | // CHECK-NEXT: TagType: Class |
| 34 | // CHECK-NEXT: ChildFunctions: |
| 35 | // CHECK-NEXT: - USR: '{{([0-9A-F]{40})}}' |
| 36 | // CHECK-NEXT: Name: 'function_public' |
| 37 | // CHECK-NEXT: Namespace: |
| 38 | // CHECK-NEXT: - Type: Record |
| 39 | // CHECK-NEXT: Name: 'Record' |
| 40 | // CHECK-NEXT: QualName: 'Record' |
| 41 | // CHECK-NEXT: USR: '{{([0-9A-F]{40})}}' |
| 42 | // CHECK-NEXT: - Type: Namespace |
| 43 | // CHECK-NEXT: Name: 'GlobalNamespace' |
| 44 | // CHECK-NEXT: QualName: 'GlobalNamespace' |
| 45 | // CHECK-NEXT: DefLocation: |
| 46 | // CHECK-NEXT: LineNumber: 20 |
| 47 | // CHECK-NEXT: Filename: '{{.*}}' |
| 48 | // CHECK-NEXT: Location: |
| 49 | // CHECK-NEXT: - LineNumber: 15 |
| 50 | // CHECK-NEXT: Filename: '{{.*}}' |
| 51 | // CHECK-NEXT: IsMethod: true |
| 52 | // CHECK-NEXT: Parent: |
| 53 | // CHECK-NEXT: Type: Record |
| 54 | // CHECK-NEXT: Name: 'Record' |
| 55 | // CHECK-NEXT: QualName: 'Record' |
| 56 | // CHECK-NEXT: USR: '{{([0-9A-F]{40})}}' |
| 57 | // CHECK-NEXT: ReturnType: |
| 58 | // CHECK-NEXT: Type: |
| 59 | // CHECK-NEXT: Name: 'void' |
| 60 | // CHECK-NEXT: QualName: 'void' |
| 61 | // CHECK-NEXT: Access: Public |
| 62 | // CHECK-NEXT: ... |
| 63 | |