1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package com.puppycrawl.tools.checkstyle.filters;
21
22 import static com.puppycrawl.tools.checkstyle.checks.coding.IllegalCatchCheck.MSG_KEY;
23 import static com.puppycrawl.tools.checkstyle.checks.naming.AbstractNameCheck.MSG_INVALID_PATTERN;
24
25 import org.junit.jupiter.api.Test;
26
27 import com.puppycrawl.tools.checkstyle.AbstractExamplesModuleTestSupport;
28 import com.puppycrawl.tools.checkstyle.checks.coding.IllegalCatchCheck;
29 import com.puppycrawl.tools.checkstyle.checks.naming.ConstantNameCheck;
30 import com.puppycrawl.tools.checkstyle.checks.naming.MemberNameCheck;
31
32 public class SuppressionCommentFilterExamplesTest extends AbstractExamplesModuleTestSupport {
33
34 @Override
35 public String getPackageLocation() {
36 return "com/puppycrawl/tools/checkstyle/filters/suppressioncommentfilter";
37 }
38
39 @Test
40 public void testExample1() throws Exception {
41 final String[] expectedWithoutFilter = {
42 "16:7: " + getCheckMessage(MemberNameCheck.class,
43 MSG_INVALID_PATTERN, "VAR1", "^[a-z][a-zA-Z0-9]*$"),
44 "19:7: " + getCheckMessage(MemberNameCheck.class,
45 MSG_INVALID_PATTERN, "VAR2", "^[a-z][a-zA-Z0-9]*$"),
46 "23:27: " + getCheckMessage(ConstantNameCheck.class,
47 MSG_INVALID_PATTERN, "var3", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
48 "30:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
49 "31:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Error"),
50 "36:7: " + getCheckMessage(MemberNameCheck.class,
51 MSG_INVALID_PATTERN, "VAR4", "^[a-z][a-zA-Z0-9]*$"),
52 "40:27: " + getCheckMessage(ConstantNameCheck.class,
53 MSG_INVALID_PATTERN, "varC", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
54 };
55
56 final String[] expectedWithFilter = {
57 "16:7: " + getCheckMessage(MemberNameCheck.class,
58 MSG_INVALID_PATTERN, "VAR1", "^[a-z][a-zA-Z0-9]*$"),
59 "23:27: " + getCheckMessage(ConstantNameCheck.class,
60 MSG_INVALID_PATTERN, "var3", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
61 "30:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
62 "31:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Error"),
63 "36:7: " + getCheckMessage(MemberNameCheck.class,
64 MSG_INVALID_PATTERN, "VAR4", "^[a-z][a-zA-Z0-9]*$"),
65 };
66
67 verifyFilterWithInlineConfigParser(getPath("Example1.java"),
68 expectedWithoutFilter, expectedWithFilter);
69 }
70
71 @Test
72 public void testExample2() throws Exception {
73 final String[] expectedWithoutFilter = {
74 "21:7: " + getCheckMessage(MemberNameCheck.class,
75 MSG_INVALID_PATTERN, "VAR1", "^[a-z][a-zA-Z0-9]*$"),
76 "24:7: " + getCheckMessage(MemberNameCheck.class,
77 MSG_INVALID_PATTERN, "VAR2", "^[a-z][a-zA-Z0-9]*$"),
78 "28:27: " + getCheckMessage(ConstantNameCheck.class,
79 MSG_INVALID_PATTERN, "var3", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
80 "35:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
81 "36:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Error"),
82 "41:7: " + getCheckMessage(MemberNameCheck.class,
83 MSG_INVALID_PATTERN, "VAR4", "^[a-z][a-zA-Z0-9]*$"),
84 "45:27: " + getCheckMessage(ConstantNameCheck.class,
85 MSG_INVALID_PATTERN, "varC", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
86 };
87
88 final String[] expectedWithFilter = {
89 "21:7: " + getCheckMessage(MemberNameCheck.class,
90 MSG_INVALID_PATTERN, "VAR1", "^[a-z][a-zA-Z0-9]*$"),
91 "24:7: " + getCheckMessage(MemberNameCheck.class,
92 MSG_INVALID_PATTERN, "VAR2", "^[a-z][a-zA-Z0-9]*$"),
93 "35:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
94 "36:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Error"),
95 "41:7: " + getCheckMessage(MemberNameCheck.class,
96 MSG_INVALID_PATTERN, "VAR4", "^[a-z][a-zA-Z0-9]*$"),
97 "45:27: " + getCheckMessage(ConstantNameCheck.class,
98 MSG_INVALID_PATTERN, "varC", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
99 };
100
101 verifyFilterWithInlineConfigParser(getPath("Example2.java"),
102 expectedWithoutFilter, expectedWithFilter);
103 }
104
105 @Test
106 public void testExample3() throws Exception {
107 final String[] expectedWithoutFilter = {
108 "21:7: " + getCheckMessage(MemberNameCheck.class,
109 MSG_INVALID_PATTERN, "VAR1", "^[a-z][a-zA-Z0-9]*$"),
110 "24:7: " + getCheckMessage(MemberNameCheck.class,
111 MSG_INVALID_PATTERN, "VAR2", "^[a-z][a-zA-Z0-9]*$"),
112 "28:27: " + getCheckMessage(ConstantNameCheck.class,
113 MSG_INVALID_PATTERN, "var3", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
114 "35:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
115 "36:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Error"),
116 "41:7: " + getCheckMessage(MemberNameCheck.class,
117 MSG_INVALID_PATTERN, "VAR4", "^[a-z][a-zA-Z0-9]*$"),
118 "45:27: " + getCheckMessage(ConstantNameCheck.class,
119 MSG_INVALID_PATTERN, "varC", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
120 };
121
122 final String[] expectedWithFilter = {
123 "21:7: " + getCheckMessage(MemberNameCheck.class,
124 MSG_INVALID_PATTERN, "VAR1", "^[a-z][a-zA-Z0-9]*$"),
125 "24:7: " + getCheckMessage(MemberNameCheck.class,
126 MSG_INVALID_PATTERN, "VAR2", "^[a-z][a-zA-Z0-9]*$"),
127 "28:27: " + getCheckMessage(ConstantNameCheck.class,
128 MSG_INVALID_PATTERN, "var3", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
129 "36:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Error"),
130 "41:7: " + getCheckMessage(MemberNameCheck.class,
131 MSG_INVALID_PATTERN, "VAR4", "^[a-z][a-zA-Z0-9]*$"),
132 "45:27: " + getCheckMessage(ConstantNameCheck.class,
133 MSG_INVALID_PATTERN, "varC", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
134 };
135
136 verifyFilterWithInlineConfigParser(getPath("Example3.java"),
137 expectedWithoutFilter, expectedWithFilter);
138 }
139
140 @Test
141 public void testExample4() throws Exception {
142 final String[] expectedWithoutFilter = {
143 "17:7: " + getCheckMessage(MemberNameCheck.class,
144 MSG_INVALID_PATTERN, "VAR1", "^[a-z][a-zA-Z0-9]*$"),
145 "20:7: " + getCheckMessage(MemberNameCheck.class,
146 MSG_INVALID_PATTERN, "VAR2", "^[a-z][a-zA-Z0-9]*$"),
147 "24:27: " + getCheckMessage(ConstantNameCheck.class,
148 MSG_INVALID_PATTERN, "var3", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
149 "31:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
150 "32:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Error"),
151 "37:7: " + getCheckMessage(MemberNameCheck.class,
152 MSG_INVALID_PATTERN, "VAR4", "^[a-z][a-zA-Z0-9]*$"),
153 "41:27: " + getCheckMessage(ConstantNameCheck.class,
154 MSG_INVALID_PATTERN, "varC", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
155 };
156
157 final String[] expectedWithFilter = {
158 "17:7: " + getCheckMessage(MemberNameCheck.class,
159 MSG_INVALID_PATTERN, "VAR1", "^[a-z][a-zA-Z0-9]*$"),
160 "24:27: " + getCheckMessage(ConstantNameCheck.class,
161 MSG_INVALID_PATTERN, "var3", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
162 "31:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
163 "32:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Error"),
164 "37:7: " + getCheckMessage(MemberNameCheck.class,
165 MSG_INVALID_PATTERN, "VAR4", "^[a-z][a-zA-Z0-9]*$"),
166 "41:27: " + getCheckMessage(ConstantNameCheck.class,
167 MSG_INVALID_PATTERN, "varC", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
168 };
169
170 verifyFilterWithInlineConfigParser(getPath("Example4.java"),
171 expectedWithoutFilter, expectedWithFilter);
172 }
173
174 @Test
175 public void testExample5() throws Exception {
176 final String[] expectedWithoutFilter = {
177 "17:7: " + getCheckMessage(MemberNameCheck.class,
178 MSG_INVALID_PATTERN, "VAR1", "^[a-z][a-zA-Z0-9]*$"),
179 "20:7: " + getCheckMessage(MemberNameCheck.class,
180 MSG_INVALID_PATTERN, "VAR2", "^[a-z][a-zA-Z0-9]*$"),
181 "24:27: " + getCheckMessage(ConstantNameCheck.class,
182 MSG_INVALID_PATTERN, "var3", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
183 "31:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
184 "32:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Error"),
185 "37:7: " + getCheckMessage(MemberNameCheck.class,
186 MSG_INVALID_PATTERN, "VAR4", "^[a-z][a-zA-Z0-9]*$"),
187 "41:27: " + getCheckMessage(ConstantNameCheck.class,
188 MSG_INVALID_PATTERN, "varC", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
189 };
190
191 final String[] expectedWithFilter = {
192 "17:7: " + getCheckMessage(MemberNameCheck.class,
193 MSG_INVALID_PATTERN, "VAR1", "^[a-z][a-zA-Z0-9]*$"),
194 "24:27: " + getCheckMessage(ConstantNameCheck.class,
195 MSG_INVALID_PATTERN, "var3", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
196 "31:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
197 "32:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Error"),
198 "37:7: " + getCheckMessage(MemberNameCheck.class,
199 MSG_INVALID_PATTERN, "VAR4", "^[a-z][a-zA-Z0-9]*$"),
200 "41:27: " + getCheckMessage(ConstantNameCheck.class,
201 MSG_INVALID_PATTERN, "varC", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
202 };
203
204 verifyFilterWithInlineConfigParser(getPath("Example5.java"),
205 expectedWithoutFilter, expectedWithFilter);
206 }
207
208 @Test
209 public void testUseCase1() throws Exception {
210 final String[] expectedWithoutFilter = {
211 "20:7: " + getCheckMessage(MemberNameCheck.class,
212 MSG_INVALID_PATTERN, "VAR1", "^[a-z][a-zA-Z0-9]*$"),
213 "23:7: " + getCheckMessage(MemberNameCheck.class,
214 MSG_INVALID_PATTERN, "VAR2", "^[a-z][a-zA-Z0-9]*$"),
215 "26:27: " + getCheckMessage(ConstantNameCheck.class,
216 MSG_INVALID_PATTERN, "var3", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
217 "30:27: " + getCheckMessage(ConstantNameCheck.class,
218 MSG_INVALID_PATTERN, "var4", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
219 "36:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
220 "41:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
221 "43:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Error"),
222 };
223
224 final String[] expectedWithFilter = {
225 "20:7: " + getCheckMessage(MemberNameCheck.class,
226 MSG_INVALID_PATTERN, "VAR1", "^[a-z][a-zA-Z0-9]*$"),
227 "26:27: " + getCheckMessage(ConstantNameCheck.class,
228 MSG_INVALID_PATTERN, "var3", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
229 "36:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
230 };
231
232 verifyFilterWithInlineConfigParser(getPath("UseCase1.java"),
233 expectedWithoutFilter, expectedWithFilter);
234 }
235
236 @Test
237 public void testUseCase2() throws Exception {
238 final String[] expectedWithoutFilter = {
239 "20:7: " + getCheckMessage(MemberNameCheck.class,
240 MSG_INVALID_PATTERN, "VAR1", "^[a-z][a-zA-Z0-9]*$"),
241 "23:7: " + getCheckMessage(MemberNameCheck.class,
242 MSG_INVALID_PATTERN, "VAR2", "^[a-z][a-zA-Z0-9]*$"),
243 "26:27: " + getCheckMessage(ConstantNameCheck.class,
244 MSG_INVALID_PATTERN, "var3", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
245 "30:27: " + getCheckMessage(ConstantNameCheck.class,
246 MSG_INVALID_PATTERN, "var4", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
247 "37:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
248 "42:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
249 "44:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Error"),
250 };
251
252 final String[] expectedWithFilter = {
253 "20:7: " + getCheckMessage(MemberNameCheck.class,
254 MSG_INVALID_PATTERN, "VAR1", "^[a-z][a-zA-Z0-9]*$"),
255 "26:27: " + getCheckMessage(ConstantNameCheck.class,
256 MSG_INVALID_PATTERN, "var3", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
257 "30:27: " + getCheckMessage(ConstantNameCheck.class,
258 MSG_INVALID_PATTERN, "var4", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
259 "37:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
260 };
261
262 verifyFilterWithInlineConfigParser(getPath("UseCase2.java"),
263 expectedWithoutFilter, expectedWithFilter);
264 }
265
266 @Test
267 public void testExample6() throws Exception {
268 final String[] expectedWithoutFilter = {
269 "25:7: " + getCheckMessage(MemberNameCheck.class,
270 MSG_INVALID_PATTERN, "VAR1", "^[a-z][a-zA-Z0-9]*$"),
271 "28:7: " + getCheckMessage(MemberNameCheck.class,
272 MSG_INVALID_PATTERN, "VAR2", "^[a-z][a-zA-Z0-9]*$"),
273 "32:27: " + getCheckMessage(ConstantNameCheck.class,
274 MSG_INVALID_PATTERN, "var3", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
275 "39:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
276 "40:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Error"),
277 "45:7: " + getCheckMessage(MemberNameCheck.class,
278 MSG_INVALID_PATTERN, "VAR4", "^[a-z][a-zA-Z0-9]*$"),
279 "49:27: " + getCheckMessage(ConstantNameCheck.class,
280 MSG_INVALID_PATTERN, "varC", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
281 };
282
283 final String[] expectedWithFilter = {
284 "25:7: " + getCheckMessage(MemberNameCheck.class,
285 MSG_INVALID_PATTERN, "VAR1", "^[a-z][a-zA-Z0-9]*$"),
286 "28:7: " + getCheckMessage(MemberNameCheck.class,
287 MSG_INVALID_PATTERN, "VAR2", "^[a-z][a-zA-Z0-9]*$"),
288 "32:27: " + getCheckMessage(ConstantNameCheck.class,
289 MSG_INVALID_PATTERN, "var3", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
290 "39:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
291 "40:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Error"),
292 "49:27: " + getCheckMessage(ConstantNameCheck.class,
293 MSG_INVALID_PATTERN, "varC", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
294 };
295
296 verifyFilterWithInlineConfigParser(getPath("Example6.java"),
297 expectedWithoutFilter, expectedWithFilter);
298 }
299
300 @Test
301 public void testUseCase3() throws Exception {
302 final String[] expectedWithoutFilter = {
303 "19:7: " + getCheckMessage(MemberNameCheck.class,
304 MSG_INVALID_PATTERN, "VAR1", "^[a-z][a-zA-Z0-9]*$"),
305 "22:7: " + getCheckMessage(MemberNameCheck.class,
306 MSG_INVALID_PATTERN, "VAR2", "^[a-z][a-zA-Z0-9]*$"),
307 "25:27: " + getCheckMessage(ConstantNameCheck.class,
308 MSG_INVALID_PATTERN, "var3", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
309 "31:27: " + getCheckMessage(ConstantNameCheck.class,
310 MSG_INVALID_PATTERN, "var4", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
311 "36:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
312 "40:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
313 "42:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Error"),
314 };
315
316 final String[] expectedWithFilter = {
317 "19:7: " + getCheckMessage(MemberNameCheck.class,
318 MSG_INVALID_PATTERN, "VAR1", "^[a-z][a-zA-Z0-9]*$"),
319 "25:27: " + getCheckMessage(ConstantNameCheck.class,
320 MSG_INVALID_PATTERN, "var3", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
321 };
322
323 verifyFilterWithInlineConfigParser(getPath("UseCase3.java"),
324 expectedWithoutFilter, expectedWithFilter);
325 }
326
327 @Test
328 public void testExample8() throws Exception {
329 final String[] expectedWithoutFilter = {
330 "18:7: " + getCheckMessage(MemberNameCheck.class,
331 MSG_INVALID_PATTERN, "VAR1", "^[a-z][a-zA-Z0-9]*$"),
332 "21:7: " + getCheckMessage(MemberNameCheck.class,
333 MSG_INVALID_PATTERN, "VAR2", "^[a-z][a-zA-Z0-9]*$"),
334 "25:27: " + getCheckMessage(ConstantNameCheck.class,
335 MSG_INVALID_PATTERN, "var3", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
336 "32:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
337 "33:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Error"),
338 "38:7: " + getCheckMessage(MemberNameCheck.class,
339 MSG_INVALID_PATTERN, "VAR4", "^[a-z][a-zA-Z0-9]*$"),
340 "42:27: " + getCheckMessage(ConstantNameCheck.class,
341 MSG_INVALID_PATTERN, "varC", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
342 };
343
344 final String[] expectedWithFilter = {
345 "18:7: " + getCheckMessage(MemberNameCheck.class,
346 MSG_INVALID_PATTERN, "VAR1", "^[a-z][a-zA-Z0-9]*$"),
347 "21:7: " + getCheckMessage(MemberNameCheck.class,
348 MSG_INVALID_PATTERN, "VAR2", "^[a-z][a-zA-Z0-9]*$"),
349 "25:27: " + getCheckMessage(ConstantNameCheck.class,
350 MSG_INVALID_PATTERN, "var3", "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"),
351 "32:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Exception"),
352 "33:5: " + getCheckMessage(IllegalCatchCheck.class, MSG_KEY, "Error"),
353 "38:7: " + getCheckMessage(MemberNameCheck.class,
354 MSG_INVALID_PATTERN, "VAR4", "^[a-z][a-zA-Z0-9]*$"),
355 };
356
357 verifyFilterWithInlineConfigParser(getPath("Example8.java"),
358 expectedWithoutFilter, expectedWithFilter);
359 }
360
361 }