xref: /llvm-project/clang/test/Format/list-ignored.cpp (revision 986bc3d0719af653fecb77e8cfc59f39bec148fd)
1*986bc3d0SOwen Pan // RUN: rm -rf %t.dir
2*986bc3d0SOwen Pan // RUN: mkdir -p %t.dir/level1/level2
3*986bc3d0SOwen Pan 
4*986bc3d0SOwen Pan // RUN: cd %t.dir
5*986bc3d0SOwen Pan // RUN: echo "*" > .clang-format-ignore
6*986bc3d0SOwen Pan // RUN: echo "level*/*.c*" >> .clang-format-ignore
7*986bc3d0SOwen Pan // RUN: echo "*/*2/foo.*" >> .clang-format-ignore
8*986bc3d0SOwen Pan 
9*986bc3d0SOwen Pan // RUN: touch foo.cc
10*986bc3d0SOwen Pan // RUN: clang-format -list-ignored .clang-format-ignore foo.cc \
11*986bc3d0SOwen Pan // RUN:   | FileCheck %s
12*986bc3d0SOwen Pan // CHECK: .clang-format-ignore
13*986bc3d0SOwen Pan // CHECK-NEXT: foo.cc
14*986bc3d0SOwen Pan 
15*986bc3d0SOwen Pan // RUN: cd level1
16*986bc3d0SOwen Pan // RUN: touch bar.cc baz.c
17*986bc3d0SOwen Pan // RUN: clang-format -list-ignored bar.cc baz.c \
18*986bc3d0SOwen Pan // RUN:   | FileCheck %s -check-prefix=CHECK2
19*986bc3d0SOwen Pan // CHECK2: bar.cc
20*986bc3d0SOwen Pan // CHECK2-NEXT: baz.c
21*986bc3d0SOwen Pan 
22*986bc3d0SOwen Pan // RUN: cd level2
23*986bc3d0SOwen Pan // RUN: touch foo.c foo.js
24*986bc3d0SOwen Pan // RUN: clang-format -list-ignored foo.c foo.js \
25*986bc3d0SOwen Pan // RUN:   | FileCheck %s -check-prefix=CHECK3
26*986bc3d0SOwen Pan // CHECK3: foo.c
27*986bc3d0SOwen Pan // CHECK3-NEXT: foo.js
28*986bc3d0SOwen Pan 
29*986bc3d0SOwen Pan // RUN: touch .clang-format-ignore
30*986bc3d0SOwen Pan // RUN: clang-format -list-ignored foo.c foo.js \
31*986bc3d0SOwen Pan // RUN:   | FileCheck %s -allow-empty -check-prefix=CHECK4
32*986bc3d0SOwen Pan // CHECK4-NOT: foo.c
33*986bc3d0SOwen Pan // CHECK4-NOT: foo.js
34*986bc3d0SOwen Pan 
35*986bc3d0SOwen Pan // RUN: echo "*.js" > .clang-format-ignore
36*986bc3d0SOwen Pan // RUN: clang-format -list-ignored foo.c foo.js \
37*986bc3d0SOwen Pan // RUN:   | FileCheck %s -check-prefix=CHECK5
38*986bc3d0SOwen Pan // CHECK5-NOT: foo.c
39*986bc3d0SOwen Pan // CHECK5: foo.js
40*986bc3d0SOwen Pan 
41*986bc3d0SOwen Pan // RUN: cd ../..
42*986bc3d0SOwen Pan // RUN: clang-format -list-ignored *.cc level1/*.c* level1/level2/foo.* \
43*986bc3d0SOwen Pan // RUN:   | FileCheck %s -check-prefix=CHECK6
44*986bc3d0SOwen Pan // CHECK6: foo.cc
45*986bc3d0SOwen Pan // CHECK6-NEXT: bar.cc
46*986bc3d0SOwen Pan // CHECK6-NEXT: baz.c
47*986bc3d0SOwen Pan // CHECK6-NOT: foo.c
48*986bc3d0SOwen Pan // CHECK6-NEXT: foo.js
49*986bc3d0SOwen Pan 
50*986bc3d0SOwen Pan // RUN: rm .clang-format-ignore
51*986bc3d0SOwen Pan // RUN: clang-format -list-ignored *.cc level1/*.c* level1/level2/foo.* \
52*986bc3d0SOwen Pan // RUN:   | FileCheck %s -check-prefix=CHECK7
53*986bc3d0SOwen Pan // CHECK7-NOT: foo.cc
54*986bc3d0SOwen Pan // CHECK7-NOT: bar.cc
55*986bc3d0SOwen Pan // CHECK7-NOT: baz.c
56*986bc3d0SOwen Pan // CHECK7-NOT: foo.c
57*986bc3d0SOwen Pan // CHECK7: foo.js
58*986bc3d0SOwen Pan 
59*986bc3d0SOwen Pan // RUN: cd ..
60*986bc3d0SOwen Pan // RUN: rm -r %t.dir
61