From 16493bfb502b73de0c19ca19d99f33bc3d6ce7e4 Mon Sep 17 00:00:00 2001 From: Michal Kordas Date: Sat, 31 Oct 2015 16:17:24 +0100 Subject: [PATCH] Issue #2387: Do not recognize '/**/' as valid Javadoc --- .../com/puppycrawl/tools/checkstyle/api/FileContents.java | 3 ++- .../checkstyle/checks/javadoc/JavadocMethodCheckTest.java | 8 ++++++-- .../checkstyle/checks/javadoc/JavadocStyleCheckTest.java | 8 ++++++++ .../tools/checkstyle/checks/javadoc/InputNoJavadoc.java | 3 +++ 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/api/FileContents.java b/src/main/java/com/puppycrawl/tools/checkstyle/api/FileContents.java index 729350403..307a150ea 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/api/FileContents.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/api/FileContents.java @@ -150,7 +150,8 @@ public final class FileContents implements CommentListener { } // Remember if possible Javadoc comment - if (line(startLineNo - 1).indexOf("/**", startColNo) != -1) { + final String firstLine = line(startLineNo - 1); + if (firstLine.contains("/**") && !firstLine.contains("/**/")) { javadocComments.put(endLineNo - 1, comment); } } diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocMethodCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocMethodCheckTest.java index b255ad86b..23c7f4d74 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocMethodCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocMethodCheckTest.java @@ -333,7 +333,9 @@ public class JavadocMethodCheckTest extends BaseCheckTestSupport { "105:9: " + getCheckMessage(MSG_JAVADOC_MISSING), "106:9: " + getCheckMessage(MSG_JAVADOC_MISSING), "107:9: " + getCheckMessage(MSG_JAVADOC_MISSING), - "108:9: " + getCheckMessage(MSG_JAVADOC_MISSING), }; + "108:9: " + getCheckMessage(MSG_JAVADOC_MISSING), + "119:5: " + getCheckMessage(MSG_JAVADOC_MISSING), + }; verify(checkConfig, getPath("InputNoJavadoc.java"), expected); } @@ -376,7 +378,9 @@ public class JavadocMethodCheckTest extends BaseCheckTestSupport { "96:9: " + getCheckMessage(MSG_JAVADOC_MISSING), "105:9: " + getCheckMessage(MSG_JAVADOC_MISSING), "107:9: " + getCheckMessage(MSG_JAVADOC_MISSING), - "108:9: " + getCheckMessage(MSG_JAVADOC_MISSING), }; + "108:9: " + getCheckMessage(MSG_JAVADOC_MISSING), + "119:5: " + getCheckMessage(MSG_JAVADOC_MISSING), + }; verify(checkConfig, getPath("InputNoJavadoc.java"), expected); } diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocStyleCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocStyleCheckTest.java index 58a4c4254..d277d46c3 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocStyleCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocStyleCheckTest.java @@ -205,6 +205,14 @@ public class JavadocStyleCheckTest verify(checkConfig, getPath("InputJavadocStyleHtmlComment.java"), expected); } + @Test + public void testOnInputWithNoJavadoc() throws Exception { + final DefaultConfiguration checkConfig = createCheckConfig(JavadocStyleCheck.class); + final String[] expected = ArrayUtils.EMPTY_STRING_ARRAY; + + verify(checkConfig, getPath("InputNoJavadoc.java"), expected); + } + @Test public void testScopePublic() throws Exception { diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/InputNoJavadoc.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/InputNoJavadoc.java index 5837df6ab..69f7fe550 100644 --- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/InputNoJavadoc.java +++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/InputNoJavadoc.java @@ -114,4 +114,7 @@ class PackageClass { // no warning, 'serialVersionUID' fields do not require Javadoc private static final long serialVersionUID = 0; } + + /**/ + void methodWithTwoStarComment() {} }