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 org.junit.Assert.assertFalse;
23 import static org.junit.Assert.assertTrue;
24
25 import java.util.regex.Pattern;
26
27 import org.junit.Test;
28
29 import com.puppycrawl.tools.checkstyle.AbstractModuleTestSupport;
30 import com.puppycrawl.tools.checkstyle.DefaultConfiguration;
31 import com.puppycrawl.tools.checkstyle.TreeWalker;
32 import com.puppycrawl.tools.checkstyle.checks.coding.FinalLocalVariableCheck;
33 import com.puppycrawl.tools.checkstyle.utils.CommonUtil;
34
35 public class BeforeExecutionExclusionFileFilterTest extends AbstractModuleTestSupport {
36
37 @Override
38 protected String getPackageLocation() {
39 return "com/puppycrawl/tools/checkstyle/filefilters/beforeexecutionexclusionfilefilter";
40 }
41
42 @Test
43 public void testAccept() {
44 final String fileName = "BAD";
45 final BeforeExecutionExclusionFileFilter filter =
46 createExclusionBeforeExecutionFileFilter(fileName);
47
48 assertTrue("Should accept if file does not exist", filter.accept("ATest.java"));
49 }
50
51 @Test
52 public void testAcceptOnNullFile() {
53 final String fileName = null;
54 final BeforeExecutionExclusionFileFilter filter =
55 createExclusionBeforeExecutionFileFilter(fileName);
56
57 assertTrue("Should accept if file is null", filter.accept("AnyJava.java"));
58 }
59
60 @Test
61 public void testReject() {
62 final String fileName = "Test";
63 final BeforeExecutionExclusionFileFilter filter =
64 createExclusionBeforeExecutionFileFilter(fileName);
65
66 assertFalse("Should reject file, but did not", filter.accept("ATest.java"));
67 }
68
69 @Test
70 public void testRejectBadFile() throws Exception {
71 final DefaultConfiguration filterConfig =
72 createModuleConfig(BeforeExecutionExclusionFileFilter.class);
73 filterConfig.addAttribute("fileNamePattern", "IncorrectClass\\.java");
74
75 final DefaultConfiguration checkConfig = createModuleConfig(FinalLocalVariableCheck.class);
76 final DefaultConfiguration treeWalkerConfig = createModuleConfig(TreeWalker.class);
77 treeWalkerConfig.addChild(checkConfig);
78 final DefaultConfiguration checkerConfig = createRootConfig(treeWalkerConfig);
79 checkerConfig.addChild(filterConfig);
80
81 final String[] violations = CommonUtil.EMPTY_STRING_ARRAY;
82 verify(checkerConfig,
83 getNonCompilablePath("InputBeforeExecutionExclusionFileFilterIncorrectClass.java"),
84 violations);
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 }