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.blocks;
21
22 import static com.google.common.truth.Truth.assertWithMessage;
23 import static com.puppycrawl.tools.checkstyle.checks.blocks.RightCurlyCheck.MSG_KEY_LINE_ALONE;
24 import static com.puppycrawl.tools.checkstyle.checks.blocks.RightCurlyCheck.MSG_KEY_LINE_BREAK_BEFORE;
25 import static com.puppycrawl.tools.checkstyle.checks.blocks.RightCurlyCheck.MSG_KEY_LINE_SAME;
26
27 import org.junit.jupiter.api.Test;
28
29 import com.puppycrawl.tools.checkstyle.AbstractModuleTestSupport;
30 import com.puppycrawl.tools.checkstyle.api.CheckstyleException;
31 import com.puppycrawl.tools.checkstyle.utils.CommonUtil;
32
33 public class RightCurlyCheckTest extends AbstractModuleTestSupport {
34
35 @Override
36 public String getPackageLocation() {
37 return "com/puppycrawl/tools/checkstyle/checks/blocks/rightcurly";
38 }
39
40
41
42
43
44 @Test
45 public void testRightCurlyOptionValueOf() {
46 final RightCurlyOption option = RightCurlyOption.valueOf("ALONE");
47 assertWithMessage("Invalid valueOf result")
48 .that(option)
49 .isEqualTo(RightCurlyOption.ALONE);
50 }
51
52 @Test
53 public void testDefault() throws Exception {
54 final String[] expected = {
55 "25:17: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 17),
56 "28:17: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 17),
57 "40:13: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 13),
58 "44:13: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 13),
59 "93:27: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 27),
60 };
61 verifyWithInlineConfigParser(
62 getPath("InputRightCurlyLeftTestDefault.java"), expected);
63 }
64
65 @Test
66 public void testSame() throws Exception {
67 final String[] expected = {
68 "26:17: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 17),
69 "29:17: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 17),
70 "41:13: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 13),
71 "45:13: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 13),
72 "87:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
73 "94:27: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 27),
74 "189:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
75 "190:41: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 41),
76 };
77 verifyWithInlineConfigParser(
78 getPath("InputRightCurlyLeftTestSame.java"), expected);
79 }
80
81 @Test
82 public void testSameOmitOneLiners() throws Exception {
83 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
84 verifyWithInlineConfigParser(
85 getPath("InputRightCurlyTestSameOmitOneLiners.java"), expected);
86 }
87
88 @Test
89 public void testSameDoesNotComplainForNonMultilineConstructs() throws Exception {
90 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
91 verifyWithInlineConfigParser(
92 getPath("InputRightCurlyTestSame.java"), expected);
93 }
94
95 @Test
96 public void testAlone() throws Exception {
97 final String[] expected = {
98 "57:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
99 "94:27: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 27),
100 "98:41: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 41),
101 "174:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
102 "176:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
103 "178:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
104 "179:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
105 "184:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
106 "189:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
107 "190:53: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 53),
108 };
109 verifyWithInlineConfigParser(
110 getPath("InputRightCurlyLeftTestAlone.java"), expected);
111 }
112
113 @Test
114 public void testNewLine() throws Exception {
115 final String[] expected = {
116 "86:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
117 "111:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
118 "111:6: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 6),
119 "122:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
120 "122:6: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 6),
121 "136:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
122 "136:6: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 6),
123 "144:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
124 "149:41: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 41),
125 "152:31: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 31),
126 "154:39: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 39),
127 "197:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
128 "202:30: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 30),
129 "205:39: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 39),
130 "211:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
131 "211:10: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 10),
132 };
133 verifyWithInlineConfigParser(
134 getPath("InputRightCurlyLeftTestNewLine.java"), expected);
135 }
136
137 @Test
138 public void testShouldStartLine2() throws Exception {
139 final String[] expected = {
140 "86:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
141 "111:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
142 "111:6: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 6),
143 "122:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
144 "122:6: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 6),
145 "136:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
146 "136:6: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 6),
147 "197:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
148 "202:30: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 30),
149 "211:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
150 "211:10: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 10),
151 };
152 verifyWithInlineConfigParser(
153 getPath("InputRightCurlyLeftTestShouldStartLine2.java"), expected);
154 }
155
156 @Test
157 public void testForceLineBreakBefore() throws Exception {
158 final String[] expected = {
159 "38:43: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 43),
160 "41:17: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 17),
161 "44:71: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 71),
162 "46:38: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 38),
163 "50:25: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 25),
164 };
165 verifyWithInlineConfigParser(
166 getPath("InputRightCurlyTestForceLineBreakBefore.java"), expected);
167 }
168
169 @Test
170 public void testForceLineBreakBefore2() throws Exception {
171 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
172 verifyWithInlineConfigParser(
173 getPath("InputRightCurlyTestForceLineBreakBefore2.java"), expected);
174 }
175
176 @Test
177 public void testNullPointerException() throws Exception {
178 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
179 verifyWithInlineConfigParser(
180 getPath("InputRightCurlyTestNullPointerException.java"), expected);
181 }
182
183 @Test
184 public void testWithAnnotations() throws Exception {
185 final String[] expected = {
186 "18:77: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 77),
187 "21:65: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 65),
188 "32:46: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 46),
189 "36:31: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 31),
190 "39:35: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 35),
191 "42:36: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 36),
192 "48:73: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 73),
193 "50:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
194 "55:66: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 66),
195 "58:96: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 96),
196 "61:30: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 30),
197 "64:30: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 30),
198 "67:29: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 29),
199 "71:38: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 38),
200 "72:31: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 31),
201 "78:62: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 62),
202 "87:28: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 28),
203 "89:21: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 21),
204 "91:20: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 20),
205 "93:14: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 14),
206 "104:26: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 26),
207 "105:20: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 20),
208 "114:29: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 29),
209 "114:38: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 38),
210 "118:29: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 29),
211 "118:38: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 38),
212 "122:40: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 40),
213 "122:88: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 88),
214 "125:18: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 18),
215 "129:23: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 23),
216 "132:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
217 "134:30: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 30),
218 "138:77: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 77),
219 "147:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
220 "149:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
221 "149:33: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 33),
222 "161:75: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 75),
223 "162:58: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 58),
224 "162:74: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 74),
225 "163:58: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 58),
226 "165:58: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 58),
227 "165:73: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 73),
228 "171:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
229 "178:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
230 "193:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
231 "200:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
232 "200:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
233 "208:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
234 "208:10: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 10),
235 "212:54: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 54),
236 "212:55: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 55),
237 "215:75: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 75),
238 "215:76: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 76),
239 "215:77: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 77),
240 "219:76: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 76),
241 "227:27: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 27),
242 "231:31: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 31),
243 "234:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
244 "236:29: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 29),
245 "239:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
246 "242:30: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 30),
247 "245:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
248 "248:39: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 39),
249 "250:56: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 56),
250 "253:24: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 24),
251 "263:29: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 29),
252 "265:40: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 40),
253 "269:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
254 "272:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
255 "274:61: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 61),
256 };
257 verifyWithInlineConfigParser(
258 getPath("InputRightCurlyTestWithAnnotations.java"), expected);
259 }
260
261 @Test
262 public void testAloneOrSingleLine() throws Exception {
263 final String[] expected = {
264 "70:26: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 26),
265 "84:42: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 42),
266 "87:18: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 18),
267 "95:30: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 30),
268 "99:77: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 77),
269 "107:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
270 "109:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
271 "120:75: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 75),
272 "122:77: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 77),
273 "122:93: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 93),
274 "124:77: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 77),
275 "126:64: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 64),
276 "126:80: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 80),
277 "132:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
278 "139:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
279 "154:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
280 "161:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
281 "161:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
282 "170:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
283 "170:10: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 10),
284 "174:54: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 54),
285 "174:55: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 55),
286 "177:75: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 75),
287 "177:76: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 76),
288 "177:77: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 77),
289 "189:27: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 27),
290 "195:24: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 24),
291 "198:24: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 24),
292 "201:24: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 24),
293 "207:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
294 "209:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
295 "211:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
296 "212:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
297 "217:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
298 "222:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
299 "223:39: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 39),
300 "231:24: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 24),
301 "243:30: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 30),
302 "249:29: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 29),
303 "249:38: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 38),
304 };
305 verifyWithInlineConfigParser(
306 getPath("InputRightCurlyTestAloneOrSingleline.java"), expected);
307 }
308
309 @Test
310 public void testAloneOrSingleLineTryCatchBlock() throws Exception {
311 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
312 verifyWithInlineConfigParser(
313 getPath("InputRightCurlyTestAloneOrSinglelineTryCatchBlock.java"), expected);
314 }
315
316 @Test
317 public void testCatchWithoutFinally() throws Exception {
318 final String[] expected = {
319 "19:9: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 9),
320 };
321 verifyWithInlineConfigParser(
322 getPath("InputRightCurlyTestWithoutFinally.java"), expected);
323 }
324
325 @Test
326 public void testSingleLineClass() throws Exception {
327 final String[] expected = {
328 "29:56: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 56),
329 };
330 verifyWithInlineConfigParser(
331 getPath("InputRightCurlyTestSingleLineClass.java"), expected);
332 }
333
334 @Test
335 public void testInvalidOption() throws Exception {
336
337 try {
338 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
339
340 verifyWithInlineConfigParser(
341 getPath("InputRightCurlyTestInvalidOption.java"), expected);
342 assertWithMessage("exception expected").fail();
343 }
344 catch (CheckstyleException exc) {
345 assertWithMessage("Invalid exception message")
346 .that(exc.getMessage())
347 .isEqualTo("cannot initialize module com.puppycrawl.tools.checkstyle.TreeWalker - "
348 + "cannot initialize module com.puppycrawl.tools.checkstyle.checks."
349 + "blocks.RightCurlyCheck");
350 }
351 }
352
353 @Test
354 public void testRightCurlySameAndLiteralDo() throws Exception {
355 final String[] expected = {
356 "70:9: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 9),
357 "75:13: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 13),
358 "91:9: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 9),
359 };
360 verifyWithInlineConfigParser(
361 getPath("InputRightCurlyTestSameAndLiteralDo.java"), expected);
362 }
363
364 @Test
365 public void testTryWithResourceSame() throws Exception {
366 final String[] expected = {
367 "19:9: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 9),
368 "33:67: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 67),
369 "44:15: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 15),
370 "46:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
371 };
372 verifyWithInlineConfigParser(
373 getPath("InputRightCurlyTestTryWithResourceSame.java"), expected);
374 }
375
376 @Test
377 public void testTryWithResourceAlone() throws Exception {
378 final String[] expected = {
379 "27:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
380 "33:67: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 67),
381 "34:35: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 35),
382 "37:64: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 64),
383 "37:92: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 92),
384 "44:67: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 67),
385 "46:15: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 15),
386 "48:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
387 };
388 verifyWithInlineConfigParser(
389 getPath("InputRightCurlyTestTryWithResourceAlone.java"), expected);
390 }
391
392 @Test
393 public void testTryWithResourceAloneSingle() throws Exception {
394 final String[] expected = {
395 "27:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
396 "43:15: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 15),
397 "45:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
398 };
399 verifyWithInlineConfigParser(
400 getPath("InputRightCurlyTryWithResourceAloneSingle.java"), expected);
401 }
402
403 @Test
404 public void testBracePolicyAloneAndSinglelineIfBlocks() throws Exception {
405 final String[] expected = {
406 "13:32: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 32),
407 "15:45: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 45),
408 "15:47: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 47),
409 };
410 verifyWithInlineConfigParser(
411 getPath("InputRightCurlyTestSinglelineIfBlocks.java"), expected);
412 }
413
414 @Test
415 public void testRightCurlyIsAloneLambda() throws Exception {
416 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
417 verifyWithInlineConfigParser(
418 getPath("InputRightCurlyTestIsAloneLambda.java"), expected);
419 }
420
421 @Test
422 public void testRightCurlyIsAloneOrSinglelineLambda() throws Exception {
423 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
424 verifyWithInlineConfigParser(
425 getPath("InputRightCurlyTestIsAloneOrSinglelineLambda.java"), expected);
426 }
427
428 @Test
429 public void testRightCurlyIsSameLambda() throws Exception {
430 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
431 verifyWithInlineConfigParser(
432 getPath("InputRightCurlyTestIsSameLambda.java"), expected);
433 }
434
435 @Test
436 public void testOptionAlone() throws Exception {
437 final String[] expected = {
438 "16:15: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 15),
439 "17:21: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 21),
440 "21:26: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 26),
441 "30:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
442 "47:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
443 "51:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
444 "54:30: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 30),
445 "56:27: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 27),
446 "58:17: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 17),
447 "60:53: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 53),
448 "62:27: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 27),
449 "62:52: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 52),
450 "75:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
451 "75:11: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 11),
452 "79:39: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 39),
453 "81:56: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 56),
454 "84:24: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 24),
455 "96:30: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 30),
456 "99:39: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 39),
457 "105:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
458 "105:10: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 10),
459 };
460 verifyWithInlineConfigParser(
461 getPath("InputRightCurlyTestOptionAlone.java"),
462 expected);
463 }
464
465 @Test
466 public void testOptionAloneOrSingleLine() throws Exception {
467 final String[] expected = {
468 "21:26: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 26),
469 "30:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
470 "38:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
471 "47:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
472 "51:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
473 "72:24: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 24),
474 "77:30: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 30),
475 "86:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
476 "86:10: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 10),
477 };
478 verifyWithInlineConfigParser(
479 getPath(
480 "InputRightCurlyTestOptionAloneOrSingleLine.java"), expected);
481 }
482
483 @Test
484 public void testBlocksEndingWithSemiOptionSame() throws Exception {
485 final String[] expected = {
486 "16:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
487 "21:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
488 "27:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
489 "35:29: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 29),
490 "41:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
491 "44:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
492 "51:20: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 20),
493 "57:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
494 "60:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
495 "65:30: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 30),
496 "74:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
497 "74:11: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 11),
498 "78:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
499 };
500 verifyWithInlineConfigParser(
501 getPath("InputRightCurlyTestOptSameBlocksWithSemi.java"), expected);
502 }
503
504 @Test
505 public void testBlocksEndingWithSemiOptionAlone() throws Exception {
506 final String[] expected = {
507 "13:31: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 31),
508 "16:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
509 "18:29: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 29),
510 "21:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
511 "24:30: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 30),
512 "27:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
513 "35:29: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 29),
514 "37:40: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 40),
515 "41:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
516 "44:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
517 "46:61: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 61),
518 "48:19: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 19),
519 "51:20: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 20),
520 "53:34: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 34),
521 "57:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
522 "60:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
523 "65:30: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 30),
524 "71:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
525 "71:11: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 11),
526 "75:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
527 };
528 verifyWithInlineConfigParser(
529 getPath("InputRightCurlyTestOptAloneBlocksWithSemi.java"), expected);
530 }
531
532 @Test
533 public void testBlocksEndingWithSemiOptionAloneOrSingleLine() throws Exception {
534 final String[] expected = {
535 "16:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
536 "21:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
537 "27:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
538 "35:29: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 29),
539 "41:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
540 "44:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
541 "51:20: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 20),
542 "57:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
543 "60:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
544 "65:30: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 30),
545 "74:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
546 "74:11: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 11),
547 "78:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
548 };
549 verifyWithInlineConfigParser(
550 getPath("InputRightCurlyTestOptAloneOrSingleLineBlocksWithSemi.java"), expected);
551 }
552
553 @Test
554 public void testNewTokensAlone() throws Exception {
555 final String[] expected = {
556 "13:19: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 19),
557 "16:20: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 20),
558 "18:34: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 34),
559 };
560 verifyWithInlineConfigParser(
561 getPath("InputRightCurlyTestNewTokensAlone.java"), expected);
562 }
563
564 @Test
565 public void testNewTokensAloneOrSingleLine() throws Exception {
566 final String[] expected = {
567 "16:20: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 20),
568 };
569 verifyWithInlineConfigParser(
570 getPath("InputRightCurlyNewTokensAloneOrSingleLine.java"), expected);
571 }
572
573 @Test
574 public void testNewTokensSame() throws Exception {
575 final String[] expected = {
576 "16:20: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 20),
577 };
578 verifyWithInlineConfigParser(
579 getPath("InputRightCurlyTestSameNewTokens.java"), expected);
580 }
581
582 @Test
583 public void testRightCurlyDoubleBrace() throws Exception {
584 final String[] expected = {
585 "14:1: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 1),
586 "14:2: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 2),
587 };
588 verifyWithInlineConfigParser(
589 getPath("InputRightCurlyTestDoubleBrace.java"), expected);
590 }
591
592 @Test
593 public void testRightCurlyEmptyOnSingleLine() throws Exception {
594 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
595 verifyWithInlineConfigParser(
596 getPath("InputRightCurlyTestEmptyOnSingleLine.java"), expected);
597 }
598
599 @Test
600 public void testRightCurlyEndOfFile() throws Exception {
601 final String[] expected = {
602 "16:2: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 2),
603 "16:3: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 3),
604 };
605 verifyWithInlineConfigParser(
606 getPath("InputRightCurlyTestEndOfFile.java"), expected);
607 }
608
609 @Test
610 public void testRightCurlyRecordsAndCompactCtors() throws Exception {
611 final String[] expected = {
612 "23:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
613 "23:11: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 11),
614 "27:21: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 21),
615 "32:23: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 23),
616 "34:37: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 37),
617 "41:68: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 68),
618 };
619 verifyWithInlineConfigParser(
620 getPath("InputRightCurlyTestRecordsAndCompactCtors.java"), expected);
621 }
622
623 @Test
624 public void testRightCurlyWithEmoji() throws Exception {
625 final String[] expected = {
626 "24:13: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 13),
627 "28:13: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 13),
628 "49:9: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 9),
629 "69:50: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 50),
630 "78:44: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 44),
631 "84:41: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 41),
632
633 };
634 verifyWithInlineConfigParser(getPath("InputRightCurlyWithEmoji.java"), expected);
635 }
636
637 @Test
638 public void testRightCurlyWithEmojiAloneOrSingleLine() throws Exception {
639 final String[] expected = {
640 "24:38: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 38),
641 "30:43: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 43),
642 "40:45: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 45),
643 "51:41: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 41),
644 "54:31: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 31),
645 };
646 verifyWithInlineConfigParser(
647 getPath("InputRightCurlyWithEmojiAloneOrSingleLine.java"), expected);
648 }
649
650 @Test
651 public void testUppercaseOptionProperty() throws Exception {
652 final String[] expected = {
653 "16:46: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 46),
654 "21:35: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 35),
655 };
656 verifyWithInlineConfigParser(
657 getPath("InputRightCurlyWithUppercaseOptionProperty.java"), expected);
658 }
659
660 @Test
661 public void testRightCurlyWithIfElseAlone() throws Exception {
662 final String[] expected = {
663 "19:12: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 12),
664 "27:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
665 };
666 verifyWithInlineConfigParser(
667 getPath("InputRightCurlyTestIfElseAlone.java"), expected);
668 }
669
670 @Test
671 public void testSwitchCase() throws Exception {
672 final String[] expected = {
673 "20:24: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 24),
674 "27:27: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 27),
675 "51:46: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 46),
676 "69:68: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 68),
677 "75:74: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 74),
678 "112:17: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 17),
679 "116:21: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 21),
680 };
681 verifyWithInlineConfigParser(
682 getPath("InputRightCurlyTestSwitchCase.java"), expected);
683 }
684
685 @Test
686 public void testSwitchCase2() throws Exception {
687 final String[] expected = {
688 "20:24: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 24),
689 "27:27: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 27),
690 "114:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
691 };
692 verifyWithInlineConfigParser(
693 getPath("InputRightCurlyTestSwitchCase2.java"), expected);
694 }
695
696 @Test
697 public void testSwitchCase3() throws Exception {
698 final String[] expected = {
699 "15:22: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 22),
700 "17:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
701 "19:36: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 36),
702 "25:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
703 "26:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
704 "28:22: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 22),
705 "29:22: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 22),
706 "37:26: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 26),
707 "37:27: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 27),
708 "43:40: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 40),
709 "43:41: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 41),
710 "48:46: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 46),
711 "50:32: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 32),
712 "50:33: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 33),
713 "52:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
714 "52:14: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 14),
715 };
716 verifyWithInlineConfigParser(
717 getPath("InputRightCurlyTestSwitchCase3.java"), expected);
718 }
719
720 @Test
721 public void testSwitchCase4() throws Exception {
722 final String[] expected = {
723 "17:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
724 "19:36: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 36),
725 "25:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
726 "26:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
727 "28:22: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 22),
728 "35:41: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 41),
729 "35:42: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 42),
730 "40:46: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 46),
731 "42:32: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 32),
732 };
733 verifyWithInlineConfigParser(
734 getPath("InputRightCurlyTestSwitchCase4.java"), expected);
735 }
736
737 @Test
738 public void testSwitchCase5() throws Exception {
739 final String[] expected = {
740 "17:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
741 "19:36: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 36),
742 "25:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
743 "26:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
744 "28:22: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 22),
745 "35:41: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 41),
746 "35:42: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 42),
747 "40:46: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 46),
748 "42:32: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 32),
749 "65:49: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 49),
750 };
751 verifyWithInlineConfigParser(
752 getPath("InputRightCurlyTestSwitchCase5.java"), expected);
753 }
754
755 @Test
756 public void testSwitchExpression() throws Exception {
757 final String[] expected = {
758 "48:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
759 "56:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
760 "92:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
761 };
762 verifyWithInlineConfigParser(
763 getPath("InputRightCurlyTestSwitchExpression.java"), expected);
764 }
765
766 @Test
767 public void testSwitchExpression2() throws Exception {
768 final String[] expected = {
769 "46:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
770 "54:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
771 "77:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
772 "90:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
773 };
774 verifyWithInlineConfigParser(
775 getPath("InputRightCurlyTestSwitchExpression2.java"), expected);
776 }
777
778 @Test
779 public void testSwitchExpression3() throws Exception {
780 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
781 verifyWithInlineConfigParser(
782 getPath("InputRightCurlyTestSwitchExpression3.java"), expected);
783 }
784
785 @Test
786 public void testSwitchExpression4() throws Exception {
787 final String[] expected = {
788 "117:28: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 28),
789 };
790 verifyWithInlineConfigParser(
791 getPath("InputRightCurlyTestSwitchExpression4.java"), expected);
792 }
793
794 @Test
795 public void testSwitchExpression5() throws Exception {
796 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
797 verifyWithInlineConfigParser(
798 getPath("InputRightCurlyTestSwitchExpression5.java"), expected);
799 }
800
801 @Test
802 public void testSwitchWithComment() throws Exception {
803 final String[] expected = {
804 "16:66: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 66),
805 "23:61: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 61),
806 "24:57: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 57),
807 "31:23: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 23),
808 "32:19: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 19),
809 "37:23: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 23),
810 "38:33: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 33),
811 };
812 verifyWithInlineConfigParser(
813 getPath("InputRightCurlyTestWithComment.java"), expected);
814 }
815
816 @Test
817 public void testSwitchExpression6() throws Exception {
818 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
819 verifyWithInlineConfigParser(
820 getPath("InputRightCurlyTestSwitchExpression6.java"), expected);
821 }
822
823 @Test
824 public void testSwitchExpression7() throws Exception {
825 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
826 verifyWithInlineConfigParser(
827 getPath("InputRightCurlyTestSwitchExpression7.java"), expected);
828 }
829
830 @Test
831 public void testCaseBlocksInSwitchStatementAlone() throws Exception {
832 final String[] expected = {
833 "33:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
834 "44:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
835 "73:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
836 "78:44: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 44),
837 "90:39: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 39),
838 "97:42: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 42),
839 "107:35: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 35),
840 };
841 verifyWithInlineConfigParser(
842 getPath("InputRightCurlyCaseBlocksInSwitchStatementAlone.java"), expected);
843 }
844
845 @Test
846 public void testCaseBlocksInSwitchStatementAlone2() throws Exception {
847 final String[] expected = {
848 "17:15: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 15),
849 "26:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
850 "38:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
851 "41:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
852 "49:24: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 24),
853 "49:45: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 45),
854 "57:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
855 "68:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
856 "68:26: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 26),
857 "75:34: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 34),
858 "75:47: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 47),
859 "82:23: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 23),
860 "102:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
861 };
862 verifyWithInlineConfigParser(
863 getPath("InputRightCurlyCaseBlocksInSwitchStatementAlone2.java"), expected);
864 }
865
866 @Test
867 public void testCaseBlocksInSwitchStatementAloneOrSingleLine() throws Exception {
868 final String[] expected = {
869 "33:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
870 "44:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
871 "73:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
872 "78:51: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 51),
873 };
874 verifyWithInlineConfigParser(
875 getPath("InputRightCurlyCaseBlocksInSwitchStatementAloneOrSingleline.java"),
876 expected);
877 }
878
879 @Test
880 public void testCaseBlocksInSwitchStatementAloneOrSingle2() throws Exception {
881 final String[] expected = {
882 "18:15: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 15),
883 "27:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
884 "39:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
885 "42:15: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 15),
886 "50:23: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 23),
887 "71:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
888 "80:23: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 23),
889 "100:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
890 };
891 verifyWithInlineConfigParser(
892 getPath("InputRightCurlyCaseBlocksInSwitchStatementAloneOrSingleline2.java"),
893 expected);
894 }
895
896 @Test
897 public void testCaseBlocksInSwitchStatementSame() throws Exception {
898 final String[] expected = {
899 "33:16: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 16),
900 "44:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
901 "73:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
902 "78:51: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 51),
903 "106:23: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 23),
904 };
905 verifyWithInlineConfigParser(
906 getPath("InputRightCurlyCaseBlocksInSwitchStatementSame.java"), expected);
907 }
908
909 @Test
910 public void testCaseBlocksInSwitchStatementSame2() throws Exception {
911 final String[] expected = {
912 "18:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
913 "27:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
914 "39:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
915 "42:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
916 "50:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
917 "70:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
918 "77:34: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 34),
919 "77:47: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 47),
920 "85:23: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 23),
921 "103:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
922 };
923 verifyWithInlineConfigParser(
924 getPath("InputRightCurlyCaseBlocksInSwitchStatementSame2.java"), expected);
925 }
926
927 @Test
928 public void testCaseBlocksWithSwitchRuleAlone() throws Exception {
929 final String[] expected = {
930 "32:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
931 "44:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
932 "45:27: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 27),
933 "56:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
934 "69:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
935 "74:46: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 46),
936 "83:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
937 "83:36: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 36),
938 "93:31: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 31),
939 "94:31: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 31),
940 };
941 verifyWithInlineConfigParser(
942 getPath("InputRightCurlyCaseBlocksWithSwitchRuleAlone.java"),
943 expected);
944 }
945
946 @Test
947 public void testCaseBlocksWithSwitchRuleAloneOrSingleLine() throws Exception {
948
949 final String[] expected = {
950 "27:19: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 19),
951 "41:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
952 "53:23: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 23),
953 "54:27: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 27),
954 "64:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
955 "77:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
956 "82:46: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 46),
957 "91:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
958 "102:31: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 31),
959 };
960 final String fileName = "InputRightCurlyCaseBlocksWithSwitchRuleAloneOrSingleline.java";
961 verifyWithInlineConfigParser(getPath(fileName), expected);
962 }
963
964 @Test
965 public void testCaseBlocksWithSwitchExpressionAlone() throws Exception {
966 final String[] expected = {
967 "63:31: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 31),
968 "86:42: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 42),
969 };
970 final String fileName = "InputRightCurlyCaseBlocksWithSwitchExpressionAlone.java";
971 verifyWithInlineConfigParser(getPath(fileName), expected);
972 }
973
974 @Test
975 public void testCaseBlocksWithSwitchExpressionAloneOrSingleLine() throws Exception {
976 final String[] expected = {
977 "63:31: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 31),
978 };
979 final String fileName =
980 "InputRightCurlyCaseBlocksWithSwitchExpressionAloneOrSingleline.java";
981 verifyWithInlineConfigParser(getPath(fileName), expected);
982 }
983 }