From 4fd6b3ee5978613e7f779fe83330ccf18092d784 Mon Sep 17 00:00:00 2001 From: Ruslan Diachenko Date: Tue, 7 Jul 2015 00:12:23 +0100 Subject: [PATCH] Issue #1288: 'StaticVariableNameCheck' was refactored, UT coverage improved --- pom.xml | 1 - .../naming/StaticVariableNameCheck.java | 6 ++-- .../naming/StaticVariableNameCheckTest.java | 35 +++++++++++++++++-- .../naming/InputStaticVariableName.java | 16 +++++++++ 4 files changed, 50 insertions(+), 8 deletions(-) create mode 100644 src/test/resources/com/puppycrawl/tools/checkstyle/naming/InputStaticVariableName.java diff --git a/pom.xml b/pom.xml index 581e713c0..bba7a8b2d 100644 --- a/pom.xml +++ b/pom.xml @@ -878,7 +878,6 @@ .*.checks.naming.MethodNameCheck10093 .*.checks.naming.PackageNameCheck10088 .*.checks.naming.ParameterNameCheck7580 - .*.checks.naming.StaticVariableNameCheck8187 .*.checks.regexp.CommentSuppressor75100 .*.checks.regexp.DetectorOptions10096 diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/StaticVariableNameCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/StaticVariableNameCheck.java index b7ed62423..fc1298e75 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/StaticVariableNameCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/StaticVariableNameCheck.java @@ -68,10 +68,8 @@ public class StaticVariableNameCheck protected final boolean mustCheckName(DetailAST ast) { final DetailAST modifiersAST = ast.findFirstToken(TokenTypes.MODIFIERS); - final boolean isStatic = modifiersAST != null - && modifiersAST.branchContains(TokenTypes.LITERAL_STATIC); - final boolean isFinal = modifiersAST != null - && modifiersAST.branchContains(TokenTypes.FINAL); + final boolean isStatic = modifiersAST.branchContains(TokenTypes.LITERAL_STATIC); + final boolean isFinal = modifiersAST.branchContains(TokenTypes.FINAL); return isStatic && !isFinal diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/naming/StaticVariableNameCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/naming/StaticVariableNameCheckTest.java index 1321102b4..1b159fa88 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/naming/StaticVariableNameCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/naming/StaticVariableNameCheckTest.java @@ -19,11 +19,16 @@ package com.puppycrawl.tools.checkstyle.checks.naming; -import com.puppycrawl.tools.checkstyle.BaseCheckTestSupport; -import com.puppycrawl.tools.checkstyle.DefaultConfiguration; +import static com.puppycrawl.tools.checkstyle.checks.naming.AbstractNameCheck.MSG_INVALID_PATTERN; + +import java.io.File; + +import org.junit.Assert; import org.junit.Test; -import static com.puppycrawl.tools.checkstyle.checks.naming.AbstractNameCheck.MSG_INVALID_PATTERN; +import com.puppycrawl.tools.checkstyle.BaseCheckTestSupport; +import com.puppycrawl.tools.checkstyle.DefaultConfiguration; +import com.puppycrawl.tools.checkstyle.api.TokenTypes; public class StaticVariableNameCheckTest extends BaseCheckTestSupport { @@ -53,5 +58,29 @@ public class StaticVariableNameCheckTest }; verify(checkConfig, getPath("InputSimple.java"), expected); } + + @Test + public void testInterfaceOrAnnotationBlock() + throws Exception { + final DefaultConfiguration checkConfig = + createCheckConfig(StaticVariableNameCheck.class); + final String[] expected = { + }; + verify(checkConfig, + new File("src/test/resources/com/puppycrawl/tools/" + + "checkstyle/naming/InputStaticVariableName.java").getCanonicalPath(), + expected); + } + + @Test + public void testGetAcceptableTokens() { + StaticVariableNameCheck staticVariableNameCheckObj = new StaticVariableNameCheck(); + int[] actual = staticVariableNameCheckObj.getAcceptableTokens(); + int[] expected = new int[] { + TokenTypes.VARIABLE_DEF, + }; + Assert.assertNotNull(actual); + Assert.assertArrayEquals(expected, actual); + } } diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/naming/InputStaticVariableName.java b/src/test/resources/com/puppycrawl/tools/checkstyle/naming/InputStaticVariableName.java new file mode 100644 index 000000000..155f0271c --- /dev/null +++ b/src/test/resources/com/puppycrawl/tools/checkstyle/naming/InputStaticVariableName.java @@ -0,0 +1,16 @@ +package com.puppycrawl.tools.checkstyle.naming; + +public class InputStaticVariableName { + + /** Interface fields should be skipped */ + interface A { + public static int VAL_0 = 1; + } + + /** Annotation fields should be skipped */ + @interface B { + String name() default ""; + int version() default 0; + public static int VAL_1 = 0; + } +}