xref: /llvm-project/clang-tools-extra/test/clang-doc/single-file-public.cpp (revision 6a29ae4bde963b4f271bd9c0dfb0edd4c0de893c)
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/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 
17 void Record::function_private() {}
18 
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: DefLocation:
25 // CHECK-NEXT:   LineNumber:      [[@LINE-16]]
26 // CHECK-NEXT:   Filename:        '{{.*}}'
27 // CHECK-NEXT: TagType:         Class
28 // CHECK-NEXT: ChildFunctions:
29 // 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]}}'
30 // CHECK-NEXT:     Name:            'function_public'
31 // CHECK-NEXT:     Namespace:
32 // CHECK-NEXT:       - Type:            Record
33 // CHECK-NEXT:         Name:            'Record'
34 // 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]}}'
35 // CHECK-NEXT:     DefLocation:
36 // CHECK-NEXT:         LineNumber:      [[@LINE-17]]
37 // CHECK-NEXT:         Filename:        '{{.*}}'
38 // CHECK-NEXT:     Location:
39 // CHECK-NEXT:       - LineNumber:      [[@LINE-25]]
40 // CHECK-NEXT:         Filename:        '{{.*}}'
41 // CHECK-NEXT:     IsMethod:        true
42 // CHECK-NEXT:     Parent:
43 // CHECK-NEXT:         Type:            Record
44 // CHECK-NEXT:         Name:            'Record'
45 // 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]}}'
46 // CHECK-NEXT:     ReturnType:
47 // CHECK-NEXT:       Type:
48 // CHECK-NEXT:         Name:            'void'
49 // CHECK-NEXT:     Access:			Public
50 // CHECK-NEXT: ...
51