diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/internal/AllChecksTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/internal/AllChecksTest.java index 822b8de7a..06d92fe99 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/internal/AllChecksTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/internal/AllChecksTest.java @@ -30,7 +30,6 @@ import java.util.Map.Entry; import java.util.Properties; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.junit.Assert; import org.junit.Test; @@ -149,7 +148,7 @@ public class AllChecksTest extends BaseCheckTestSupport { @Test public void testAllModulesAreReferencedInConfigFile() throws Exception { final Set modulesReferencedInConfig = CheckUtil.getConfigCheckStyleModules(); - final Set moduleNames = getSimpleNames(CheckUtil.getCheckstyleModules()); + final Set moduleNames = CheckUtil.getSimpleNames(CheckUtil.getCheckstyleModules()); moduleNames.stream().filter(check -> !modulesReferencedInConfig.contains(check)) .forEach(check -> { @@ -161,7 +160,8 @@ public class AllChecksTest extends BaseCheckTestSupport { @Test public void testAllCheckstyleModulesHaveXdocDocumentation() throws Exception { - final Set checkstyleModulesNames = getSimpleNames(CheckUtil.getCheckstyleModules()); + final Set checkstyleModulesNames = CheckUtil.getSimpleNames(CheckUtil + .getCheckstyleModules()); final Set modulesNamesWhichHaveXdocs = XDocUtil.getModulesNamesWhichHaveXdoc(); // these are documented on non-'config_' pages @@ -182,7 +182,7 @@ public class AllChecksTest extends BaseCheckTestSupport { public void testAllCheckstyleModulesInCheckstyleConfig() throws Exception { final Set configChecks = CheckUtil.getConfigCheckStyleModules(); - for (String moduleName : getSimpleNames(CheckUtil.getCheckstyleModules())) { + for (String moduleName : CheckUtil.getSimpleNames(CheckUtil.getCheckstyleModules())) { Assert.assertTrue("checkstyle_checks.xml is missing module: " + moduleName, configChecks.contains(moduleName)); } @@ -299,22 +299,4 @@ public class AllChecksTest extends BaseCheckTestSupport { } return true; } - - /** - * Retrieves a list of class names, removing 'Check' from the end if the class is - * a checkstyle check. - * @param checks class instances. - * @return a set of simple names. - */ - private static Set getSimpleNames(Set> checks) { - return checks.stream().map(check -> { - String name = check.getSimpleName(); - - if (name.endsWith("Check")) { - name = name.substring(0, name.length() - 5); - } - - return name; - }).collect(Collectors.toSet()); - } } diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/internal/CheckUtil.java b/src/test/java/com/puppycrawl/tools/checkstyle/internal/CheckUtil.java index 0f0b5d3bc..d06ce3289 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/internal/CheckUtil.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/internal/CheckUtil.java @@ -29,6 +29,7 @@ import java.util.HashSet; import java.util.Locale; import java.util.Properties; import java.util.Set; +import java.util.stream.Collectors; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; @@ -68,6 +69,24 @@ public final class CheckUtil { return getCheckStyleModulesReferencedInConfig("src/main/resources/google_checks.xml"); } + /** + * Retrieves a list of class names, removing 'Check' from the end if the class is + * a checkstyle check. + * @param checks class instances. + * @return a set of simple names. + */ + public static Set getSimpleNames(Set> checks) { + return checks.stream().map(check -> { + String name = check.getSimpleName(); + + if (name.endsWith("Check")) { + name = name.substring(0, name.length() - 5); + } + + return name; + }).collect(Collectors.toSet()); + } + /** * Gets a set of names of checkstyle's checks which are referenced in checkstyle_checks.xml. * diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/internal/XDocsPagesTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/internal/XDocsPagesTest.java index 8e89717c3..8ffdac1a0 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/internal/XDocsPagesTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/internal/XDocsPagesTest.java @@ -66,34 +66,10 @@ import com.puppycrawl.tools.checkstyle.api.SeverityLevel; import com.puppycrawl.tools.checkstyle.checks.javadoc.AbstractJavadocCheck; public class XDocsPagesTest { - private static final Path JAVA_SOURCES_DIRECTORY = Paths.get("src/main/java"); private static final Path AVAILABLE_CHECKS_PATH = Paths.get("src/xdocs/checks.xml"); - private static final String CHECK_FILE_NAME = ".+Check.java$"; - private static final String CHECK_SUFFIX = "Check.java"; private static final String LINK_TEMPLATE = "(?s).*%1$s.*"; - private static final List MODULES_ON_PAGE_IGNORE_LIST = Arrays.asList( - "AbstractAccessControlNameCheck.java", - "AbstractCheck.java", - "AbstractClassCouplingCheck.java", - "AbstractComplexityCheck.java", - "AbstractFileSetCheck.java", - "AbstractFormatCheck.java", - "AbstractHeaderCheck.java", - "AbstractIllegalCheck.java", - "AbstractIllegalMethodCheck.java", - "AbstractJavadocCheck.java", - "AbstractNameCheck.java", - "AbstractNestedDepthCheck.java", - "AbstractOptionCheck.java", - "AbstractParenPadCheck.java", - "AbstractSuperCheck.java", - "AbstractTypeAwareCheck.java", - "AbstractTypeParameterNameCheck.java", - "FileSetCheck.java" - ); - private static final List XML_FILESET_LIST = Arrays.asList( "TreeWalker", "name=\"Checker\"", @@ -140,19 +116,16 @@ public class XDocsPagesTest { new HashSet<>(CheckUtil.getConfigGoogleStyleModules())); @Test - public void testAllChecksPresentOnAvailableChecksPage() throws IOException { + public void testAllChecksPresentOnAvailableChecksPage() throws Exception { final String availableChecks = new String(Files.readAllBytes(AVAILABLE_CHECKS_PATH), UTF_8); - Files.walk(JAVA_SOURCES_DIRECTORY).forEach(filePath -> { - final String fileName = filePath.getFileName().toString(); - if (fileName.matches(CHECK_FILE_NAME) - && !MODULES_ON_PAGE_IGNORE_LIST.contains(fileName)) { - final String checkName = fileName.replace(CHECK_SUFFIX, ""); + + CheckUtil.getSimpleNames(CheckUtil.getCheckstyleChecks()) + .forEach(checkName -> { if (!isPresent(availableChecks, checkName)) { Assert.fail(checkName + " is not correctly listed on Available Checks page" + " - add it to " + AVAILABLE_CHECKS_PATH); } - } - }); + }); } private static boolean isPresent(String availableChecks, String checkName) { diff --git a/src/xdocs/checks.xml b/src/xdocs/checks.xml index 8a5c8e23b..6570ebfc3 100644 --- a/src/xdocs/checks.xml +++ b/src/xdocs/checks.xml @@ -5,7 +5,7 @@ xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"> - Standard Checks + Checks