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.coding;
21
22 import static com.google.common.truth.Truth.assertWithMessage;
23 import static com.puppycrawl.tools.checkstyle.checks.coding.IllegalCatchCheck.MSG_KEY;
24
25 import org.junit.jupiter.api.Test;
26
27 import com.puppycrawl.tools.checkstyle.AbstractModuleTestSupport;
28
29 public class IllegalCatchCheckTest extends AbstractModuleTestSupport {
30
31 @Override
32 protected String getPackageLocation() {
33 return "com/puppycrawl/tools/checkstyle/checks/coding/illegalcatch";
34 }
35
36 @Test
37 public void testIllegalCatchCheckDefaultTokens() throws Exception {
38
39 final String[] expected = {
40 "14:11: " + getCheckMessage(MSG_KEY, "RuntimeException"),
41 "15:11: " + getCheckMessage(MSG_KEY, "Exception"),
42 "16:11: " + getCheckMessage(MSG_KEY, "Throwable"),
43 "22:11: " + getCheckMessage(MSG_KEY, "java.lang.RuntimeException"),
44 "24:11: " + getCheckMessage(MSG_KEY, "java.lang.Exception"),
45 "26:11: " + getCheckMessage(MSG_KEY, "java.lang.Throwable"),
46 };
47
48 verifyWithInlineConfigParser(
49 getPath("InputIllegalCatchCheckDefaultTokens.java"), expected);
50 }
51
52 @Test
53 public void testIllegalCatchCheckSuperclassThrowable() throws Exception {
54 final String[] expected = {
55 "14:11: " + getCheckMessage(MSG_KEY, "Exception"),
56 "15:11: " + getCheckMessage(MSG_KEY, "Throwable"),
57 "22:11: " + getCheckMessage(MSG_KEY, "java.lang.Exception"),
58 "24:11: " + getCheckMessage(MSG_KEY, "java.lang.Throwable"),
59 };
60
61 verifyWithInlineConfigParser(
62 getPath("InputIllegalCatchCheckSuperclassThrowable.java"), expected);
63 }
64
65 @Test
66 public void testIllegalCatchCheckSuperclassException() throws Exception {
67
68 final String[] expected = {
69 "15:11: " + getCheckMessage(MSG_KEY, "Exception"),
70 "23:11: " + getCheckMessage(MSG_KEY, "java.lang.Exception"),
71 };
72
73 verifyWithInlineConfigParser(
74 getPath("InputIllegalCatchCheckSuperclassException.java"), expected);
75 }
76
77 @Test
78 public void testIllegalCatchCheckMultipleExceptions() throws Exception {
79 final String[] expected = {
80 "15:11: " + getCheckMessage(MSG_KEY, "RuntimeException"),
81 "15:11: " + getCheckMessage(MSG_KEY, "SQLException"),
82 "21:11: " + getCheckMessage(MSG_KEY, "RuntimeException"),
83 "21:11: " + getCheckMessage(MSG_KEY, "SQLException"),
84 "21:11: " + getCheckMessage(MSG_KEY, "OneMoreException"),
85 "28:11: " + getCheckMessage(MSG_KEY, "OneMoreException"),
86 "28:11: " + getCheckMessage(MSG_KEY, "RuntimeException"),
87 "28:11: " + getCheckMessage(MSG_KEY, "SQLException"),
88 "35:11: " + getCheckMessage(MSG_KEY, "OneMoreException"),
89 "35:11: " + getCheckMessage(MSG_KEY, "SQLException"),
90 "35:11: " + getCheckMessage(MSG_KEY, "RuntimeException"),
91 };
92
93 verifyWithInlineConfigParser(
94 getPath("InputIllegalCatchCheckMultipleExceptions.java"), expected);
95 }
96
97 @Test
98 public void testTokensNotNull() {
99 final IllegalCatchCheck check = new IllegalCatchCheck();
100 assertWithMessage("Acceptable tokens should not be null")
101 .that(check.getAcceptableTokens())
102 .isNotNull();
103 assertWithMessage("Default tokens should not be null")
104 .that(check.getDefaultTokens())
105 .isNotNull();
106 assertWithMessage("Required tokens should not be null")
107 .that(check.getRequiredTokens())
108 .isNotNull();
109 }
110
111 }