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 // RUN: cat %t/docs/GlobalNamespace/Record.yaml | FileCheck %s --check-prefix=CHECK
7 // RUN: rm -rf %t
8 
9 class Record {
10 private:
11 	void function_private();
12 
13 public:
14 	void function_public();
15 };
16 
function_private()17 void Record::function_private() {}
18 
function_public()19 void Record::function_public() {}
20 
21 // CHECK: ---
22 // CHECK-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
23 // CHECK-NEXT: Name:            'Record'
24 // CHECK-NEXT: Path:            'GlobalNamespace'
25 // CHECK-NEXT: Namespace:
26 // CHECK-NEXT:   - Type:             Namespace
27 // CHECK-NEXT:     Name:             'GlobalNamespace'
28 // CHECK-NEXT: DefLocation:
29 // CHECK-NEXT:   LineNumber:      [[@LINE-20]]
30 // CHECK-NEXT:   Filename:        '{{.*}}'
31 // CHECK-NEXT: TagType:         Class
32 // CHECK-NEXT: ChildFunctions:
33 // CHECK-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
34 // CHECK-NEXT:     Name:            'function_public'
35 // CHECK-NEXT:     Namespace:
36 // CHECK-NEXT:       - Type:            Record
37 // CHECK-NEXT:         Name:            'Record'
38 // CHECK-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
39 // CHECK-NEXT:       - Type:            Namespace
40 // CHECK-NEXT:         Name:            'GlobalNamespace'
41 // CHECK-NEXT:     DefLocation:
42 // CHECK-NEXT:         LineNumber:      [[@LINE-23]]
43 // CHECK-NEXT:         Filename:        '{{.*}}'
44 // CHECK-NEXT:     Location:
45 // CHECK-NEXT:       - LineNumber:      [[@LINE-31]]
46 // CHECK-NEXT:         Filename:        '{{.*}}'
47 // CHECK-NEXT:     IsMethod:        true
48 // CHECK-NEXT:     Parent:
49 // CHECK-NEXT:         Type:            Record
50 // CHECK-NEXT:         Name:            'Record'
51 // CHECK-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
52 // CHECK-NEXT:     ReturnType:
53 // CHECK-NEXT:       Type:
54 // CHECK-NEXT:         Name:            'void'
55 // CHECK-NEXT:     Access:			Public
56 // CHECK-NEXT: ...
57