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 protected 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 ex) {
345 assertWithMessage("Invalid exception message")
346 .that(ex.getMessage())
347 .isEqualTo("cannot initialize module com.puppycrawl.tools.checkstyle.TreeWalker - "
348 + "cannot initialize module com.puppycrawl.tools.checkstyle.checks."
349 + "blocks.RightCurlyCheck - "
350 + "Cannot set property 'option' to 'invalid_option'");
351 }
352 }
353
354 @Test
355 public void testRightCurlySameAndLiteralDo() throws Exception {
356 final String[] expected = {
357 "70:9: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 9),
358 "75:13: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 13),
359 "91:9: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 9),
360 };
361 verifyWithInlineConfigParser(
362 getPath("InputRightCurlyTestSameAndLiteralDo.java"), expected);
363 }
364
365 @Test
366 public void testTryWithResourceSame() throws Exception {
367 final String[] expected = {
368 "19:9: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 9),
369 "33:67: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 67),
370 "44:15: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 15),
371 "46:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
372 };
373 verifyWithInlineConfigParser(
374 getPath("InputRightCurlyTestTryWithResourceSame.java"), expected);
375 }
376
377 @Test
378 public void testTryWithResourceAlone() throws Exception {
379 final String[] expected = {
380 "27:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
381 "33:67: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 67),
382 "34:35: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 35),
383 "37:64: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 64),
384 "37:92: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 92),
385 "44:67: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 67),
386 "46:15: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 15),
387 "48:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
388 };
389 verifyWithInlineConfigParser(
390 getPath("InputRightCurlyTestTryWithResourceAlone.java"), expected);
391 }
392
393 @Test
394 public void testTryWithResourceAloneSingle() throws Exception {
395 final String[] expected = {
396 "27:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
397 "43:15: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 15),
398 "45:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
399 };
400 verifyWithInlineConfigParser(
401 getPath("InputRightCurlyTryWithResourceAloneSingle.java"), expected);
402 }
403
404 @Test
405 public void testBracePolicyAloneAndSinglelineIfBlocks() throws Exception {
406 final String[] expected = {
407 "13:32: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 32),
408 "15:45: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 45),
409 "15:47: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 47),
410 };
411 verifyWithInlineConfigParser(
412 getPath("InputRightCurlyTestSinglelineIfBlocks.java"), expected);
413 }
414
415 @Test
416 public void testRightCurlyIsAloneLambda() throws Exception {
417 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
418 verifyWithInlineConfigParser(
419 getPath("InputRightCurlyTestIsAloneLambda.java"), expected);
420 }
421
422 @Test
423 public void testRightCurlyIsAloneOrSinglelineLambda() throws Exception {
424 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
425 verifyWithInlineConfigParser(
426 getPath("InputRightCurlyTestIsAloneOrSinglelineLambda.java"), expected);
427 }
428
429 @Test
430 public void testRightCurlyIsSameLambda() throws Exception {
431 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
432 verifyWithInlineConfigParser(
433 getPath("InputRightCurlyTestIsSameLambda.java"), expected);
434 }
435
436 @Test
437 public void testOptionAlone() throws Exception {
438 final String[] expected = {
439 "16:15: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 15),
440 "17:21: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 21),
441 "21:26: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 26),
442 "30:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
443 "47:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
444 "51:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
445 "54:30: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 30),
446 "56:27: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 27),
447 "58:17: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 17),
448 "60:53: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 53),
449 "62:27: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 27),
450 "62:52: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 52),
451 "75:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
452 "75:11: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 11),
453 "79:39: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 39),
454 "81:56: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 56),
455 "84:24: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 24),
456 "96:30: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 30),
457 "99:39: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 39),
458 "105:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
459 "105:10: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 10),
460 };
461 verifyWithInlineConfigParser(
462 getPath("InputRightCurlyTestOptionAlone.java"),
463 expected);
464 }
465
466 @Test
467 public void testOptionAloneOrSingleLine() throws Exception {
468 final String[] expected = {
469 "21:26: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 26),
470 "30:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
471 "38:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
472 "47:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
473 "51:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
474 "72:24: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 24),
475 "77:30: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 30),
476 "86:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
477 "86:10: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 10),
478 };
479 verifyWithInlineConfigParser(
480 getPath(
481 "InputRightCurlyTestOptionAloneOrSingleLine.java"), expected);
482 }
483
484 @Test
485 public void testBlocksEndingWithSemiOptionSame() throws Exception {
486 final String[] expected = {
487 "16:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
488 "21:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
489 "27:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
490 "35:29: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 29),
491 "41:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
492 "44:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
493 "51:20: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 20),
494 "57:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
495 "60:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
496 "65:30: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 30),
497 "74:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
498 "74:11: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 11),
499 "78:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
500 };
501 verifyWithInlineConfigParser(
502 getPath("InputRightCurlyTestOptSameBlocksWithSemi.java"), expected);
503 }
504
505 @Test
506 public void testBlocksEndingWithSemiOptionAlone() throws Exception {
507 final String[] expected = {
508 "13:31: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 31),
509 "16:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
510 "18:29: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 29),
511 "21:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
512 "24:30: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 30),
513 "27:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
514 "35:29: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 29),
515 "37:40: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 40),
516 "41:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
517 "44:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
518 "46:61: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 61),
519 "48:19: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 19),
520 "51:20: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 20),
521 "53:34: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 34),
522 "57:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
523 "60:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
524 "65:30: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 30),
525 "71:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
526 "71:11: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 11),
527 "75:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
528 };
529 verifyWithInlineConfigParser(
530 getPath("InputRightCurlyTestOptAloneBlocksWithSemi.java"), expected);
531 }
532
533 @Test
534 public void testBlocksEndingWithSemiOptionAloneOrSingleLine() throws Exception {
535 final String[] expected = {
536 "16:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
537 "21:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
538 "27:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
539 "35:29: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 29),
540 "41:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
541 "44:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
542 "51:20: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 20),
543 "57:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
544 "60:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
545 "65:30: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 30),
546 "74:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
547 "74:11: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 11),
548 "78:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
549 };
550 verifyWithInlineConfigParser(
551 getPath("InputRightCurlyTestOptAloneOrSingleLineBlocksWithSemi.java"), expected);
552 }
553
554 @Test
555 public void testNewTokensAlone() throws Exception {
556 final String[] expected = {
557 "13:19: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 19),
558 "16:20: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 20),
559 "18:34: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 34),
560 };
561 verifyWithInlineConfigParser(
562 getPath("InputRightCurlyTestNewTokensAlone.java"), expected);
563 }
564
565 @Test
566 public void testNewTokensAloneOrSingleLine() throws Exception {
567 final String[] expected = {
568 "16:20: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 20),
569 };
570 verifyWithInlineConfigParser(
571 getPath("InputRightCurlyNewTokensAloneOrSingleLine.java"), expected);
572 }
573
574 @Test
575 public void testNewTokensSame() throws Exception {
576 final String[] expected = {
577 "16:20: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 20),
578 };
579 verifyWithInlineConfigParser(
580 getPath("InputRightCurlyTestSameNewTokens.java"), expected);
581 }
582
583 @Test
584 public void testRightCurlyDoubleBrace() throws Exception {
585 final String[] expected = {
586 "14:1: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 1),
587 "14:2: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 2),
588 };
589 verifyWithInlineConfigParser(
590 getPath("InputRightCurlyTestDoubleBrace.java"), expected);
591 }
592
593 @Test
594 public void testRightCurlyEmptyOnSingleLine() throws Exception {
595 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
596 verifyWithInlineConfigParser(
597 getPath("InputRightCurlyTestEmptyOnSingleLine.java"), expected);
598 }
599
600 @Test
601 public void testRightCurlyEndOfFile() throws Exception {
602 final String[] expected = {
603 "16:2: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 2),
604 "16:3: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 3),
605 };
606 verifyWithInlineConfigParser(
607 getPath("InputRightCurlyTestEndOfFile.java"), expected);
608 }
609
610 @Test
611 public void testRightCurlyRecordsAndCompactCtors() throws Exception {
612 final String[] expected = {
613 "23:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
614 "23:11: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 11),
615 "27:21: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 21),
616 "32:23: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 23),
617 "34:37: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 37),
618 "41:68: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 68),
619 };
620 verifyWithInlineConfigParser(
621 getNonCompilablePath("InputRightCurlyTestRecordsAndCompactCtors.java"), expected);
622 }
623
624 @Test
625 public void testRightCurlyWithEmoji() throws Exception {
626 final String[] expected = {
627 "24:13: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 13),
628 "28:13: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 13),
629 "49:9: " + getCheckMessage(MSG_KEY_LINE_SAME, "}", 9),
630 "69:50: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 50),
631 "78:44: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 44),
632 "84:41: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 41),
633
634 };
635 verifyWithInlineConfigParser(getPath("InputRightCurlyWithEmoji.java"), expected);
636 }
637
638 @Test
639 public void testRightCurlyWithEmojiAloneOrSingleLine() throws Exception {
640 final String[] expected = {
641 "24:38: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 38),
642 "30:43: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 43),
643 "40:45: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 45),
644 "51:41: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 41),
645 "54:31: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 31),
646 };
647 verifyWithInlineConfigParser(
648 getPath("InputRightCurlyWithEmojiAloneOrSingleLine.java"), expected);
649 }
650
651 @Test
652 public void testUppercaseOptionProperty() throws Exception {
653 final String[] expected = {
654 "16:46: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 46),
655 "21:35: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 35),
656 };
657 verifyWithInlineConfigParser(
658 getPath("InputRightCurlyWithUppercaseOptionProperty.java"), expected);
659 }
660
661 @Test
662 public void testRightCurlyWithIfElseAlone() throws Exception {
663 final String[] expected = {
664 "19:12: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 12),
665 "27:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
666 };
667 verifyWithInlineConfigParser(
668 getPath("InputRightCurlyTestIfElseAlone.java"), expected);
669 }
670
671 @Test
672 public void testSwitchCase() throws Exception {
673 final String[] expected = {
674 "20:24: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 24),
675 "27:27: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 27),
676 "51:46: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 46),
677 "69:68: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 68),
678 "75:74: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 74),
679 "112:17: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 17),
680 "116:21: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 21),
681 };
682 verifyWithInlineConfigParser(
683 getPath("InputRightCurlyTestSwitchCase.java"), expected);
684 }
685
686 @Test
687 public void testSwitchCase2() throws Exception {
688 final String[] expected = {
689 "20:24: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 24),
690 "27:27: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 27),
691 "114:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
692 };
693 verifyWithInlineConfigParser(
694 getPath("InputRightCurlyTestSwitchCase2.java"), expected);
695 }
696
697 @Test
698 public void testSwitchCase3() throws Exception {
699 final String[] expected = {
700 "15:22: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 22),
701 "17:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
702 "19:36: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 36),
703 "25:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
704 "26:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
705 "28:22: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 22),
706 "29:22: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 22),
707 "37:26: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 26),
708 "37:27: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 27),
709 "43:40: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 40),
710 "43:41: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 41),
711 "48:46: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 46),
712 "50:32: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 32),
713 "50:33: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 33),
714 "52:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
715 "52:14: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 14),
716 };
717 verifyWithInlineConfigParser(
718 getPath("InputRightCurlyTestSwitchCase3.java"), expected);
719 }
720
721 @Test
722 public void testSwitchCase4() throws Exception {
723 final String[] expected = {
724 "17:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
725 "19:36: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 36),
726 "25:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
727 "26:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
728 "28:22: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 22),
729 "35:41: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 41),
730 "35:42: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 42),
731 "40:46: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 46),
732 "42:32: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 32),
733 };
734 verifyWithInlineConfigParser(
735 getPath("InputRightCurlyTestSwitchCase4.java"), expected);
736 }
737
738 @Test
739 public void testSwitchCase5() throws Exception {
740 final String[] expected = {
741 "17:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
742 "19:36: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 36),
743 "25:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
744 "26:37: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 37),
745 "28:22: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 22),
746 "35:41: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 41),
747 "35:42: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 42),
748 "40:46: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 46),
749 "42:32: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 32),
750 "65:49: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 49),
751 };
752 verifyWithInlineConfigParser(
753 getPath("InputRightCurlyTestSwitchCase5.java"), expected);
754 }
755
756 @Test
757 public void testSwitchExpression() throws Exception {
758 final String[] expected = {
759 "48:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
760 "56:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
761 "92:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
762 };
763 verifyWithInlineConfigParser(
764 getNonCompilablePath("InputRightCurlyTestSwitchExpression.java"), expected);
765 }
766
767 @Test
768 public void testSwitchExpression2() throws Exception {
769 final String[] expected = {
770 "46:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
771 "54:5: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 5),
772 "77:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
773 "90:9: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 9),
774 };
775 verifyWithInlineConfigParser(
776 getNonCompilablePath("InputRightCurlyTestSwitchExpression2.java"), expected);
777 }
778
779 @Test
780 public void testSwitchExpression3() throws Exception {
781 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
782 verifyWithInlineConfigParser(
783 getNonCompilablePath("InputRightCurlyTestSwitchExpression3.java"), expected);
784 }
785
786 @Test
787 public void testSwitchExpression4() throws Exception {
788 final String[] expected = {
789 "117:28: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 28),
790 };
791 verifyWithInlineConfigParser(
792 getNonCompilablePath("InputRightCurlyTestSwitchExpression4.java"), expected);
793 }
794
795 @Test
796 public void testSwitchExpression5() throws Exception {
797 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
798 verifyWithInlineConfigParser(
799 getNonCompilablePath("InputRightCurlyTestSwitchExpression5.java"), expected);
800 }
801
802 @Test
803 public void testSwitchWithComment() throws Exception {
804 final String[] expected = {
805 "16:66: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 66),
806 "23:61: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 61),
807 "24:57: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 57),
808 "31:23: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 23),
809 "32:19: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 19),
810 "37:23: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 23),
811 "38:33: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 33),
812 };
813 verifyWithInlineConfigParser(
814 getPath("InputRightCurlyTestWithComment.java"), expected);
815 }
816
817 @Test
818 public void testSwitchExpression6() throws Exception {
819 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
820 verifyWithInlineConfigParser(
821 getNonCompilablePath("InputRightCurlyTestSwitchExpression6.java"), expected);
822 }
823
824 @Test
825 public void testSwitchExpression7() throws Exception {
826 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
827 verifyWithInlineConfigParser(
828 getNonCompilablePath("InputRightCurlyTestSwitchExpression7.java"), expected);
829 }
830
831 @Test
832 public void testCaseBlocksInSwitchStatementAlone() throws Exception {
833 final String[] expected = {
834 "33:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
835 "44:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
836 "73:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
837 "78:44: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 44),
838 "90:39: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 39),
839 "97:42: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 42),
840 "107:35: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 35),
841 };
842 verifyWithInlineConfigParser(
843 getPath("InputRightCurlyCaseBlocksInSwitchStatementAlone.java"), expected);
844 }
845
846 @Test
847 public void testCaseBlocksInSwitchStatementAlone2() throws Exception {
848 final String[] expected = {
849 "17:15: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 15),
850 "26:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
851 "38:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
852 "41:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
853 "49:24: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 24),
854 "49:45: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 45),
855 "57:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
856 "68:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
857 "68:26: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 26),
858 "75:34: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 34),
859 "75:47: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 47),
860 "82:23: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 23),
861 "102:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
862 };
863 verifyWithInlineConfigParser(
864 getPath("InputRightCurlyCaseBlocksInSwitchStatementAlone2.java"), expected);
865 }
866
867 @Test
868 public void testCaseBlocksInSwitchStatementAloneOrSingleLine() throws Exception {
869 final String[] expected = {
870 "33:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
871 "44:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
872 "73:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
873 "78:51: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 51),
874 };
875 verifyWithInlineConfigParser(
876 getPath("InputRightCurlyCaseBlocksInSwitchStatementAloneOrSingleline.java"),
877 expected);
878 }
879
880 @Test
881 public void testCaseBlocksInSwitchStatementAloneOrSingle2() throws Exception {
882 final String[] expected = {
883 "18:15: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 15),
884 "27:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
885 "39:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
886 "42:15: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 15),
887 "50:23: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 23),
888 "71:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
889 "80:23: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 23),
890 "100:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
891 };
892 verifyWithInlineConfigParser(
893 getPath("InputRightCurlyCaseBlocksInSwitchStatementAloneOrSingleline2.java"),
894 expected);
895 }
896
897 @Test
898 public void testCaseBlocksInSwitchStatementSame() throws Exception {
899 final String[] expected = {
900 "33:16: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 16),
901 "44:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
902 "73:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
903 "78:51: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 51),
904 "106:23: " + getCheckMessage(MSG_KEY_LINE_BREAK_BEFORE, "}", 23),
905 };
906 verifyWithInlineConfigParser(
907 getPath("InputRightCurlyCaseBlocksInSwitchStatementSame.java"), expected);
908 }
909
910 @Test
911 public void testCaseBlocksInSwitchStatementSame2() throws Exception {
912 final String[] expected = {
913 "18:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
914 "27:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
915 "39:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
916 "42:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
917 "50:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
918 "70:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
919 "77:34: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 34),
920 "77:47: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 47),
921 "85:23: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 23),
922 "103:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
923 };
924 verifyWithInlineConfigParser(
925 getPath("InputRightCurlyCaseBlocksInSwitchStatementSame2.java"), expected);
926 }
927
928 @Test
929 public void testCaseBlocksWithSwitchRuleAlone() throws Exception {
930 final String[] expected = {
931 "32:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
932 "44:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
933 "45:27: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 27),
934 "56:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
935 "69:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
936 "74:46: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 46),
937 "83:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
938 "83:36: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 36),
939 "93:31: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 31),
940 "94:31: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 31),
941 };
942 verifyWithInlineConfigParser(
943 getNonCompilablePath("InputRightCurlyCaseBlocksWithSwitchRuleAlone.java"),
944 expected);
945 }
946
947 @Test
948 public void testCaseBlocksWithSwitchRuleAloneOrSingleLine() throws Exception {
949
950 final String[] expected = {
951 "27:19: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 19),
952 "41:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
953 "53:23: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 23),
954 "54:27: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 27),
955 "64:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
956 "77:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
957 "82:46: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 46),
958 "91:13: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 13),
959 "102:31: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 31),
960 };
961 final String fileName = "InputRightCurlyCaseBlocksWithSwitchRuleAloneOrSingleline.java";
962 verifyWithInlineConfigParser(getNonCompilablePath(fileName), expected);
963 }
964
965 @Test
966 public void testCaseBlocksWithSwitchExpressionAlone() throws Exception {
967 final String[] expected = {
968 "63:31: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 31),
969 "86:42: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 42),
970 };
971 final String fileName = "InputRightCurlyCaseBlocksWithSwitchExpressionAlone.java";
972 verifyWithInlineConfigParser(getNonCompilablePath(fileName), expected);
973 }
974
975 @Test
976 public void testCaseBlocksWithSwitchExpressionAloneOrSingleLine() throws Exception {
977 final String[] expected = {
978 "63:31: " + getCheckMessage(MSG_KEY_LINE_ALONE, "}", 31),
979 };
980 final String fileName =
981 "InputRightCurlyCaseBlocksWithSwitchExpressionAloneOrSingleline.java";
982 verifyWithInlineConfigParser(getNonCompilablePath(fileName), expected);
983 }
984 }