diff --git a/pom.xml b/pom.xml
index 9cb423d86..df04ceeb0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1202,7 +1202,6 @@
.*.checks.whitespace.AbstractParenPadCheck88100
.*.checks.whitespace.EmptyForInitializerPadCheck9193
- .*.checks.whitespace.EmptyLineSeparatorCheck9598
.*.checks.whitespace.GenericWhitespaceCheck8696
.*.checks.whitespace.NoWhitespaceAfterCheck9498
.*.checks.whitespace.NoWhitespaceBeforeCheck90100
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/EmptyLineSeparatorCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/EmptyLineSeparatorCheck.java
index 9602f0544..a8cb7682f 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/EmptyLineSeparatorCheck.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/EmptyLineSeparatorCheck.java
@@ -265,9 +265,7 @@ public class EmptyLineSeparatorCheck extends Check {
* @param astType token Type
*/
private void processImport(DetailAST ast, DetailAST nextToken, int astType) {
- if (astType != nextToken.getType() && !hasEmptyLineAfter(ast)
- || ast.getLineNo() > 1 && !hasEmptyLineBefore(ast)
- && ast.getPreviousSibling() == null) {
+ if (astType != nextToken.getType() && !hasEmptyLineAfter(ast)) {
log(nextToken.getLineNo(), MSG_SHOULD_BE_SEPARATED, nextToken.getText());
}
if (hasNotAllowedTwoEmptyLinesBefore(ast)) {
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/whitespace/EmptyLineSeparatorCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/whitespace/EmptyLineSeparatorCheckTest.java
index 84e97676b..d584db1de 100644
--- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/whitespace/EmptyLineSeparatorCheckTest.java
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/whitespace/EmptyLineSeparatorCheckTest.java
@@ -19,14 +19,15 @@
package com.puppycrawl.tools.checkstyle.checks.whitespace;
-import com.puppycrawl.tools.checkstyle.BaseCheckTestSupport;
-import com.puppycrawl.tools.checkstyle.DefaultConfiguration;
+import static com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyLineSeparatorCheck.MSG_MULTIPLE_LINES;
+import static com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyLineSeparatorCheck.MSG_SHOULD_BE_SEPARATED;
+
+import org.junit.Assert;
import org.junit.Test;
-import static com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyLineSeparatorCheck
-.MSG_MULTIPLE_LINES;
-import static com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyLineSeparatorCheck
-.MSG_SHOULD_BE_SEPARATED;
+import com.puppycrawl.tools.checkstyle.BaseCheckTestSupport;
+import com.puppycrawl.tools.checkstyle.DefaultConfiguration;
+import com.puppycrawl.tools.checkstyle.api.TokenTypes;
public class EmptyLineSeparatorCheckTest
extends BaseCheckTestSupport {
@@ -109,9 +110,38 @@ public class EmptyLineSeparatorCheckTest
DefaultConfiguration checkConfig = createCheckConfig(EmptyLineSeparatorCheck.class);
checkConfig.addAttribute("allowMultipleEmptyLines", "false");
final String[] expected = {
-
+ "1: " + getCheckMessage(MSG_SHOULD_BE_SEPARATED, "import"),
};
verify(checkConfig, getPath("whitespace/InputEmptyLineSeparatorMultipleImportEmptyClass.java"), expected);
}
+ @Test
+ public void testGetAcceptableTokens() {
+ EmptyLineSeparatorCheck emptyLineSeparatorCheckObj = new EmptyLineSeparatorCheck();
+ int[] actual = emptyLineSeparatorCheckObj.getAcceptableTokens();
+ int[] expected = new int[] {
+ TokenTypes.PACKAGE_DEF,
+ TokenTypes.IMPORT,
+ TokenTypes.CLASS_DEF,
+ TokenTypes.INTERFACE_DEF,
+ TokenTypes.ENUM_DEF,
+ TokenTypes.STATIC_INIT,
+ TokenTypes.INSTANCE_INIT,
+ TokenTypes.METHOD_DEF,
+ TokenTypes.CTOR_DEF,
+ TokenTypes.VARIABLE_DEF,
+ };
+ Assert.assertNotNull(actual);
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void testPrePreviousLineEmpiness() throws Exception {
+ DefaultConfiguration checkConfig = createCheckConfig(EmptyLineSeparatorCheck.class);
+ checkConfig.addAttribute("allowMultipleEmptyLines", "false");
+ final String[] expected = {
+
+ };
+ verify(checkConfig, getPath("whitespace/InputPrePreviousLineEmptiness.java"), expected);
+ }
}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/whitespace/InputEmptyLineSeparatorMultipleImportEmptyClass.java b/src/test/resources/com/puppycrawl/tools/checkstyle/whitespace/InputEmptyLineSeparatorMultipleImportEmptyClass.java
index c61bf3d2f..68b830401 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/whitespace/InputEmptyLineSeparatorMultipleImportEmptyClass.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/whitespace/InputEmptyLineSeparatorMultipleImportEmptyClass.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.whitespace;
+package com.puppycrawl.tools.checkstyle.whitespace;import java.util.List;
import java.util.Calendar;
import java.util.Date;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/whitespace/InputPrePreviousLineEmptiness.java b/src/test/resources/com/puppycrawl/tools/checkstyle/whitespace/InputPrePreviousLineEmptiness.java
new file mode 100644
index 000000000..c0536f37d
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/whitespace/InputPrePreviousLineEmptiness.java
@@ -0,0 +1,6 @@
+
+package com.puppycrawl.tools.checkstyle.whitespace;
+
+public class InputPrePreviousLineEmptiness {
+
+}