diff --git a/pom.xml b/pom.xml
index b312c4093..8a9c1c510 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1128,7 +1128,6 @@
.*.checks.metrics.AbstractClassCouplingCheck8797
.*.checks.metrics.AbstractClassCouplingCheck\$.*78100
.*.checks.metrics.BooleanExpressionComplexityCheck7480
- .*.checks.metrics.JavaNCSSCheck8797
.*.checks.regexp.CommentSuppressor75100
.*.checks.regexp.DetectorOptions10096
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/JavaNCSSCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/JavaNCSSCheckTest.java
index b01518b72..1544f5769 100644
--- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/JavaNCSSCheckTest.java
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/JavaNCSSCheckTest.java
@@ -26,10 +26,12 @@ import static org.junit.Assert.fail;
import java.io.File;
+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;
/**
* Testcase for the JavaNCSS-Check.
@@ -47,7 +49,7 @@ public class JavaNCSSCheckTest extends BaseCheckTestSupport {
checkConfig.addAttribute("fileMaximum", "2");
String[] expected = {
- "2:1: " + getCheckMessage(MSG_FILE, 35, 2),
+ "2:1: " + getCheckMessage(MSG_FILE, 39, 2),
"9:1: " + getCheckMessage(MSG_CLASS, 22, 1),
"14:5: " + getCheckMessage(MSG_METHOD, 2, 0),
"21:5: " + getCheckMessage(MSG_METHOD, 4, 0),
@@ -56,6 +58,10 @@ public class JavaNCSSCheckTest extends BaseCheckTestSupport {
"49:5: " + getCheckMessage(MSG_CLASS, 2, 1),
"56:1: " + getCheckMessage(MSG_CLASS, 10, 1),
"61:5: " + getCheckMessage(MSG_METHOD, 8, 0),
+ "80:1: " + getCheckMessage(MSG_CLASS, 4, 1),
+ "81:5: " + getCheckMessage(MSG_METHOD, 1, 0),
+ "82:5: " + getCheckMessage(MSG_METHOD, 1, 0),
+ "83:5: " + getCheckMessage(MSG_METHOD, 1, 0),
};
verify(checkConfig, getPath("metrics" + File.separator
@@ -78,4 +84,80 @@ public class JavaNCSSCheckTest extends BaseCheckTestSupport {
fail();
}
}
+
+ @Test
+ public void testGetAcceptableTokens() {
+ JavaNCSSCheck javaNcssCheckObj = new JavaNCSSCheck();
+ int[] actual = javaNcssCheckObj.getAcceptableTokens();
+ int[] expected = new int[] {
+ TokenTypes.CLASS_DEF,
+ TokenTypes.INTERFACE_DEF,
+ TokenTypes.METHOD_DEF,
+ TokenTypes.CTOR_DEF,
+ TokenTypes.INSTANCE_INIT,
+ TokenTypes.STATIC_INIT,
+ TokenTypes.PACKAGE_DEF,
+ TokenTypes.IMPORT,
+ TokenTypes.VARIABLE_DEF,
+ TokenTypes.CTOR_CALL,
+ TokenTypes.SUPER_CTOR_CALL,
+ TokenTypes.LITERAL_IF,
+ TokenTypes.LITERAL_ELSE,
+ TokenTypes.LITERAL_WHILE,
+ TokenTypes.LITERAL_DO,
+ TokenTypes.LITERAL_FOR,
+ TokenTypes.LITERAL_SWITCH,
+ TokenTypes.LITERAL_BREAK,
+ TokenTypes.LITERAL_CONTINUE,
+ TokenTypes.LITERAL_RETURN,
+ TokenTypes.LITERAL_THROW,
+ TokenTypes.LITERAL_SYNCHRONIZED,
+ TokenTypes.LITERAL_CATCH,
+ TokenTypes.LITERAL_FINALLY,
+ TokenTypes.EXPR,
+ TokenTypes.LABELED_STAT,
+ TokenTypes.LITERAL_CASE,
+ TokenTypes.LITERAL_DEFAULT,
+ };
+ Assert.assertNotNull(actual);
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void testGetRequiredTokens() {
+ JavaNCSSCheck javaNcssCheckObj = new JavaNCSSCheck();
+ int[] actual = javaNcssCheckObj.getRequiredTokens();
+ int[] expected = new int[] {
+ TokenTypes.CLASS_DEF,
+ TokenTypes.INTERFACE_DEF,
+ TokenTypes.METHOD_DEF,
+ TokenTypes.CTOR_DEF,
+ TokenTypes.INSTANCE_INIT,
+ TokenTypes.STATIC_INIT,
+ TokenTypes.PACKAGE_DEF,
+ TokenTypes.IMPORT,
+ TokenTypes.VARIABLE_DEF,
+ TokenTypes.CTOR_CALL,
+ TokenTypes.SUPER_CTOR_CALL,
+ TokenTypes.LITERAL_IF,
+ TokenTypes.LITERAL_ELSE,
+ TokenTypes.LITERAL_WHILE,
+ TokenTypes.LITERAL_DO,
+ TokenTypes.LITERAL_FOR,
+ TokenTypes.LITERAL_SWITCH,
+ TokenTypes.LITERAL_BREAK,
+ TokenTypes.LITERAL_CONTINUE,
+ TokenTypes.LITERAL_RETURN,
+ TokenTypes.LITERAL_THROW,
+ TokenTypes.LITERAL_SYNCHRONIZED,
+ TokenTypes.LITERAL_CATCH,
+ TokenTypes.LITERAL_FINALLY,
+ TokenTypes.EXPR,
+ TokenTypes.LABELED_STAT,
+ TokenTypes.LITERAL_CASE,
+ TokenTypes.LITERAL_DEFAULT,
+ };
+ Assert.assertNotNull(actual);
+ Assert.assertArrayEquals(expected, actual);
+ }
}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/metrics/JavaNCSSCheckTestInput.java b/src/test/resources/com/puppycrawl/tools/checkstyle/metrics/JavaNCSSCheckTestInput.java
index e0fc96d1d..db705be95 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/metrics/JavaNCSSCheckTestInput.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/metrics/JavaNCSSCheckTestInput.java
@@ -76,3 +76,9 @@ class TestTopLevelNestedClass {
}
}
}
+
+class Input0 {
+ static { }
+ { }
+ public Input0() { }
+}