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.checks.javadoc;
21
22 import static com.google.common.truth.Truth.assertWithMessage;
23 import static com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocVariableCheck.MSG_JAVADOC_MISSING;
24
25 import org.junit.jupiter.api.Test;
26
27 import com.puppycrawl.tools.checkstyle.AbstractModuleTestSupport;
28 import com.puppycrawl.tools.checkstyle.api.TokenTypes;
29
30 public class JavadocVariableCheckTest
31 extends AbstractModuleTestSupport {
32
33 @Override
34 protected String getPackageLocation() {
35 return "com/puppycrawl/tools/checkstyle/checks/javadoc/javadocvariable";
36 }
37
38 @Test
39 public void testGetRequiredTokens() {
40 final JavadocVariableCheck javadocVariableCheck = new JavadocVariableCheck();
41 final int[] actual = javadocVariableCheck.getRequiredTokens();
42 final int[] expected = {
43 TokenTypes.VARIABLE_DEF,
44 };
45 assertWithMessage("Default required tokens are invalid")
46 .that(actual)
47 .isEqualTo(expected);
48 }
49
50 @Test
51 public void testGetAcceptableTokens() {
52 final JavadocVariableCheck javadocVariableCheck = new JavadocVariableCheck();
53
54 final int[] actual = javadocVariableCheck.getAcceptableTokens();
55 final int[] expected = {
56 TokenTypes.VARIABLE_DEF,
57 TokenTypes.ENUM_CONSTANT_DEF,
58 };
59
60 assertWithMessage("Default acceptable tokens are invalid")
61 .that(actual)
62 .isEqualTo(expected);
63 }
64
65 @Test
66 public void testDefault()
67 throws Exception {
68 final String[] expected = {
69 "16:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
70 "309:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
71 "316:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
72 "335:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
73
74 };
75 verifyWithInlineConfigParser(
76 getPath("InputJavadocVariableTags.java"), expected);
77 }
78
79 @Test
80 public void testAnother()
81 throws Exception {
82 final String[] expected = {
83 "21:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
84 "28:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
85 "34:13: " + getCheckMessage(MSG_JAVADOC_MISSING),
86 };
87 verifyWithInlineConfigParser(
88 getPath("InputJavadocVariableInner.java"), expected);
89 }
90
91 @Test
92 public void testAnother2()
93 throws Exception {
94 final String[] expected = {
95 "26:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
96 };
97 verifyWithInlineConfigParser(
98 getPath("InputJavadocVariableInner2.java"), expected);
99 }
100
101 @Test
102 public void testAnother3()
103 throws Exception {
104 final String[] expected = {
105 "15:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
106 "20:13: " + getCheckMessage(MSG_JAVADOC_MISSING),
107 "40:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
108 "47:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
109 "48:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
110 "49:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
111 "50:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
112 };
113 verifyWithInlineConfigParser(
114 getPath("InputJavadocVariablePublicOnly.java"), expected);
115 }
116
117 @Test
118 public void testAnother4()
119 throws Exception {
120 final String[] expected = {
121 "15:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
122 "50:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
123 };
124 verifyWithInlineConfigParser(
125 getPath("InputJavadocVariablePublicOnly2.java"), expected);
126 }
127
128 @Test
129 public void testJavadocVariableOnInnerClassFields() throws Exception {
130 final String[] expected = {
131 "13:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
132 "14:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
133 "15:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
134 "16:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
135 "24:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
136 "25:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
137 "26:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
138 "27:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
139 "36:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
140 "37:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
141 "38:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
142 "39:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
143 "48:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
144 "49:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
145 "50:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
146 "51:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
147 };
148 verifyWithInlineConfigParser(
149 getPath("InputJavadocVariableOnInnerClassFields.java"),
150 expected);
151 }
152
153 @Test
154 public void testJavadocVariableOnPublicInnerClassFields() throws Exception {
155 final String[] expected = {
156 "12:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
157 "13:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
158 "14:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
159 "15:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
160 "23:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
161 "24:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
162 "25:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
163 "26:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
164 "35:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
165 "36:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
166 "37:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
167 "38:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
168 "47:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
169 "48:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
170 "49:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
171 "50:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
172 "59:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
173 "60:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
174 "61:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
175 "62:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
176 "72:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
177 };
178 verifyWithInlineConfigParser(
179 getPath("InputJavadocVariableOnPublicInnerClassFields.java"),
180 expected);
181 }
182
183 @Test
184 public void testAccessModifiersPublicProtected() throws Exception {
185 final String[] expected = {
186 "13:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
187 "14:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
188 "24:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
189 "25:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
190 "36:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
191 "37:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
192 "48:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
193 "49:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
194 "61:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
195 "62:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
196 "72:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
197 "73:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
198 "84:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
199 "85:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
200 "96:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
201 "97:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
202 "108:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
203 "109:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
204 };
205 verifyWithInlineConfigParser(
206 getPath("InputJavadocVariableNoJavadoc2.java"),
207 expected);
208 }
209
210 @Test
211 public void testAccessModifiersPackagePrivate() throws Exception {
212 final String[] expected = {
213 "15:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
214 "16:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
215 "26:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
216 "27:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
217 "38:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
218 "39:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
219 "50:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
220 "51:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
221 "63:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
222 "64:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
223 "74:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
224 "75:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
225 "86:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
226 "87:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
227 "98:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
228 "99:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
229 "110:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
230 "111:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
231 "121:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
232 };
233 verifyWithInlineConfigParser(
234 getPath("InputJavadocVariableNoJavadoc3.java"),
235 expected);
236 }
237
238 @Test
239 public void testIgnoredVariableNames()
240 throws Exception {
241 final String[] expected = {
242 "13:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
243 "14:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
244 "15:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
245 "16:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
246 "24:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
247 "25:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
248 "26:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
249 "27:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
250 "36:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
251 "37:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
252 "38:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
253 "39:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
254 "48:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
255 "49:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
256 "50:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
257 "51:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
258 };
259 verifyWithInlineConfigParser(
260 getPath("InputJavadocVariableOnIgnoredVariableNames.java"),
261 expected);
262 }
263
264 @Test
265 public void testIgnoredVariableNames2()
266 throws Exception {
267 final String[] expected = {
268 "14:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
269 "15:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
270 "16:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
271 "17:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
272 "25:13: " + getCheckMessage(MSG_JAVADOC_MISSING),
273 "26:13: " + getCheckMessage(MSG_JAVADOC_MISSING),
274 "27:13: " + getCheckMessage(MSG_JAVADOC_MISSING),
275 "28:13: " + getCheckMessage(MSG_JAVADOC_MISSING),
276 "37:13: " + getCheckMessage(MSG_JAVADOC_MISSING),
277 "38:13: " + getCheckMessage(MSG_JAVADOC_MISSING),
278 "39:13: " + getCheckMessage(MSG_JAVADOC_MISSING),
279 "40:13: " + getCheckMessage(MSG_JAVADOC_MISSING),
280 "49:13: " + getCheckMessage(MSG_JAVADOC_MISSING),
281 "50:13: " + getCheckMessage(MSG_JAVADOC_MISSING),
282 "51:13: " + getCheckMessage(MSG_JAVADOC_MISSING),
283 "52:13: " + getCheckMessage(MSG_JAVADOC_MISSING),
284 "61:13: " + getCheckMessage(MSG_JAVADOC_MISSING),
285 "62:13: " + getCheckMessage(MSG_JAVADOC_MISSING),
286 "63:13: " + getCheckMessage(MSG_JAVADOC_MISSING),
287 "64:13: " + getCheckMessage(MSG_JAVADOC_MISSING),
288 };
289 verifyWithInlineConfigParser(
290 getPath("InputJavadocVariableOnIgnoredVariableNames2.java"),
291 expected);
292 }
293
294 @Test
295 public void testDoNotIgnoreAnythingWhenIgnoreNamePatternIsEmpty()
296 throws Exception {
297 final String[] expected = {
298 "13:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
299 "14:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
300 "15:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
301 "16:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
302 "24:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
303 "25:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
304 "26:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
305 "27:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
306 "36:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
307 "37:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
308 "38:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
309 "39:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
310 "48:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
311 "49:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
312 "50:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
313 "51:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
314 "61:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
315 "62:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
316 "63:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
317 "64:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
318 "72:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
319 "73:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
320 "74:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
321 "75:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
322 "84:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
323 "85:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
324 "86:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
325 "87:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
326 "96:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
327 "97:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
328 "98:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
329 "99:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
330 "108:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
331 "109:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
332 "110:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
333 "111:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
334 "121:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
335 };
336 verifyWithInlineConfigParser(
337 getPath("InputJavadocVariableNoJavadoc5.java"),
338 expected);
339 }
340
341 @Test
342 public void testLambdaLocalVariablesDoNotNeedJavadoc() throws Exception {
343 final String[] expected = {
344 "15:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
345 };
346 verifyWithInlineConfigParser(
347 getPath("InputJavadocVariableNoJavadocNeededInLambda.java"),
348 expected);
349 }
350
351 @Test
352 public void testInterfaceMemberScopeIsPublic() throws Exception {
353 final String[] expected = {
354 "16:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
355 "18:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
356 "25:9: " + getCheckMessage(MSG_JAVADOC_MISSING),
357 };
358 verifyWithInlineConfigParser(
359 getPath("InputJavadocVariableInterfaceMemberScopeIsPublic.java"),
360 expected);
361 }
362
363 @Test
364 public void testMethodInnerClass() throws Exception {
365 final String[] expected = {
366 "9:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
367 "10:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
368 "11:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
369 "12:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
370 };
371 verifyWithInlineConfigParser(
372 getPath("InputJavadocVariableMethodInnerClass.java"),
373 expected);
374 }
375
376 @Test
377 public void testJavadocVariableAboveComment() throws Exception {
378 final String[] expected = {
379 "23:5: " + getCheckMessage(MSG_JAVADOC_MISSING),
380 };
381 verifyWithInlineConfigParser(
382 getPath("InputJavadocVariableAboveComment.java"),
383 expected);
384 }
385 }