From 244eb9d0a9768cfba0b3b0561657ff3f56517c5d Mon Sep 17 00:00:00 2001 From: liscju Date: Fri, 6 Mar 2015 13:03:31 +0100 Subject: [PATCH] Fix bugs with multiple fields, part of issue #706 --- .../checks/whitespace/EmptyLineSeparatorCheck.java | 2 +- .../whitespace/EmptyLineSeparatorCheckTest.java | 13 +++++++++++++ ...nputEmptyLineSeparatorMultipleFieldsInClass.java | 7 +++++++ 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 src/test/resources/com/puppycrawl/tools/checkstyle/whitespace/InputEmptyLineSeparatorMultipleFieldsInClass.java 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 80a372955..f26a17a88 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 @@ -236,7 +236,7 @@ public class EmptyLineSeparatorCheck extends Check log(nextToken.getLineNo(), MSG_SHOULD_BE_SEPARATED, nextToken.getText()); } - else if ((!allowNoEmptyLineBetweenFields || !allowMultipleEmptyLines) + else if (!allowNoEmptyLineBetweenFields && nextToken.getType() != TokenTypes.RCURLY) { log(nextToken.getLineNo(), MSG_SHOULD_BE_SEPARATED, 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 99f457be3..93ab12b95 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 @@ -97,4 +97,17 @@ public class EmptyLineSeparatorCheckTest }; verify(checkConfig, getPath("whitespace/InputEmptyLineSeparatorFormerException.java"), expected); } + + @Test + public void testAllowMultipleFieldInClass() throws Exception + { + DefaultConfiguration checkConfig = createCheckConfig(EmptyLineSeparatorCheck.class); + checkConfig.addAttribute("allowMultipleEmptyLines", "false"); + checkConfig.addAttribute("allowNoEmptyLineBetweenFields", "true"); + final String[] expected = { + + }; + verify(checkConfig, getPath("whitespace/InputEmptyLineSeparatorMultipleFieldsInClass.java"), expected); + } + } diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/whitespace/InputEmptyLineSeparatorMultipleFieldsInClass.java b/src/test/resources/com/puppycrawl/tools/checkstyle/whitespace/InputEmptyLineSeparatorMultipleFieldsInClass.java new file mode 100644 index 000000000..0f8b93aa7 --- /dev/null +++ b/src/test/resources/com/puppycrawl/tools/checkstyle/whitespace/InputEmptyLineSeparatorMultipleFieldsInClass.java @@ -0,0 +1,7 @@ +package com.puppycrawl.tools.checkstyle.whitespace; + +public class InputEmptyLineSeparatorMultipleFieldsInClass +{ + int first; + int second; +}