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.Arrays;
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.UpperEllCheck;
30
31 public class XpathRegressionUpperEllTest extends AbstractXpathTestSupport {
32
33 private final String checkName = UpperEllCheck.class.getSimpleName();
34
35 @Override
36 protected String getCheckName() {
37 return checkName;
38 }
39
40 @Test
41 public void testUpperEllOne() throws Exception {
42 final File fileToProcess =
43 new File(getPath("InputXpathUpperEllOne.java"));
44
45 final DefaultConfiguration moduleConfig =
46 createModuleConfig(UpperEllCheck.class);
47
48 final String[] expectedViolation = {
49 "4:16: " + getCheckMessage(UpperEllCheck.class,
50 UpperEllCheck.MSG_KEY),
51 };
52
53 final List<String> expectedXpathQueries = Arrays.asList(
54 "/COMPILATION_UNIT/CLASS_DEF"
55 + "[./IDENT[@text='InputXpathUpperEllOne']]/OBJBLOCK"
56 + "/VARIABLE_DEF[./IDENT[@text='bad']]/ASSIGN/EXPR[./NUM_LONG[@text='0l']]",
57 "/COMPILATION_UNIT/CLASS_DEF"
58 + "[./IDENT[@text='InputXpathUpperEllOne']]/OBJBLOCK"
59 + "/VARIABLE_DEF[./IDENT[@text='bad']]/ASSIGN/EXPR"
60 + "/NUM_LONG[@text='0l']"
61 );
62
63 runVerifications(moduleConfig, fileToProcess, expectedViolation,
64 expectedXpathQueries);
65 }
66
67 @Test
68 public void testUpperEllTwo() throws Exception {
69 final File fileToProcess =
70 new File(getPath("InputXpathUpperEllTwo.java"));
71
72 final DefaultConfiguration moduleConfig =
73 createModuleConfig(UpperEllCheck.class);
74
75 final String[] expectedViolation = {
76 "6:21: " + getCheckMessage(UpperEllCheck.class,
77 UpperEllCheck.MSG_KEY),
78 };
79
80 final List<String> expectedXpathQueries = Arrays.asList(
81 "/COMPILATION_UNIT/INTERFACE_DEF"
82 + "[./IDENT[@text='InputXpathUpperEllTwo']]/OBJBLOCK/METHOD_DEF"
83 + "[./IDENT[@text='test']]/SLIST/VARIABLE_DEF[./IDENT[@text='var2']]/ASSIGN/EXPR"
84 + "[./NUM_LONG[@text='508987l']]",
85 "/COMPILATION_UNIT/INTERFACE_DEF"
86 + "[./IDENT[@text='InputXpathUpperEllTwo']]/OBJBLOCK/METHOD_DEF"
87 + "[./IDENT[@text='test']]/SLIST/VARIABLE_DEF[./IDENT[@text='var2']]/ASSIGN/EXPR"
88 + "/NUM_LONG[@text='508987l']"
89 );
90
91 runVerifications(moduleConfig, fileToProcess, expectedViolation,
92 expectedXpathQueries);
93 }
94
95 @Test
96 public void testUpperEllThree() throws Exception {
97 final File fileToProcess =
98 new File(getPath("InputXpathUpperEllThree.java"));
99
100 final DefaultConfiguration moduleConfig =
101 createModuleConfig(UpperEllCheck.class);
102
103 final String[] expectedViolation = {
104 "5:18: " + getCheckMessage(UpperEllCheck.class,
105 UpperEllCheck.MSG_KEY),
106 };
107
108 final List<String> expectedXpathQueries = Arrays.asList(
109 "/COMPILATION_UNIT/ENUM_DEF"
110 + "[./IDENT[@text='InputXpathUpperEllThree']]/OBJBLOCK"
111 + "/VARIABLE_DEF[./IDENT[@text='field']]/ASSIGN/EXPR"
112 + "[./NUM_LONG[@text='123l']]",
113 "/COMPILATION_UNIT/ENUM_DEF"
114 + "[./IDENT[@text='InputXpathUpperEllThree']]/OBJBLOCK"
115 + "/VARIABLE_DEF[./IDENT[@text='field']]/ASSIGN/EXPR"
116 + "/NUM_LONG[@text='123l']"
117 );
118
119 runVerifications(moduleConfig, fileToProcess, expectedViolation,
120 expectedXpathQueries);
121 }
122 }