From d66d8033bbeea8a8bb7741fcf755d6896a6abd7b Mon Sep 17 00:00:00 2001 From: as23415672 Date: Tue, 24 May 2022 22:00:30 +0800 Subject: [PATCH] Issue #11666: Added LITERAL_CASE support for WhitespaceAfter check --- .../whitespace/WhitespaceAfterCheck.java | 1 + .../whitespace/WhitespaceAfterCheck.xml | 2 +- .../whitespace/WhitespaceAfterCheckTest.java | 20 ++++++++++++++++++ .../InputWhitespaceAfterLiteralCase.java | 21 +++++++++++++++++++ .../InputWhitespaceAfterLiteralCase2.java | 21 +++++++++++++++++++ src/xdocs/config_whitespace.xml | 4 ++++ 6 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespaceafter/InputWhitespaceAfterLiteralCase.java create mode 100644 src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespaceafter/InputWhitespaceAfterLiteralCase2.java diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheck.java index d50f09eca2a..4d16f3b7e0a 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheck.java @@ -210,6 +210,7 @@ public int[] getAcceptableTokens() { TokenTypes.LITERAL_SWITCH, TokenTypes.LITERAL_SYNCHRONIZED, TokenTypes.LITERAL_TRY, + TokenTypes.LITERAL_CASE, TokenTypes.LAMBDA, }; } diff --git a/src/main/resources/com/puppycrawl/tools/checkstyle/meta/checks/whitespace/WhitespaceAfterCheck.xml b/src/main/resources/com/puppycrawl/tools/checkstyle/meta/checks/whitespace/WhitespaceAfterCheck.xml index 06c6e79202c..f9f34b7697b 100644 --- a/src/main/resources/com/puppycrawl/tools/checkstyle/meta/checks/whitespace/WhitespaceAfterCheck.xml +++ b/src/main/resources/com/puppycrawl/tools/checkstyle/meta/checks/whitespace/WhitespaceAfterCheck.xml @@ -11,7 +11,7 @@ EmptyForIteratorPad</a> to validate empty for iterators. </p> - diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheckTest.java index ca5224b7dae..5bd00628787 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheckTest.java @@ -215,6 +215,26 @@ public void testLiteralCatch() throws Exception { expected); } + @Test + public void testLiteralCase() throws Exception { + final String[] expected = { + "15:13: " + getCheckMessage(MSG_WS_NOT_FOLLOWED, "case"), + }; + verifyWithInlineConfigParser( + getPath("InputWhitespaceAfterLiteralCase.java"), + expected); + } + + @Test + public void testLiteralCase2() throws Exception { + final String[] expected = { + "13:13: " + getCheckMessage(MSG_WS_NOT_FOLLOWED, "case"), + }; + verifyWithInlineConfigParser( + getPath("InputWhitespaceAfterLiteralCase2.java"), + expected); + } + @Test public void testEmptyForIterator() throws Exception { final String[] expected = { diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespaceafter/InputWhitespaceAfterLiteralCase.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespaceafter/InputWhitespaceAfterLiteralCase.java new file mode 100644 index 00000000000..4c2c4325551 --- /dev/null +++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespaceafter/InputWhitespaceAfterLiteralCase.java @@ -0,0 +1,21 @@ +/* +WhitespaceAfter +tokens = LITERAL_CASE + + +*/ + +package com.puppycrawl.tools.checkstyle.checks.whitespace.whitespaceafter; + +public class InputWhitespaceAfterLiteralCase { + public static void main(String... args) { + switch(args[0]) { + case "123": // OK + return; + case"1": // violation ''case' is not followed by whitespace' + return; + default: + return; + } + } +} diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespaceafter/InputWhitespaceAfterLiteralCase2.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespaceafter/InputWhitespaceAfterLiteralCase2.java new file mode 100644 index 00000000000..2b10e5c41e4 --- /dev/null +++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespaceafter/InputWhitespaceAfterLiteralCase2.java @@ -0,0 +1,21 @@ +/* +WhitespaceAfter +tokens = LITERAL_CASE + + +*/ + +package com.puppycrawl.tools.checkstyle.checks.whitespace.whitespaceafter; + +public class InputWhitespaceAfterLiteralCase2 { + public static void main(String... args) { + switch(args[0]) { + case"123": // violation ''case' is not followed by whitespace' + return; + case "1": // OK + return; + default: + return; + } + } +} diff --git a/src/xdocs/config_whitespace.xml b/src/xdocs/config_whitespace.xml index 2a03052c826..1a8386a2966 100644 --- a/src/xdocs/config_whitespace.xml +++ b/src/xdocs/config_whitespace.xml @@ -2991,6 +2991,8 @@ class Bar { LITERAL_SYNCHRONIZED , LITERAL_TRY + , + LITERAL_CASE , LAMBDA . @@ -3031,6 +3033,8 @@ class Bar { LITERAL_SYNCHRONIZED , LITERAL_TRY + , + LITERAL_CASE , LAMBDA .