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 6fe90652948..e25547ebb05 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 @@ -167,4 +167,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..02edd41c068 --- /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 = foo1 +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) { + } + + @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..73400614a3e --- /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 + + +*/ + +package com.puppycrawl.tools.checkstyle.checks.naming.parametername; + +public class InputParameterNameWhitespaceInConfig { + int method(){return 1;} +}