/** * Validates that check's required tokens are subset of default tokens. * @param check to validate * @throws CheckstyleException when validation of default tokens fails */ private static void validateDefaultTokens(AbstractCheck check) throws CheckstyleException { final int[] defaultTokens = check.getDefaultTokens(); Arrays.sort(defaultTokens); for (final int token : check.getRequiredTokens()) { if (Arrays.binarySearch(defaultTokens, token) < 0) { final String message = String.format(Locale.ROOT, "Token \"%s\" from required " + "tokens was not found in default tokens list in check %s", token, check.getClass().getName()); throw new CheckstyleException(message); } } }
final Set<String> checkTokens = check.getTokenNames(); if (checkTokens.isEmpty()) { tokens = check.getDefaultTokens();
@Test public void testRequiredTokensAreSubsetOfDefaultTokens() throws Exception { for (Class<?> check : CheckUtil.getCheckstyleChecks()) { if (AbstractCheck.class.isAssignableFrom(check)) { final AbstractCheck testedCheck = (AbstractCheck) check.getDeclaredConstructor() .newInstance(); final int[] defaultTokens = testedCheck.getDefaultTokens(); final int[] requiredTokens = testedCheck.getRequiredTokens(); if (!isSubset(requiredTokens, defaultTokens)) { final String errorMessage = String.format(Locale.ROOT, "%s's required tokens must be a subset" + " of default tokens.", check.getName()); Assert.fail(errorMessage); } } } }
@Test public void testDefaultTokensAreSubsetOfAcceptableTokens() throws Exception { for (Class<?> check : CheckUtil.getCheckstyleChecks()) { if (AbstractCheck.class.isAssignableFrom(check)) { final AbstractCheck testedCheck = (AbstractCheck) check.getDeclaredConstructor() .newInstance(); final int[] defaultTokens = testedCheck.getDefaultTokens(); final int[] acceptableTokens = testedCheck.getAcceptableTokens(); if (!isSubset(defaultTokens, acceptableTokens)) { final String errorMessage = String.format(Locale.ROOT, "%s's default tokens must be a subset" + " of acceptable tokens.", check.getName()); Assert.fail(errorMessage); } } } }
private static void validatePropertySectionPropertyTokens(String fileName, String sectionName, AbstractCheck check, List<Node> columns) { Assert.assertEquals(fileName + " section '" + sectionName + "' should have the basic token description", "tokens to check", columns.get(1) .getTextContent()); Assert.assertEquals( fileName + " section '" + sectionName + "' should have all the acceptable tokens", "subset of tokens " + CheckUtil.getTokenText(check.getAcceptableTokens(), check.getRequiredTokens()), columns.get(2).getTextContent() .replaceAll("\\s+", " ").trim()); Assert.assertEquals(fileName + " section '" + sectionName + "' should have all the default tokens", CheckUtil.getTokenText(check.getDefaultTokens(), check.getRequiredTokens()), columns.get(3).getTextContent().replaceAll("\\s+", " ").trim()); }
final int[] defaultTokens = check.getDefaultTokens(); Arrays.sort(defaultTokens); final int[] requiredTokens = check.getRequiredTokens();
configTokens.addAll(CheckUtil.getTokenNameSet(check.getDefaultTokens()));
@Test public void testGetAcceptableTokens() { final int[] defaultTokens = {TokenTypes.CLASS_DEF, TokenTypes.INTERFACE_DEF}; final int[] acceptableTokens = {TokenTypes.CLASS_DEF, TokenTypes.INTERFACE_DEF}; final int[] requiredTokens = {TokenTypes.CLASS_DEF, TokenTypes.INTERFACE_DEF}; final AbstractCheck check = new AbstractCheck() { @Override public int[] getDefaultTokens() { return defaultTokens; } @Override public int[] getAcceptableTokens() { return acceptableTokens; } @Override public int[] getRequiredTokens() { return requiredTokens; } }; Assert.assertArrayEquals("Invalid default tokens", defaultTokens, check.getDefaultTokens()); Assert.assertArrayEquals("Invalid acceptable tokens", defaultTokens, check.getAcceptableTokens()); Assert.assertArrayEquals("Invalid required tokens", requiredTokens, check.getRequiredTokens()); }
@Override public int[] getDefaultTokens() { return this.check.getDefaultTokens(); }
/** * Validates that check's required tokens are subset of default tokens. * @param check to validate * @throws CheckstyleException when validation of default tokens fails */ private static void validateDefaultTokens(AbstractCheck check) throws CheckstyleException { final int[] defaultTokens = check.getDefaultTokens(); Arrays.sort(defaultTokens); for (final int token : check.getRequiredTokens()) { if (Arrays.binarySearch(defaultTokens, token) < 0) { final String message = String.format(Locale.ROOT, "Token \"%s\" from required " + "tokens was not found in default tokens list in check %s", token, check.getClass().getName()); throw new CheckstyleException(message); } } }
final Set<String> checkTokens = check.getTokenNames(); if (checkTokens.isEmpty()) { tokens = check.getDefaultTokens();