Scoping for javadoc checks
This commit is contained in:
parent
5e7932be70
commit
cdf0ac0f4c
|
|
@ -138,6 +138,9 @@ public class JavadocMethodCheck
|
|||
/** the visibility scope where Javadoc comments are checked **/
|
||||
private Scope mScope = Scope.PRIVATE;
|
||||
|
||||
/** the visibility scope where Javadoc comments shouldn't be checked **/
|
||||
private Scope mExcludeScope;
|
||||
|
||||
/**
|
||||
* controls whether to allow documented exceptions that
|
||||
* are not declared if they are a subclass of
|
||||
|
|
@ -182,6 +185,15 @@ public class JavadocMethodCheck
|
|||
mScope = Scope.getInstance(aFrom);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the excludeScope.
|
||||
* @param aScope a <code>String</code> value
|
||||
*/
|
||||
public void setExcludeScope(String aScope)
|
||||
{
|
||||
mExcludeScope = Scope.getInstance(aScope);
|
||||
}
|
||||
|
||||
/**
|
||||
* controls whether to allow documented exceptions that
|
||||
* are not declared if they are a subclass of
|
||||
|
|
@ -271,32 +283,38 @@ public class JavadocMethodCheck
|
|||
*/
|
||||
protected final void processAST(DetailAST aAST)
|
||||
{
|
||||
final DetailAST mods = aAST.findFirstToken(TokenTypes.MODIFIERS);
|
||||
final Scope declaredScope = ScopeUtils.getScopeFromMods(mods);
|
||||
final Scope targetScope =
|
||||
ScopeUtils.inInterfaceBlock(aAST)
|
||||
? Scope.PUBLIC
|
||||
: declaredScope;
|
||||
if (shouldCheck(aAST)) {
|
||||
final FileContents contents = getFileContents();
|
||||
final TextBlock cmt = contents.getJavadocBefore(aAST.getLineNo());
|
||||
|
||||
if (targetScope.isIn(mScope)) {
|
||||
final Scope surroundingScope =
|
||||
ScopeUtils.getSurroundingScope(aAST);
|
||||
|
||||
if (surroundingScope.isIn(mScope)) {
|
||||
final FileContents contents = getFileContents();
|
||||
final TextBlock cmt =
|
||||
contents.getJavadocBefore(aAST.getLineNo());
|
||||
|
||||
if (cmt == null) {
|
||||
log(aAST, "javadoc.missing");
|
||||
}
|
||||
else {
|
||||
checkComment(aAST, cmt);
|
||||
}
|
||||
if (cmt == null) {
|
||||
log(aAST, "javadoc.missing");
|
||||
}
|
||||
else {
|
||||
checkComment(aAST, cmt);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether we should check this node.
|
||||
* @param aAST a given node.
|
||||
* @return whether we should check a given node.
|
||||
*/
|
||||
private boolean shouldCheck(final DetailAST aAST)
|
||||
{
|
||||
final DetailAST mods = aAST.findFirstToken(TokenTypes.MODIFIERS);
|
||||
final Scope declaredScope = ScopeUtils.getScopeFromMods(mods);
|
||||
final Scope scope =
|
||||
ScopeUtils.inInterfaceBlock(aAST) ? Scope.PUBLIC : declaredScope;
|
||||
final Scope surroundingScope = ScopeUtils.getSurroundingScope(aAST);
|
||||
|
||||
return scope.isIn(mScope) && surroundingScope.isIn(mScope)
|
||||
&& ((mExcludeScope == null)
|
||||
|| !scope.isIn(mExcludeScope)
|
||||
|| !surroundingScope.isIn(mExcludeScope));
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks the Javadoc for a method.
|
||||
* @param aAST the token for the method
|
||||
|
|
|
|||
|
|
@ -69,6 +69,9 @@ public class JavadocStyleCheck
|
|||
/** The scope to check. */
|
||||
private Scope mScope = Scope.PRIVATE;
|
||||
|
||||
/** the visibility scope where Javadoc comments shouldn't be checked **/
|
||||
private Scope mExcludeScope;
|
||||
|
||||
/** Regular expression for matching the end of a sentence. */
|
||||
private RE mEndOfSentenceRE;
|
||||
|
||||
|
|
@ -109,32 +112,40 @@ public class JavadocStyleCheck
|
|||
*/
|
||||
public void visitToken(DetailAST aAST)
|
||||
{
|
||||
if (!ScopeUtils.inCodeBlock(aAST)) {
|
||||
final DetailAST mods =
|
||||
aAST.findFirstToken(TokenTypes.MODIFIERS);
|
||||
final Scope declaredScope = ScopeUtils.getScopeFromMods(mods);
|
||||
final Scope variableScope =
|
||||
ScopeUtils.inInterfaceBlock(aAST)
|
||||
? Scope.PUBLIC
|
||||
: declaredScope;
|
||||
if (shouldCheck(aAST)) {
|
||||
final FileContents contents = getFileContents();
|
||||
final TextBlock cmt =
|
||||
contents.getJavadocBefore(aAST.getLineNo());
|
||||
|
||||
if (variableScope.isIn(mScope)) {
|
||||
final Scope surroundingScope =
|
||||
ScopeUtils.getSurroundingScope(aAST);
|
||||
|
||||
if ((surroundingScope == null)
|
||||
|| surroundingScope.isIn(mScope))
|
||||
{
|
||||
final FileContents contents = getFileContents();
|
||||
final TextBlock cmt =
|
||||
contents.getJavadocBefore(aAST.getLineNo());
|
||||
|
||||
checkComment(cmt);
|
||||
}
|
||||
}
|
||||
checkComment(cmt);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether we should check this node.
|
||||
* @param aAST a given node.
|
||||
* @return whether we should check a given node.
|
||||
*/
|
||||
private boolean shouldCheck(final DetailAST aAST)
|
||||
{
|
||||
if (ScopeUtils.inCodeBlock(aAST)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
final DetailAST mods = aAST.findFirstToken(TokenTypes.MODIFIERS);
|
||||
final Scope declaredScope = ScopeUtils.getScopeFromMods(mods);
|
||||
final Scope scope =
|
||||
ScopeUtils.inInterfaceBlock(aAST) ? Scope.PUBLIC : declaredScope;
|
||||
final Scope surroundingScope = ScopeUtils.getSurroundingScope(aAST);
|
||||
|
||||
return scope.isIn(mScope)
|
||||
&& ((surroundingScope == null) || surroundingScope.isIn(mScope))
|
||||
&& ((mExcludeScope == null)
|
||||
|| !scope.isIn(mExcludeScope)
|
||||
|| (surroundingScope != null)
|
||||
&& !surroundingScope.isIn(mExcludeScope));
|
||||
}
|
||||
|
||||
/**
|
||||
* Performs the various checks agains the Javadoc comment.
|
||||
*
|
||||
|
|
@ -445,6 +456,15 @@ public class JavadocStyleCheck
|
|||
mScope = Scope.getInstance(aFrom);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the excludeScope.
|
||||
* @param aScope a <code>String</code> value
|
||||
*/
|
||||
public void setExcludeScope(String aScope)
|
||||
{
|
||||
mExcludeScope = Scope.getInstance(aScope);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a regular expression for matching the end of a sentence.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -85,6 +85,8 @@ public class JavadocTypeCheck
|
|||
{
|
||||
/** the scope to check for */
|
||||
private Scope mScope = Scope.PRIVATE;
|
||||
/** the visibility scope where Javadoc comments shouldn't be checked **/
|
||||
private Scope mExcludeScope;
|
||||
/** compiled regexp to match author tag content **/
|
||||
private RE mAuthorFormatRE;
|
||||
/** compiled regexp to match version tag content **/
|
||||
|
|
@ -103,6 +105,15 @@ public class JavadocTypeCheck
|
|||
mScope = Scope.getInstance(aFrom);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the excludeScope.
|
||||
* @param aScope a <code>String</code> value
|
||||
*/
|
||||
public void setExcludeScope(String aScope)
|
||||
{
|
||||
mExcludeScope = Scope.getInstance(aScope);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the author tag pattern.
|
||||
* @param aFormat a <code>String</code> value
|
||||
|
|
@ -147,31 +158,45 @@ public class JavadocTypeCheck
|
|||
/** @see com.puppycrawl.tools.checkstyle.api.Check */
|
||||
public void visitToken(DetailAST aAST)
|
||||
{
|
||||
final DetailAST mods = aAST.findFirstToken(TokenTypes.MODIFIERS);
|
||||
final Scope declaredScope = ScopeUtils.getScopeFromMods(mods);
|
||||
final Scope typeScope =
|
||||
ScopeUtils.inInterfaceBlock(aAST) ? Scope.PUBLIC : declaredScope;
|
||||
if (typeScope.isIn(mScope)) {
|
||||
final Scope surroundingScope = ScopeUtils.getSurroundingScope(aAST);
|
||||
if ((surroundingScope == null) || surroundingScope.isIn(mScope)) {
|
||||
final FileContents contents = getFileContents();
|
||||
final int lineNo = aAST.getLineNo();
|
||||
final TextBlock cmt = contents.getJavadocBefore(lineNo);
|
||||
if (cmt == null) {
|
||||
log(lineNo, "javadoc.missing");
|
||||
}
|
||||
else if (ScopeUtils.isOuterMostType(aAST)) {
|
||||
// don't check author/version for inner classes
|
||||
Vector tags = getJavadocTags(cmt);
|
||||
checkTag(lineNo, tags, "author",
|
||||
mAuthorFormatRE, mAuthorFormat);
|
||||
checkTag(lineNo, tags, "version",
|
||||
mVersionFormatRE, mVersionFormat);
|
||||
}
|
||||
if (shouldCheck(aAST)) {
|
||||
final FileContents contents = getFileContents();
|
||||
final int lineNo = aAST.getLineNo();
|
||||
final TextBlock cmt = contents.getJavadocBefore(lineNo);
|
||||
if (cmt == null) {
|
||||
log(lineNo, "javadoc.missing");
|
||||
}
|
||||
else if (ScopeUtils.isOuterMostType(aAST)) {
|
||||
// don't check author/version for inner classes
|
||||
Vector tags = getJavadocTags(cmt);
|
||||
checkTag(lineNo, tags, "author",
|
||||
mAuthorFormatRE, mAuthorFormat);
|
||||
checkTag(lineNo, tags, "version",
|
||||
mVersionFormatRE, mVersionFormat);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether we should check this node.
|
||||
* @param aAST a given node.
|
||||
* @return whether we should check a given node.
|
||||
*/
|
||||
private boolean shouldCheck(final DetailAST aAST)
|
||||
{
|
||||
final DetailAST mods = aAST.findFirstToken(TokenTypes.MODIFIERS);
|
||||
final Scope declaredScope = ScopeUtils.getScopeFromMods(mods);
|
||||
final Scope scope =
|
||||
ScopeUtils.inInterfaceBlock(aAST) ? Scope.PUBLIC : declaredScope;
|
||||
final Scope surroundingScope = ScopeUtils.getSurroundingScope(aAST);
|
||||
|
||||
return scope.isIn(mScope)
|
||||
&& ((surroundingScope == null) || surroundingScope.isIn(mScope))
|
||||
&& ((mExcludeScope == null)
|
||||
|| !scope.isIn(mExcludeScope)
|
||||
|| (surroundingScope != null)
|
||||
&& !surroundingScope.isIn(mExcludeScope));
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets all standalone tags from a given javadoc.
|
||||
* @param aCmt teh Javadoc comment to process.
|
||||
|
|
|
|||
|
|
@ -55,6 +55,9 @@ public class JavadocVariableCheck
|
|||
/** the scope to check */
|
||||
private Scope mScope = Scope.PRIVATE;
|
||||
|
||||
/** the visibility scope where Javadoc comments shouldn't be checked **/
|
||||
private Scope mExcludeScope;
|
||||
|
||||
/**
|
||||
* Sets the scope to check.
|
||||
* @param aFrom string to get the scope from
|
||||
|
|
@ -64,6 +67,15 @@ public class JavadocVariableCheck
|
|||
mScope = Scope.getInstance(aFrom);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the excludeScope.
|
||||
* @param aScope a <code>String</code> value
|
||||
*/
|
||||
public void setExcludeScope(String aScope)
|
||||
{
|
||||
mExcludeScope = Scope.getInstance(aScope);
|
||||
}
|
||||
|
||||
/** @see com.puppycrawl.tools.checkstyle.api.Check */
|
||||
public int[] getDefaultTokens()
|
||||
{
|
||||
|
|
@ -73,28 +85,38 @@ public class JavadocVariableCheck
|
|||
/** @see com.puppycrawl.tools.checkstyle.api.Check */
|
||||
public void visitToken(DetailAST aAST)
|
||||
{
|
||||
if (!ScopeUtils.inCodeBlock(aAST)) {
|
||||
final DetailAST mods = aAST.findFirstToken(TokenTypes.MODIFIERS);
|
||||
final Scope declaredScope = ScopeUtils.getScopeFromMods(mods);
|
||||
final Scope variableScope =
|
||||
ScopeUtils.inInterfaceBlock(aAST)
|
||||
? Scope.PUBLIC
|
||||
: declaredScope;
|
||||
if (shouldCheck(aAST)) {
|
||||
final FileContents contents = getFileContents();
|
||||
final TextBlock cmt =
|
||||
contents.getJavadocBefore(aAST.getLineNo());
|
||||
|
||||
if (variableScope.isIn(mScope)) {
|
||||
final Scope surroundingScope =
|
||||
ScopeUtils.getSurroundingScope(aAST);
|
||||
|
||||
if (surroundingScope.isIn(mScope)) {
|
||||
final FileContents contents = getFileContents();
|
||||
final TextBlock cmt =
|
||||
contents.getJavadocBefore(aAST.getLineNo());
|
||||
|
||||
if (cmt == null) {
|
||||
log(aAST, "javadoc.missing");
|
||||
}
|
||||
}
|
||||
if (cmt == null) {
|
||||
log(aAST, "javadoc.missing");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether we should check this node.
|
||||
* @param aAST a given node.
|
||||
* @return whether we should check a given node.
|
||||
*/
|
||||
private boolean shouldCheck(final DetailAST aAST)
|
||||
{
|
||||
if (ScopeUtils.inCodeBlock(aAST)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
final DetailAST mods = aAST.findFirstToken(TokenTypes.MODIFIERS);
|
||||
final Scope declaredScope = ScopeUtils.getScopeFromMods(mods);
|
||||
final Scope scope =
|
||||
ScopeUtils.inInterfaceBlock(aAST) ? Scope.PUBLIC : declaredScope;
|
||||
final Scope surroundingScope = ScopeUtils.getSurroundingScope(aAST);
|
||||
|
||||
return scope.isIn(mScope) && surroundingScope.isIn(mScope)
|
||||
&& ((mExcludeScope == null)
|
||||
|| !scope.isIn(mExcludeScope)
|
||||
|| !surroundingScope.isIn(mExcludeScope));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,108 @@
|
|||
public class InputNoJavadic
|
||||
{
|
||||
public int i1;
|
||||
protected int i2;
|
||||
int i3;
|
||||
private int i4;
|
||||
|
||||
public foo1() {}
|
||||
protected foo2() {}
|
||||
foo3() {}
|
||||
private foo4() {}
|
||||
|
||||
protected class ProtectedInner {
|
||||
public int i1;
|
||||
protected int i2;
|
||||
int i3;
|
||||
private int i4;
|
||||
|
||||
public foo1() {}
|
||||
protected foo2() {}
|
||||
foo3() {}
|
||||
private foo4() {}
|
||||
}
|
||||
|
||||
class PackageInner {
|
||||
public int i1;
|
||||
protected int i2;
|
||||
int i3;
|
||||
private int i4;
|
||||
|
||||
public foo1() {}
|
||||
protected foo2() {}
|
||||
foo3() {}
|
||||
private foo4() {}
|
||||
}
|
||||
|
||||
private class PrivateInner {
|
||||
public int i1;
|
||||
protected int i2;
|
||||
int i3;
|
||||
private int i4;
|
||||
|
||||
public foo1() {}
|
||||
protected foo2() {}
|
||||
foo3() {}
|
||||
private foo4() {}
|
||||
}
|
||||
}
|
||||
|
||||
class PackageClass {
|
||||
public int i1;
|
||||
protected int i2;
|
||||
int i3;
|
||||
private int i4;
|
||||
|
||||
public foo1() {}
|
||||
protected foo2() {}
|
||||
foo3() {}
|
||||
private foo4() {}
|
||||
|
||||
public class PublicInner {
|
||||
public int i1;
|
||||
protected int i2;
|
||||
int i3;
|
||||
private int i4;
|
||||
|
||||
public foo1() {}
|
||||
protected foo2() {}
|
||||
foo3() {}
|
||||
private foo4() {}
|
||||
}
|
||||
|
||||
protected class ProtectedInner {
|
||||
public int i1;
|
||||
protected int i2;
|
||||
int i3;
|
||||
private int i4;
|
||||
|
||||
public foo1() {}
|
||||
protected foo2() {}
|
||||
foo3() {}
|
||||
private foo4() {}
|
||||
}
|
||||
|
||||
class PackageInner {
|
||||
public int i1;
|
||||
protected int i2;
|
||||
int i3;
|
||||
private int i4;
|
||||
|
||||
public foo1() {}
|
||||
protected foo2() {}
|
||||
foo3() {}
|
||||
private foo4() {}
|
||||
}
|
||||
|
||||
private class PrivateInner {
|
||||
public int i1;
|
||||
protected int i2;
|
||||
int i3;
|
||||
private int i4;
|
||||
|
||||
public foo1() {}
|
||||
protected foo2() {}
|
||||
foo3() {}
|
||||
private foo4() {}
|
||||
}
|
||||
}
|
||||
|
|
@ -4,6 +4,7 @@ import com.puppycrawl.tools.checkstyle.BaseCheckTestCase;
|
|||
import com.puppycrawl.tools.checkstyle.DefaultConfiguration;
|
||||
import com.puppycrawl.tools.checkstyle.api.Scope;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class JavadocMethodCheckTest
|
||||
extends BaseCheckTestCase
|
||||
|
|
@ -217,4 +218,112 @@ public class JavadocMethodCheckTest
|
|||
};
|
||||
verify(checkConfig, getPath("InputTags.java"), expected);
|
||||
}
|
||||
|
||||
public void testScopes() throws Exception
|
||||
{
|
||||
final DefaultConfiguration checkConfig =
|
||||
createCheckConfig(JavadocMethodCheck.class);
|
||||
final String[] expected = {
|
||||
"8:5: Missing a Javadoc comment.",
|
||||
"9:5: Missing a Javadoc comment.",
|
||||
"10:5: Missing a Javadoc comment.",
|
||||
"11:5: Missing a Javadoc comment.",
|
||||
"19:9: Missing a Javadoc comment.",
|
||||
"20:9: Missing a Javadoc comment.",
|
||||
"21:9: Missing a Javadoc comment.",
|
||||
"22:9: Missing a Javadoc comment.",
|
||||
"31:9: Missing a Javadoc comment.",
|
||||
"32:9: Missing a Javadoc comment.",
|
||||
"33:9: Missing a Javadoc comment.",
|
||||
"34:9: Missing a Javadoc comment.",
|
||||
"43:9: Missing a Javadoc comment.",
|
||||
"44:9: Missing a Javadoc comment.",
|
||||
"45:9: Missing a Javadoc comment.",
|
||||
"46:9: Missing a Javadoc comment.",
|
||||
"56:5: Missing a Javadoc comment.",
|
||||
"57:5: Missing a Javadoc comment.",
|
||||
"58:5: Missing a Javadoc comment.",
|
||||
"59:5: Missing a Javadoc comment.",
|
||||
"67:9: Missing a Javadoc comment.",
|
||||
"68:9: Missing a Javadoc comment.",
|
||||
"69:9: Missing a Javadoc comment.",
|
||||
"70:9: Missing a Javadoc comment.",
|
||||
"79:9: Missing a Javadoc comment.",
|
||||
"80:9: Missing a Javadoc comment.",
|
||||
"81:9: Missing a Javadoc comment.",
|
||||
"82:9: Missing a Javadoc comment.",
|
||||
"91:9: Missing a Javadoc comment.",
|
||||
"92:9: Missing a Javadoc comment.",
|
||||
"93:9: Missing a Javadoc comment.",
|
||||
"94:9: Missing a Javadoc comment.",
|
||||
"103:9: Missing a Javadoc comment.",
|
||||
"104:9: Missing a Javadoc comment.",
|
||||
"105:9: Missing a Javadoc comment.",
|
||||
"106:9: Missing a Javadoc comment.",
|
||||
};
|
||||
verify(checkConfig,
|
||||
getPath("javadoc" + File.separator +"InputNoJavadoc.java"),
|
||||
expected);
|
||||
}
|
||||
|
||||
public void testScopes2() throws Exception
|
||||
{
|
||||
final DefaultConfiguration checkConfig =
|
||||
createCheckConfig(JavadocMethodCheck.class);
|
||||
checkConfig.addAttribute("scope", Scope.PROTECTED.getName());
|
||||
final String[] expected = {
|
||||
"8:5: Missing a Javadoc comment.",
|
||||
"9:5: Missing a Javadoc comment.",
|
||||
"19:9: Missing a Javadoc comment.",
|
||||
"20:9: Missing a Javadoc comment.",
|
||||
};
|
||||
verify(checkConfig,
|
||||
getPath("javadoc" + File.separator +"InputNoJavadoc.java"),
|
||||
expected);
|
||||
}
|
||||
|
||||
public void testExcludeScope() throws Exception
|
||||
{
|
||||
final DefaultConfiguration checkConfig =
|
||||
createCheckConfig(JavadocMethodCheck.class);
|
||||
checkConfig.addAttribute("scope", Scope.PRIVATE.getName());
|
||||
checkConfig.addAttribute("excludeScope", Scope.PROTECTED.getName());
|
||||
final String[] expected = {
|
||||
"10:5: Missing a Javadoc comment.",
|
||||
"11:5: Missing a Javadoc comment.",
|
||||
"21:9: Missing a Javadoc comment.",
|
||||
"22:9: Missing a Javadoc comment.",
|
||||
"31:9: Missing a Javadoc comment.",
|
||||
"32:9: Missing a Javadoc comment.",
|
||||
"33:9: Missing a Javadoc comment.",
|
||||
"34:9: Missing a Javadoc comment.",
|
||||
"43:9: Missing a Javadoc comment.",
|
||||
"44:9: Missing a Javadoc comment.",
|
||||
"45:9: Missing a Javadoc comment.",
|
||||
"46:9: Missing a Javadoc comment.",
|
||||
"56:5: Missing a Javadoc comment.",
|
||||
"57:5: Missing a Javadoc comment.",
|
||||
"58:5: Missing a Javadoc comment.",
|
||||
"59:5: Missing a Javadoc comment.",
|
||||
"67:9: Missing a Javadoc comment.",
|
||||
"68:9: Missing a Javadoc comment.",
|
||||
"69:9: Missing a Javadoc comment.",
|
||||
"70:9: Missing a Javadoc comment.",
|
||||
"79:9: Missing a Javadoc comment.",
|
||||
"80:9: Missing a Javadoc comment.",
|
||||
"81:9: Missing a Javadoc comment.",
|
||||
"82:9: Missing a Javadoc comment.",
|
||||
"91:9: Missing a Javadoc comment.",
|
||||
"92:9: Missing a Javadoc comment.",
|
||||
"93:9: Missing a Javadoc comment.",
|
||||
"94:9: Missing a Javadoc comment.",
|
||||
"103:9: Missing a Javadoc comment.",
|
||||
"104:9: Missing a Javadoc comment.",
|
||||
"105:9: Missing a Javadoc comment.",
|
||||
"106:9: Missing a Javadoc comment.",
|
||||
};
|
||||
verify(checkConfig,
|
||||
getPath("javadoc" + File.separator +"InputNoJavadoc.java"),
|
||||
expected);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -160,4 +160,27 @@ public class JavadocStyleCheckTest
|
|||
verify(checkConfig, getPath("InputJavadocStyleCheck.java"), expected);
|
||||
}
|
||||
|
||||
public void testExcludeScope()
|
||||
throws Exception
|
||||
{
|
||||
final DefaultConfiguration checkConfig =
|
||||
createCheckConfig(JavadocStyleCheck.class);
|
||||
checkConfig.addAttribute("scope", "private");
|
||||
checkConfig.addAttribute("excludeScope", "protected");
|
||||
final String[] expected =
|
||||
{
|
||||
"20: First sentence should end with a period.",
|
||||
"53: First sentence should end with a period.",
|
||||
"63:11: Unclosed HTML tag found: <b>This guy is missing end of bold tag",
|
||||
"66:7: Extra HTML tag found: </td>Extra tag shouldn't be here",
|
||||
"68:19: Unclosed HTML tag found: <code>dummy.",
|
||||
"81: First sentence should end with a period.",
|
||||
"82:31: Unclosed HTML tag found: <b>should fail",
|
||||
"109:39: Extra HTML tag found: </img>",
|
||||
"186:8: Unclosed HTML tag found: <blockquote>",
|
||||
"193: First sentence should end with a period.",
|
||||
};
|
||||
|
||||
verify(checkConfig, getPath("InputJavadocStyleCheck.java"), expected);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@ import com.puppycrawl.tools.checkstyle.BaseCheckTestCase;
|
|||
import com.puppycrawl.tools.checkstyle.DefaultConfiguration;
|
||||
import com.puppycrawl.tools.checkstyle.api.Scope;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
/**
|
||||
* @author Oliver.Burn
|
||||
*
|
||||
|
|
@ -196,4 +198,58 @@ public class JavadocTypeCheckTest extends BaseCheckTestCase
|
|||
};
|
||||
verify(checkConfig, getPath("InputJavadoc.java"), expected);
|
||||
}
|
||||
|
||||
public void testScopes() throws Exception
|
||||
{
|
||||
final DefaultConfiguration checkConfig =
|
||||
createCheckConfig(JavadocTypeCheck.class);
|
||||
final String[] expected = {
|
||||
"1: Missing a Javadoc comment.",
|
||||
"13: Missing a Javadoc comment.",
|
||||
"25: Missing a Javadoc comment.",
|
||||
"37: Missing a Javadoc comment.",
|
||||
"50: Missing a Javadoc comment.",
|
||||
"61: Missing a Javadoc comment.",
|
||||
"73: Missing a Javadoc comment.",
|
||||
"85: Missing a Javadoc comment.",
|
||||
"97: Missing a Javadoc comment.",
|
||||
};
|
||||
verify(checkConfig,
|
||||
getPath("javadoc" + File.separator +"InputNoJavadoc.java"),
|
||||
expected);
|
||||
}
|
||||
|
||||
public void testScopes2() throws Exception
|
||||
{
|
||||
final DefaultConfiguration checkConfig =
|
||||
createCheckConfig(JavadocTypeCheck.class);
|
||||
checkConfig.addAttribute("scope", Scope.PROTECTED.getName());
|
||||
final String[] expected = {
|
||||
"1: Missing a Javadoc comment.",
|
||||
"13: Missing a Javadoc comment.",
|
||||
};
|
||||
verify(checkConfig,
|
||||
getPath("javadoc" + File.separator +"InputNoJavadoc.java"),
|
||||
expected);
|
||||
}
|
||||
|
||||
public void testExcludeScope() throws Exception
|
||||
{
|
||||
final DefaultConfiguration checkConfig =
|
||||
createCheckConfig(JavadocTypeCheck.class);
|
||||
checkConfig.addAttribute("scope", Scope.PRIVATE.getName());
|
||||
checkConfig.addAttribute("excludeScope", Scope.PROTECTED.getName());
|
||||
final String[] expected = {
|
||||
"25: Missing a Javadoc comment.",
|
||||
"37: Missing a Javadoc comment.",
|
||||
"50: Missing a Javadoc comment.",
|
||||
"61: Missing a Javadoc comment.",
|
||||
"73: Missing a Javadoc comment.",
|
||||
"85: Missing a Javadoc comment.",
|
||||
"97: Missing a Javadoc comment.",
|
||||
};
|
||||
verify(checkConfig,
|
||||
getPath("javadoc" + File.separator +"InputNoJavadoc.java"),
|
||||
expected);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import com.puppycrawl.tools.checkstyle.BaseCheckTestCase;
|
|||
import com.puppycrawl.tools.checkstyle.DefaultConfiguration;
|
||||
import com.puppycrawl.tools.checkstyle.api.Scope;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class JavadocVariableCheckTest
|
||||
extends BaseCheckTestCase
|
||||
|
|
@ -70,4 +71,112 @@ public class JavadocVariableCheckTest
|
|||
};
|
||||
verify(checkConfig, getPath("InputPublicOnly.java"), expected);
|
||||
}
|
||||
|
||||
public void testScopes() throws Exception
|
||||
{
|
||||
final DefaultConfiguration checkConfig =
|
||||
createCheckConfig(JavadocVariableCheck.class);
|
||||
final String[] expected = {
|
||||
"3:5: Missing a Javadoc comment.",
|
||||
"4:5: Missing a Javadoc comment.",
|
||||
"5:5: Missing a Javadoc comment.",
|
||||
"6:5: Missing a Javadoc comment.",
|
||||
"14:9: Missing a Javadoc comment.",
|
||||
"15:9: Missing a Javadoc comment.",
|
||||
"16:9: Missing a Javadoc comment.",
|
||||
"17:9: Missing a Javadoc comment.",
|
||||
"26:9: Missing a Javadoc comment.",
|
||||
"27:9: Missing a Javadoc comment.",
|
||||
"28:9: Missing a Javadoc comment.",
|
||||
"29:9: Missing a Javadoc comment.",
|
||||
"38:9: Missing a Javadoc comment.",
|
||||
"39:9: Missing a Javadoc comment.",
|
||||
"40:9: Missing a Javadoc comment.",
|
||||
"41:9: Missing a Javadoc comment.",
|
||||
"51:5: Missing a Javadoc comment.",
|
||||
"52:5: Missing a Javadoc comment.",
|
||||
"53:5: Missing a Javadoc comment.",
|
||||
"54:5: Missing a Javadoc comment.",
|
||||
"62:9: Missing a Javadoc comment.",
|
||||
"63:9: Missing a Javadoc comment.",
|
||||
"64:9: Missing a Javadoc comment.",
|
||||
"65:9: Missing a Javadoc comment.",
|
||||
"74:9: Missing a Javadoc comment.",
|
||||
"75:9: Missing a Javadoc comment.",
|
||||
"76:9: Missing a Javadoc comment.",
|
||||
"77:9: Missing a Javadoc comment.",
|
||||
"86:9: Missing a Javadoc comment.",
|
||||
"87:9: Missing a Javadoc comment.",
|
||||
"88:9: Missing a Javadoc comment.",
|
||||
"89:9: Missing a Javadoc comment.",
|
||||
"98:9: Missing a Javadoc comment.",
|
||||
"99:9: Missing a Javadoc comment.",
|
||||
"100:9: Missing a Javadoc comment.",
|
||||
"101:9: Missing a Javadoc comment.",
|
||||
};
|
||||
verify(checkConfig,
|
||||
getPath("javadoc" + File.separator +"InputNoJavadoc.java"),
|
||||
expected);
|
||||
}
|
||||
|
||||
public void testScopes2() throws Exception
|
||||
{
|
||||
final DefaultConfiguration checkConfig =
|
||||
createCheckConfig(JavadocVariableCheck.class);
|
||||
checkConfig.addAttribute("scope", Scope.PROTECTED.getName());
|
||||
final String[] expected = {
|
||||
"3:5: Missing a Javadoc comment.",
|
||||
"4:5: Missing a Javadoc comment.",
|
||||
"14:9: Missing a Javadoc comment.",
|
||||
"15:9: Missing a Javadoc comment.",
|
||||
};
|
||||
verify(checkConfig,
|
||||
getPath("javadoc" + File.separator +"InputNoJavadoc.java"),
|
||||
expected);
|
||||
}
|
||||
|
||||
public void testExcludeScope() throws Exception
|
||||
{
|
||||
final DefaultConfiguration checkConfig =
|
||||
createCheckConfig(JavadocVariableCheck.class);
|
||||
checkConfig.addAttribute("scope", Scope.PRIVATE.getName());
|
||||
checkConfig.addAttribute("excludeScope", Scope.PROTECTED.getName());
|
||||
final String[] expected = {
|
||||
"5:5: Missing a Javadoc comment.",
|
||||
"6:5: Missing a Javadoc comment.",
|
||||
"16:9: Missing a Javadoc comment.",
|
||||
"17:9: Missing a Javadoc comment.",
|
||||
"26:9: Missing a Javadoc comment.",
|
||||
"27:9: Missing a Javadoc comment.",
|
||||
"28:9: Missing a Javadoc comment.",
|
||||
"29:9: Missing a Javadoc comment.",
|
||||
"38:9: Missing a Javadoc comment.",
|
||||
"39:9: Missing a Javadoc comment.",
|
||||
"40:9: Missing a Javadoc comment.",
|
||||
"41:9: Missing a Javadoc comment.",
|
||||
"51:5: Missing a Javadoc comment.",
|
||||
"52:5: Missing a Javadoc comment.",
|
||||
"53:5: Missing a Javadoc comment.",
|
||||
"54:5: Missing a Javadoc comment.",
|
||||
"62:9: Missing a Javadoc comment.",
|
||||
"63:9: Missing a Javadoc comment.",
|
||||
"64:9: Missing a Javadoc comment.",
|
||||
"65:9: Missing a Javadoc comment.",
|
||||
"74:9: Missing a Javadoc comment.",
|
||||
"75:9: Missing a Javadoc comment.",
|
||||
"76:9: Missing a Javadoc comment.",
|
||||
"77:9: Missing a Javadoc comment.",
|
||||
"86:9: Missing a Javadoc comment.",
|
||||
"87:9: Missing a Javadoc comment.",
|
||||
"88:9: Missing a Javadoc comment.",
|
||||
"89:9: Missing a Javadoc comment.",
|
||||
"98:9: Missing a Javadoc comment.",
|
||||
"99:9: Missing a Javadoc comment.",
|
||||
"100:9: Missing a Javadoc comment.",
|
||||
"101:9: Missing a Javadoc comment.",
|
||||
};
|
||||
verify(checkConfig,
|
||||
getPath("javadoc" + File.separator +"InputNoJavadoc.java"),
|
||||
expected);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue