xref: /llvm-project/clang/test/Format/access-modifiers.cpp (revision 60bf5826cfd3629b5200a8ab743d701c90f66af0)
1 // RUN: grep -Ev "// *[A-Z-]+:" %s \
2 // RUN:   | clang-format -style="{BasedOnStyle: LLVM, EmptyLineBeforeAccessModifier: LogicalBlock}" -lines=1:14 \
3 // RUN:   | clang-format -style="{BasedOnStyle: LLVM, EmptyLineBeforeAccessModifier: Never}" -lines=14:40 \
4 // RUN:   | FileCheck -strict-whitespace %s
5 
6 // CHECK: int i
7 // CHECK-NEXT: {{^$}}
8 // CHECK-NEXT: {{^private:$}}
9 // CHECK: }
10 struct foo1 {
11   int i;
12 
13 private:
14   int j;
15 };
16 
17 // CHECK: struct bar1
18 // CHECK-NEXT: {{^private:$}}
19 // CHECK: }
20 struct bar1 {
21 private:
22   int i;
23   int j;
24 };
25 
26 // CHECK: int i
27 // CHECK-NEXT: {{^private:$}}
28 // CHECK: }
29 struct foo2 {
30   int i;
31 
32 private:
33   int j;
34 };
35 
36 // CHECK: struct bar2
37 // CHECK-NEXT: {{^private:$}}
38 // CHECK: }
39 struct bar2 {
40 private:
41   int i;
42   int j;
43 };
44 
45 // CHECK: int j
46 // CHECK-NEXT: {{^private:$}}
47 // CHECK: }
48 struct foo3 {
49   int i;
50   int j;
51 
52 private:
53 };
54 
55 // CHECK: struct bar3
56 // CHECK-NEXT: {{^private:$}}
57 // CHECK: }
58 struct bar3 {
59 
60 private:
61   int i;
62   int j;
63 };
64