diff --git a/.ci/pitest.sh b/.ci/pitest.sh index b11dfb5f2590..6024d33a2804 100755 --- a/.ci/pitest.sh +++ b/.ci/pitest.sh @@ -73,11 +73,9 @@ pitest-imports) declare -a ignoredItems=( "AvoidStarImportCheck.java.html:
            && ast.getType() == TokenTypes.STATIC_IMPORT) {
" "AvoidStarImportCheck.java.html:
            if (exclude.endsWith(STAR_IMPORT_SUFFIX)) {
" - "CustomImportOrderCheck.java.html:
                        && matcher.start() < betterMatchCandidate.matchPosition) {
" "CustomImportOrderCheck.java.html:
        else if (customImportOrderRules.contains(SAME_PACKAGE_RULE_GROUP)) {
" "CustomImportOrderCheck.java.html:
        if (bestMatch.group.equals(NON_GROUP_RULE_GROUP)) {
" "CustomImportOrderCheck.java.html:
            if (customImportOrderRules.contains(SAME_PACKAGE_RULE_GROUP)) {
" - "CustomImportOrderCheck.java.html:
                    || length == betterMatchCandidate.matchLength
" "IllegalImportCheck.java.html:
        if (regexp) {
" "IllegalImportCheck.java.html:
        if (!result && illegalClasses != null) {
" "IllegalImportCheck.java.html:
        if (!result) {
" diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/imports/CustomImportOrderCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/imports/CustomImportOrderCheckTest.java index 74666453a135..720fa6fea0ec 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/imports/CustomImportOrderCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/imports/CustomImportOrderCheckTest.java @@ -721,6 +721,24 @@ public void testMultiplePatternMatchesFirstPatternHasEarlierPosition() throws Ex expected); } + @Test + public void testMultiplePatternMultipleImportFirstPatternHasLaterPosition() throws Exception { + final DefaultConfiguration checkConfig = + createModuleConfig(CustomImportOrderCheck.class); + checkConfig.addAttribute("customImportOrderRules", + "SPECIAL_IMPORTS###STANDARD_JAVA_PACKAGE"); + checkConfig.addAttribute("specialImportsRegExp", "Test"); + checkConfig.addAttribute("standardPackageRegExp", "unit"); + + createChecker(checkConfig); + final String[] expected = { + "4: " + getCheckMessage(MSG_NONGROUP_EXPECTED, STD, "org.junit.Test"), + }; + verify(checkConfig, + getPath("InputCustomImportOrder_MultiplePatternMultipleImport.java"), + expected); + } + @Test public void testNoPackage() throws Exception { final DefaultConfiguration checkConfig = diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/customimportorder/InputCustomImportOrder_MultiplePatternMultipleImport.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/customimportorder/InputCustomImportOrder_MultiplePatternMultipleImport.java new file mode 100644 index 000000000000..f32cb5942df7 --- /dev/null +++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/customimportorder/InputCustomImportOrder_MultiplePatternMultipleImport.java @@ -0,0 +1,7 @@ +package com.puppycrawl.tools.checkstyle.checks.imports.customimportorder; + +import java.util.Scanner; +import org.junit.Test; + +public class InputCustomImportOrder_MultiplePatternMultipleImport { +}