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.grammar;
21
22 import static com.puppycrawl.tools.checkstyle.checks.naming.AbstractNameCheck.MSG_INVALID_PATTERN;
23
24 import java.nio.charset.Charset;
25 import java.nio.charset.StandardCharsets;
26
27 import org.junit.jupiter.api.Assumptions;
28 import org.junit.jupiter.api.Test;
29
30 import com.puppycrawl.tools.checkstyle.AbstractModuleTestSupport;
31 import com.puppycrawl.tools.checkstyle.checks.naming.MemberNameCheck;
32 import com.puppycrawl.tools.checkstyle.utils.CommonUtil;
33
34
35
36
37 public class GeneratedJava14LexerTest
38 extends AbstractModuleTestSupport {
39
40
41
42
43 private static final boolean IS_UTF8 = Charset.forName(System.getProperty("file.encoding"))
44 .equals(StandardCharsets.UTF_8);
45
46 @Override
47 protected String getPackageLocation() {
48 return "com/puppycrawl/tools/checkstyle/grammar";
49 }
50
51 @Test
52 public void testUnexpectedChar() throws Exception {
53
54 Assumptions.assumeTrue(IS_UTF8, "Problems with encoding may occur");
55
56
57 final String[] expected = {
58 "18:9: " + getCheckMessage(MemberNameCheck.class, MSG_INVALID_PATTERN,
59 new String(new char[] {0xC3, 0x042F}), "^[a-z][a-zA-Z0-9]*$"),
60 };
61 verifyWithInlineConfigParser(getPath("InputGrammar.java"), expected);
62 }
63
64 @Test
65 public void testSemicolonBetweenImports() throws Exception {
66 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
67 verifyWithInlineConfigParser(
68 getNonCompilablePath("InputSemicolonBetweenImports.java"), expected);
69 }
70
71 }