From 6a43d46072e0bfcaef648a6787279504e7ab0feb Mon Sep 17 00:00:00 2001 From: nmancus1 Date: Sat, 28 Mar 2020 16:06:49 -0400 Subject: [PATCH] Issue #7874: Resolve Pitest Issues - ImportOrderCheck (3) --- .ci/pitest.sh | 1 - .../checks/imports/ImportOrderCheckTest.java | 16 ++++++++++++++++ .../InputImportOrderContainerOrdering.java | 11 +++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 src/test/resources-noncompilable/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderContainerOrdering.java diff --git a/.ci/pitest.sh b/.ci/pitest.sh index d6c9ef70051..2c0ce175dc7 100755 --- a/.ci/pitest.sh +++ b/.ci/pitest.sh @@ -75,7 +75,6 @@ pitest-imports) "ImportControlLoader.java.html:
        else if (ALLOW_ELEMENT_NAME.equals(qName) || "disallow".equals(qName)) {
" "ImportOrderCheck.java.html:
                else if (matcher.start() == bestPos && matcher.end() > bestEnd) {
" "ImportOrderCheck.java.html:
        final boolean separatorBetween = isStatic != lastImportStatic
" - "ImportOrderCheck.java.html:
        if (caseSensitive) {
" "ImportOrderCheck.java.html:
                if (!CommonUtil.endsWithChar(pkg, '.')) {
" "ImportOrderCheck.java.html:
        if (isStatic) {
" "ImportOrderCheck.java.html:
        return !beforeFirstImport && line - lastImportLine > 1;
" diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/imports/ImportOrderCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/imports/ImportOrderCheckTest.java index 50968889723..8f868179b14 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/imports/ImportOrderCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/imports/ImportOrderCheckTest.java @@ -794,6 +794,22 @@ public void testUseContainerOrderingForStaticTrueCaseSensitive() throws Exceptio verify(checkConfig, getNonCompilablePath("InputImportOrderEclipseStatic.java"), expected); } + @Test + public void testUseContainerOrderingForStatic() throws Exception { + final DefaultConfiguration checkConfig = createModuleConfig(ImportOrderCheck.class); + checkConfig.addAttribute("ordered", "true"); + checkConfig.addAttribute("sortStaticImportsAlphabetically", "true"); + checkConfig.addAttribute("useContainerOrderingForStatic", "true"); + final String[] expected = { + "6:1: " + getCheckMessage(MSG_ORDERING, + "io.netty.handler.Codec.HTTP.HttpHeaders.tmp.same"), + "7:1: " + getCheckMessage(MSG_ORDERING, + "io.netty.handler.Codec.HTTP.HttpHeaders.TKN.same"), + }; + verify(checkConfig, getNonCompilablePath("InputImportOrderContainerOrdering.java"), + expected); + } + @Test public void testImportGroupsRedundantSeparatedInternally() throws Exception { final DefaultConfiguration checkConfig = createModuleConfig(ImportOrderCheck.class); diff --git a/src/test/resources-noncompilable/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderContainerOrdering.java b/src/test/resources-noncompilable/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderContainerOrdering.java new file mode 100644 index 00000000000..4165e037f48 --- /dev/null +++ b/src/test/resources-noncompilable/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderContainerOrdering.java @@ -0,0 +1,11 @@ +//non-compiled with javac: contains specially crafted set of imports for testing +package com.puppycrawl.tools.checkstyle.checks.imports.importorder; +import static io.netty.handler.codec.http.HttpConstants.COLON; +import static io.netty.handler.codec.http.HttpHeaders.addHeader; +import static io.netty.handler.codec.http.HttpHeaders.setHeader; +import static io.netty.handler.Codec.HTTP.HttpHeaders.tmp.same; +import static io.netty.handler.Codec.HTTP.HttpHeaders.TKN.same; + +public class InputImportOrderContainerOrdering { + +}