From b219e2ff881703c4b0edeee01de12635531676a9 Mon Sep 17 00:00:00 2001 From: Ilja Dubinin Date: Sun, 26 Jul 2015 04:58:03 +0100 Subject: [PATCH] Coverage has been increased to 100% in EmptyBlockCheck. Issue #1291 --- pom.xml | 1 - .../checks/blocks/EmptyBlockCheck.java | 53 +++++++++---------- .../checks/blocks/EmptyBlockCheckTest.java | 3 ++ .../tools/checkstyle/InputSemantic.java | 9 ++++ 4 files changed, 37 insertions(+), 29 deletions(-) diff --git a/pom.xml b/pom.xml index c019b8429..705c34dc8 100644 --- a/pom.xml +++ b/pom.xml @@ -1102,7 +1102,6 @@ .*.checks.UniquePropertiesCheck\$.*7590 - .*.checks.blocks.EmptyBlockCheck88100 .*.checks.blocks.LeftCurlyCheck8996 .*.checks.blocks.RightCurlyCheck8895 diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/EmptyBlockCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/EmptyBlockCheck.java index 45887786c..70bb2980c 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/EmptyBlockCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/EmptyBlockCheck.java @@ -141,8 +141,7 @@ public class EmptyBlockCheck ast.getText()); } } - else if (getAbstractOption() == BlockOption.TEXT - && !hasText(leftCurly)) { + else if (!hasText(leftCurly)) { log(leftCurly.getLineNo(), leftCurly.getColumnNo(), MSG_KEY_BLOCK_EMPTY, @@ -161,35 +160,33 @@ public class EmptyBlockCheck final DetailAST rightCurly = slistAST.findFirstToken(TokenTypes.RCURLY); final DetailAST rcurlyAST = rightCurly != null ? rightCurly : slistAST.getParent().findFirstToken(TokenTypes.RCURLY); - if (rcurlyAST != null) { - final int slistLineNo = slistAST.getLineNo(); - final int slistColNo = slistAST.getColumnNo(); - final int rcurlyLineNo = rcurlyAST.getLineNo(); - final int rcurlyColNo = rcurlyAST.getColumnNo(); - final String[] lines = getLines(); - if (slistLineNo == rcurlyLineNo) { - // Handle braces on the same line - final String txt = lines[slistLineNo - 1] + final int slistLineNo = slistAST.getLineNo(); + final int slistColNo = slistAST.getColumnNo(); + final int rcurlyLineNo = rcurlyAST.getLineNo(); + final int rcurlyColNo = rcurlyAST.getColumnNo(); + final String[] lines = getLines(); + if (slistLineNo == rcurlyLineNo) { + // Handle braces on the same line + final String txt = lines[slistLineNo - 1] .substring(slistColNo + 1, rcurlyColNo); - if (StringUtils.isNotBlank(txt)) { - retVal = true; - } + if (StringUtils.isNotBlank(txt)) { + retVal = true; + } + } + else { + // check only whitespace of first & last lines + if (lines[slistLineNo - 1] + .substring(slistColNo + 1).trim().length() != 0 + || lines[rcurlyLineNo - 1] + .substring(0, rcurlyColNo).trim().length() != 0) { + retVal = true; } else { - // check only whitespace of first & last lines - if (lines[slistLineNo - 1] - .substring(slistColNo + 1).trim().length() != 0 - || lines[rcurlyLineNo - 1] - .substring(0, rcurlyColNo).trim().length() != 0) { - retVal = true; - } - else { - // check if all lines are also only whitespace - for (int i = slistLineNo; i < rcurlyLineNo - 1; i++) { - if (lines[i].trim().length() > 0) { - retVal = true; - break; - } + // check if all lines are also only whitespace + for (int i = slistLineNo; i < rcurlyLineNo - 1; i++) { + if (lines[i].trim().length() > 0) { + retVal = true; + break; } } } diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/blocks/EmptyBlockCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/blocks/EmptyBlockCheckTest.java index bdaf1d69a..88b855d59 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/blocks/EmptyBlockCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/blocks/EmptyBlockCheckTest.java @@ -42,6 +42,7 @@ public class EmptyBlockCheckTest "178:5: " + getCheckMessage(MSG_KEY_BLOCK_NO_STMT), "206:29: " + getCheckMessage(MSG_KEY_BLOCK_NO_STMT), "208:41: " + getCheckMessage(MSG_KEY_BLOCK_NO_STMT), + "219:12: " + getCheckMessage(MSG_KEY_BLOCK_NO_STMT), }; verify(checkConfig, getPath("InputSemantic.java"), expected); } @@ -57,6 +58,7 @@ public class EmptyBlockCheckTest "77:17: " + getCheckMessage(MSG_KEY_BLOCK_EMPTY, "finally"), "178:5: " + getCheckMessage(MSG_KEY_BLOCK_EMPTY, "INSTANCE_INIT"), "206:29: " + getCheckMessage(MSG_KEY_BLOCK_EMPTY, "synchronized"), + "219:12: " + getCheckMessage(MSG_KEY_BLOCK_EMPTY, "STATIC_INIT"), }; verify(checkConfig, getPath("InputSemantic.java"), expected); } @@ -75,6 +77,7 @@ public class EmptyBlockCheckTest "178:5: " + getCheckMessage(MSG_KEY_BLOCK_NO_STMT), "206:29: " + getCheckMessage(MSG_KEY_BLOCK_NO_STMT), "208:41: " + getCheckMessage(MSG_KEY_BLOCK_NO_STMT), + "219:12: " + getCheckMessage(MSG_KEY_BLOCK_NO_STMT), }; verify(checkConfig, getPath("InputSemantic.java"), expected); } diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/InputSemantic.java b/src/test/resources/com/puppycrawl/tools/checkstyle/InputSemantic.java index 8359e0c33..5f1dd5de2 100644 --- a/src/test/resources/com/puppycrawl/tools/checkstyle/InputSemantic.java +++ b/src/test/resources/com/puppycrawl/tools/checkstyle/InputSemantic.java @@ -210,4 +210,13 @@ class InputSemantic } } } + + + static { + + int a = 0;} + + static { + + } }