diff --git a/pom.xml b/pom.xml index 78f45dcc0..b545d4319 100644 --- a/pom.xml +++ b/pom.xml @@ -1102,10 +1102,6 @@ .*.checks.UniquePropertiesCheck\$.*7590 - .*.checks.annotation.AnnotationUseStyleCheck9396 - .*.checks.annotation.SuppressWarningsCheck7996 - - .*.checks.blocks.EmptyBlockCheck88100 .*.checks.blocks.LeftCurlyCheck8996 .*.checks.blocks.NeedBracesCheck8097 diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/annotation/AnnotationUseStyleCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/annotation/AnnotationUseStyleCheck.java index 9ba1672ff..400244135 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/annotation/AnnotationUseStyleCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/annotation/AnnotationUseStyleCheck.java @@ -258,19 +258,25 @@ public final class AnnotationUseStyleCheck extends Check { * @param annotation the annotation token */ private void checkStyleType(final DetailAST annotation) { - if (ElementStyle.IGNORE == this.style - || this.style == null) { - return; - } - if (ElementStyle.COMPACT_NO_ARRAY == this.style) { - this.checkCompactNoArrayStyle(annotation); - } - else if (ElementStyle.COMPACT == this.style) { - this.checkCompactStyle(annotation); - } - else if (ElementStyle.EXPANDED == this.style) { - this.checkExpandedStyle(annotation); + switch (this.style) { + + case COMPACT_NO_ARRAY: { + checkCompactNoArrayStyle(annotation); + break; + } + + case COMPACT: { + checkCompactStyle(annotation); + break; + } + + case EXPANDED: { + checkExpandedStyle(annotation); + break; + } + default: + break; } } @@ -356,8 +362,7 @@ public final class AnnotationUseStyleCheck extends Check { * @param annotation the annotation token */ private void checkTrailingComma(final DetailAST annotation) { - if (TrailingArrayComma.IGNORE == this.comma - || this.comma == null) { + if (TrailingArrayComma.IGNORE == this.comma) { return; } @@ -413,8 +418,7 @@ public final class AnnotationUseStyleCheck extends Check { * @param ast the annotation token */ private void checkCheckClosingParens(final DetailAST ast) { - if (ClosingParens.IGNORE == this.parens - || this.parens == null) { + if (ClosingParens.IGNORE == this.parens) { return; } diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/annotation/AnnotationUseStyleTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/annotation/AnnotationUseStyleTest.java index 11754c0c9..9f790fba5 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/annotation/AnnotationUseStyleTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/annotation/AnnotationUseStyleTest.java @@ -27,10 +27,14 @@ import static com.puppycrawl.tools.checkstyle.checks.annotation.AnnotationUseSty import java.io.File; +import org.apache.commons.beanutils.ConversionException; +import org.junit.Assert; import org.junit.Test; import com.puppycrawl.tools.checkstyle.BaseCheckTestSupport; import com.puppycrawl.tools.checkstyle.DefaultConfiguration; +import com.puppycrawl.tools.checkstyle.api.TokenTypes; + public class AnnotationUseStyleTest extends BaseCheckTestSupport { /** @@ -211,4 +215,41 @@ public class AnnotationUseStyleTest extends BaseCheckTestSupport { verify(checkConfig, getPath("annotation" + File.separator + "AnnotationsUseStyleParams.java"), expected); } + + @Test + public void testGetAcceptableTokens() { + AnnotationUseStyleCheck constantNameCheckObj = new AnnotationUseStyleCheck(); + int[] actual = constantNameCheckObj.getAcceptableTokens(); + int[] expected = new int[] {TokenTypes.ANNOTATION }; + Assert.assertNotNull(actual); + Assert.assertArrayEquals(expected, actual); + } + + @Test + public void testGetOption() throws Exception { + AnnotationUseStyleCheck check = new AnnotationUseStyleCheck(); + try { + check.setElementStyle("SHOULD_PRODUCE_ERROR"); + } + catch (ConversionException ex) { + ex.getMessage().startsWith("unable to parse"); + return; + } + + Assert.fail(); + } + + @Test + public void testStyleNotInList() throws Exception { + DefaultConfiguration checkConfig = createCheckConfig(AnnotationUseStyleCheck.class); + checkConfig.addAttribute("closingParens", "ignore"); + checkConfig.addAttribute("elementStyle", "COMPACT_NO_ARRAY"); + checkConfig.addAttribute("trailingArrayComma", "ignore"); + final String[] expected = { + }; + + verify(checkConfig, getPath("annotation" + File.separator + "InputAnnotationUseStyleCheckTest.java"), expected); + + } + } diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/annotation/InputAnnotationUseStyleCheckTest.java b/src/test/resources/com/puppycrawl/tools/checkstyle/annotation/InputAnnotationUseStyleCheckTest.java new file mode 100644 index 000000000..ccf307671 --- /dev/null +++ b/src/test/resources/com/puppycrawl/tools/checkstyle/annotation/InputAnnotationUseStyleCheckTest.java @@ -0,0 +1,12 @@ +package com.puppycrawl.tools.checkstyle.annotation; + + +@interface SomeArrays32 { + @Another32(value={"foo", "bar"}) //expanded + DOGS[] pooches(); +} + + +@interface Another32 { + String[] value(); +}