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.filefilters;
21
22 import static com.google.common.truth.Truth.assertWithMessage;
23 import static com.puppycrawl.tools.checkstyle.checks.coding.FinalLocalVariableCheck.MSG_KEY;
24
25 import java.util.regex.Pattern;
26
27 import org.junit.jupiter.api.Test;
28
29 import com.puppycrawl.tools.checkstyle.AbstractModuleTestSupport;
30 import com.puppycrawl.tools.checkstyle.checks.coding.FinalLocalVariableCheck;
31 import com.puppycrawl.tools.checkstyle.utils.CommonUtil;
32
33 public class BeforeExecutionExclusionFileFilterTest extends AbstractModuleTestSupport {
34
35 @Override
36 protected String getPackageLocation() {
37 return "com/puppycrawl/tools/checkstyle/filefilters/beforeexecutionexclusionfilefilter";
38 }
39
40 @Test
41 public void testAccept() {
42 final String fileName = "BAD";
43 final BeforeExecutionExclusionFileFilter filter =
44 createExclusionBeforeExecutionFileFilter(fileName);
45
46 assertWithMessage("Should accept if file does not exist")
47 .that(filter.accept("ATest.java"))
48 .isTrue();
49 }
50
51 @Test
52 public void testAcceptOnNullFile() {
53 final String fileName = null;
54 final BeforeExecutionExclusionFileFilter filter =
55 createExclusionBeforeExecutionFileFilter(fileName);
56
57 assertWithMessage("Should accept if file is null")
58 .that(filter.accept("AnyJava.java"))
59 .isTrue();
60 }
61
62 @Test
63 public void testReject() {
64 final String fileName = "Test";
65 final BeforeExecutionExclusionFileFilter filter =
66 createExclusionBeforeExecutionFileFilter(fileName);
67
68 assertWithMessage("Should reject file, but did not")
69 .that(filter.accept("ATest.java"))
70 .isFalse();
71 }
72
73 @Test
74 public void testFileExclusion() throws Exception {
75 final String[] filteredViolations = CommonUtil.EMPTY_STRING_ARRAY;
76
77 final String[] unfilteredViolations = {
78 "17:13: " + getCheckMessage(FinalLocalVariableCheck.class, MSG_KEY, "i"),
79 };
80
81 verifyFilterWithInlineConfigParser(
82 getPath("InputBeforeExecutionExclusionFileFilter.java"),
83 unfilteredViolations, filteredViolations
84 );
85 }
86
87 private static BeforeExecutionExclusionFileFilter
88 createExclusionBeforeExecutionFileFilter(String fileName) {
89 final BeforeExecutionExclusionFileFilter exclusionBeforeExecutionFileFilter =
90 new BeforeExecutionExclusionFileFilter();
91 if (fileName != null) {
92 exclusionBeforeExecutionFileFilter.setFileNamePattern(Pattern.compile(fileName));
93 }
94 return exclusionBeforeExecutionFileFilter;
95 }
96
97 }