1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.checkstyle.suppressionxpathfilter;
21
22 import java.io.File;
23 import java.util.Collections;
24 import java.util.List;
25
26 import org.junit.jupiter.api.Test;
27
28 import com.puppycrawl.tools.checkstyle.DefaultConfiguration;
29 import com.puppycrawl.tools.checkstyle.checks.coding.NoEnumTrailingCommaCheck;
30
31 public class XpathRegressionNoEnumTrailingCommaTest extends AbstractXpathTestSupport {
32
33 private final String checkName = NoEnumTrailingCommaCheck.class.getSimpleName();
34
35 @Override
36 protected String getCheckName() {
37 return checkName;
38 }
39
40 @Test
41 public void testOne() throws Exception {
42 final File fileToProcess = new File(getPath(
43 "InputXpathNoEnumTrailingCommaOne.java"));
44
45 final DefaultConfiguration moduleConfig =
46 createModuleConfig(NoEnumTrailingCommaCheck.class);
47
48 final String[] expectedViolation = {
49 "7:12: " + getCheckMessage(NoEnumTrailingCommaCheck.class,
50 NoEnumTrailingCommaCheck.MSG_KEY),
51 };
52
53 final List<String> expectedXpathQueries = Collections.singletonList(
54 "/COMPILATION_UNIT/CLASS_DEF"
55 + "[./IDENT[@text='InputXpathNoEnumTrailingCommaOne']]"
56 + "/OBJBLOCK/ENUM_DEF[./IDENT[@text='Foo3']]/OBJBLOCK/COMMA[2]"
57 );
58
59 runVerifications(moduleConfig, fileToProcess, expectedViolation, expectedXpathQueries);
60 }
61
62 @Test
63 public void testTwo() throws Exception {
64 final File fileToProcess = new File(getPath(
65 "InputXpathNoEnumTrailingCommaTwo.java"));
66
67 final DefaultConfiguration moduleConfig =
68 createModuleConfig(NoEnumTrailingCommaCheck.class);
69
70 final String[] expectedViolation = {
71 "5:25: " + getCheckMessage(NoEnumTrailingCommaCheck.class,
72 NoEnumTrailingCommaCheck.MSG_KEY),
73 };
74
75 final List<String> expectedXpathQueries = Collections.singletonList(
76 "/COMPILATION_UNIT/CLASS_DEF"
77 + "[./IDENT[@text='InputXpathNoEnumTrailingCommaTwo']]"
78 + "/OBJBLOCK/ENUM_DEF[./IDENT[@text='Foo6']]/OBJBLOCK/COMMA[2]"
79 );
80
81 runVerifications(moduleConfig, fileToProcess, expectedViolation, expectedXpathQueries);
82 }
83 }