diff --git a/pom.xml b/pom.xml index 9ed1a97b476..409bfdd5f3a 100644 --- a/pom.xml +++ b/pom.xml @@ -4574,6 +4574,10 @@ com.puppycrawl.tools.checkstyle.filters.SuppressWithPlainTextCommentFilterTest com.puppycrawl.tools.checkstyle.checks.whitespace.FileTabCharacterCheckTest com.puppycrawl.tools.checkstyle.checks.NewlineAtEndOfFileCheckTest + + com.puppycrawl.tools.checkstyle.checks.naming.ParameterNameCheckTest + + com.puppycrawl.tools.checkstyle.checks.coding.IllegalTypeCheckTest *.Input* diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/api/AutomaticBean.java b/src/main/java/com/puppycrawl/tools/checkstyle/api/AutomaticBean.java index c9a23ef4b33..31df6e3eddb 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/api/AutomaticBean.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/api/AutomaticBean.java @@ -361,7 +361,7 @@ private static class RelaxedStringArrayConverter implements Converter { @Override public Object convert(Class type, Object value) { final StringTokenizer tokenizer = new StringTokenizer( - value.toString(), COMMA_SEPARATOR); + value.toString().trim(), COMMA_SEPARATOR); final List result = new ArrayList<>(); while (tokenizer.hasMoreTokens()) { @@ -390,7 +390,7 @@ private static class RelaxedAccessModifierArrayConverter implements Converter { public Object convert(Class type, Object value) { // Converts to a String and trims it for the tokenizer. final StringTokenizer tokenizer = new StringTokenizer( - value.toString(), COMMA_SEPARATOR); + value.toString().trim(), COMMA_SEPARATOR); final List result = new ArrayList<>(); while (tokenizer.hasMoreTokens()) { diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/coding/IllegalTypeCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/coding/IllegalTypeCheckTest.java index 7951296047d..f006b0e72ce 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/coding/IllegalTypeCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/coding/IllegalTypeCheckTest.java @@ -389,6 +389,14 @@ public void testRecordComponentsPublicProtectedStatic() throws Exception { expected); } + @Test + public void testTrailingWhitespaceInConfig() throws Exception { + final String[] expected = CommonUtil.EMPTY_STRING_ARRAY; + verifyWithInlineConfigParser( + getPath("InputIllegalTypeWhitespaceInConfig.java"), + expected); + } + @Test public void testTokensNotNull() { final IllegalTypeCheck check = new IllegalTypeCheck(); diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/naming/ParameterNameCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/naming/ParameterNameCheckTest.java index bcc678dc2db..42bd84853ad 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/naming/ParameterNameCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/naming/ParameterNameCheckTest.java @@ -178,4 +178,11 @@ public void testLambdaParameterNoViolationAtAll() throws Exception { getPath("InputParameterNameLambda.java"), expected); } + @Test + public void testWhitespaceInConfig() throws Exception { + final String[] expected = CommonUtil.EMPTY_STRING_ARRAY; + verifyWithInlineConfigParser( + getPath("InputParameterNameWhitespaceInConfig.java"), expected); + } + } diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/illegaltype/InputIllegalTypeWhitespaceInConfig.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/illegaltype/InputIllegalTypeWhitespaceInConfig.java new file mode 100644 index 00000000000..31fd6334b24 --- /dev/null +++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/illegaltype/InputIllegalTypeWhitespaceInConfig.java @@ -0,0 +1,28 @@ +/* +IllegalType +validateAbstractClassNames = (default)false +illegalClassNames = java.lang.StringBuffer,\t +legalAbstractClassNames = (default) +ignoredMethodNames = (default)getEnvironment, getInitialContext +illegalAbstractClassNameFormat = (default)^(.*[.])?Abstract.*$ +memberModifiers = (default) +tokens = (default)ANNOTATION_FIELD_DEF, CLASS_DEF, INTERFACE_DEF, METHOD_CALL, METHOD_DEF, \ + METHOD_REF, PARAMETER_DEF, VARIABLE_DEF, PATTERN_VARIABLE_DEF, RECORD_DEF, \ + RECORD_COMPONENT_DEF + + +*/ +package com.puppycrawl.tools.checkstyle.checks.coding.illegaltype; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Target; +import java.util.List; + +public class InputIllegalTypeWhitespaceInConfig { + public void example(List<@MyPattern String> strings) { // ok + } + + @Target(ElementType.TYPE_USE) + public @interface MyPattern {} +} + diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/parametername/InputParameterNameWhitespaceInConfig.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/parametername/InputParameterNameWhitespaceInConfig.java new file mode 100644 index 00000000000..b0397160fbd --- /dev/null +++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/parametername/InputParameterNameWhitespaceInConfig.java @@ -0,0 +1,14 @@ +/* +ParameterName +format = (default)^[a-z][a-zA-Z0-9]*$ +ignoreOverridden = (default)false +accessModifiers = public\t,\t + + +*/ + +package com.puppycrawl.tools.checkstyle.checks.naming.parametername; + +public class InputParameterNameWhitespaceInConfig { + int method(){return 1;} // ok +}