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