From 690031b86a95b75e54ef8618ad2ebb70cb454147 Mon Sep 17 00:00:00 2001 From: Arin Modi Date: Tue, 29 Nov 2022 08:54:48 +0530 Subject: [PATCH] Issue #12409: Inconsistent allowedAbbreviations --- .../naming/AbbreviationAsWordInNameCheck.java | 2 +- .../AbbreviationAsWordInNameCheckTest.java | 9 ++++++ .../InputAbbreviationAsWordInNameType7.java | 28 +++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbreviationaswordinname/InputAbbreviationAsWordInNameType7.java diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/AbbreviationAsWordInNameCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/AbbreviationAsWordInNameCheck.java index 3b8a3969a3b..527eb638e0f 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/AbbreviationAsWordInNameCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/AbbreviationAsWordInNameCheck.java @@ -583,7 +583,7 @@ private String getDisallowedAbbreviation(String str) { else if (abbrStarted) { abbrStarted = false; - final int endIndex = index - 1; + final int endIndex = Character.isLetterOrDigit(symbol) ? index-1 : index; result = getAbbreviationIfIllegal(str, beginIndex, endIndex); if (result != null) { break; diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/naming/AbbreviationAsWordInNameCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/naming/AbbreviationAsWordInNameCheckTest.java index c300bbb5ae1..7cd3db94a30 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/naming/AbbreviationAsWordInNameCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/naming/AbbreviationAsWordInNameCheckTest.java @@ -467,4 +467,13 @@ public void testReceiver() throws Exception { expected); } + @Test + public void demoTest() throws Exception { + final String[] expected = CommonUtil.EMPTY_STRING_ARRAY; + + verifyWithInlineConfigParser( + getPath("InputAbbreviationAsWordInNameType7.java"), + expected); + } + } diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbreviationaswordinname/InputAbbreviationAsWordInNameType7.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbreviationaswordinname/InputAbbreviationAsWordInNameType7.java new file mode 100644 index 00000000000..10299f25476 --- /dev/null +++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbreviationaswordinname/InputAbbreviationAsWordInNameType7.java @@ -0,0 +1,28 @@ +/* +AbbreviationAsWordInName +allowedAbbreviations = ORDER, OBSERVATION, UNDERSCORE, TEST + + +*/ + + +package com.puppycrawl.tools.checkstyle.checks.naming.abbreviationaswordinname; + +public class InputAbbreviationAsWordInNameType7 { + void getTEST() { + } + + void getORDER_OBSERVATION() {} + + void getUNDERSCORE() {} + + void getTEST_OBSERVATION() {} + + void getTEST_UNDERSCORE() {} + + void getORDER() {} + + void getOBSERVATION() {} + + void getORDER_UNDERSCORE() {} +}