////////////////////////////////////////////////////////////////////////////////
// Test case file for checkstyle.
// Created: 2003
////////////////////////////////////////////////////////////////////////////////
package com.puppycrawl.tools.checkstyle.checks.javadoc;
/**
* Test input for the JavadocStyleCheck. This check is used to perform
* some additional Javadoc validations.
*
* @author Chris Stillwell
* @version 1.0
*/
public class InputJavadocStyle
{
// This is OK. We don't flag missing javadoc. That's left for other checks.
private String first;
/** This Javadoc is missing an ending period */
private String second;
/**
* We don't want {@link com.puppycrawl.tools.checkstyle.checks.JavadocStyleCheck}
* tags to stop the scan for the end of sentence.
* @see Somthing
*/
public InputJavadocStyle()
{
}
/**
* This is ok!
*/
private void method1()
{
}
/**
* This is ok?
*/
private void method2()
{
}
/**
* And This is ok.<br>
*/
private void method3()
{
}
/**
* This should fail even.though.there are embedded periods
*/
private void method4()
{
}
/**
* Test HTML in Javadoc comment
* <dl>
* <dt><b>This guy is missing end of bold tag
* <dd>The dt and dd don't require end tags.
* </dl>
* </td>Extra tag shouldn't be here
*
* @param arg1 <code>dummy.
*/
private void method5(int arg1)
{
}
/**
* Protected check <b>should fail
*/
protected void method6()
{
}
/**
* Package protected check <b>should fail
*/
void method7()
{
}
/**
* Public check should fail</code>
* should fail <
*/
public void method8()
{
}
/** {@inheritDoc} **/
public void method9()
{
}
// Testcases to excercize the Tag parser (bug 843887)
/**
* Real men don't use XHTML.
* <br />
* <hr/>
* < br/>
* <img src="schattenparker.jpg"/></img>
*/
private void method10()
{ // </img> should be the only error
}
/**
* Tag content can be really mean.
* <p>
* Sometimes a p tag is closed.
* </p>
* <p>
* Sometimes it's not.
*
* <span style="font-family:'Times New Roman',Times,serif;font-size:200%">
* Attributes can contain spaces and nested quotes.
* </span>
* <img src="slashesCanOccurWithin/attributes.jpg"/>
* <img src="slashesCanOccurWithin/attributes.jpg">
* <!-- comments <div> should not be checked. -->
*/
private void method11()
{ // JavadocStyle should not report any error for this method
}
/**
* Tags for two lines.
* <a href="some_link"
* >Link Text</a>
*/
private void method12()
{// JavadocStyle should not report any error for this method
}
/**
* First sentence.
* <pre>
* +--LITERAL_DO (do)
* |
* +--SLIST ({)
* |
* +--EXPR
* |
* +--ASSIGN (=)
* |
* +--IDENT (x)
* +--METHOD_CALL (()
* |
* +--DOT (.)
* |
* +--IDENT (rand)
* +--IDENT (nextInt)
* +--ELIST
* |
* +--EXPR
* |
* +--NUM_INT (10)
* +--RPAREN ())
* +--SEMI (;)
* +--RCURLY (})
* +--LPAREN (()
* +--EXPR
* |
* +--LT (<)
* |
* +--IDENT (x)
* +--NUM_INT (5)
* +--RPAREN ())
* +--SEMI (;)
* </pre>
*/
private void method13()
{// JavadocStyle should not report any error for this method
}
/**
* Some problematic javadoc. Sample usage:
* <blockquote>
*/
private void method14()
{ // empty line between javadoc and method is critical (bug 841942)
}
/**
* Empty line between javadoc and method declaration cause wrong
* line number for reporting error (bug 841942)
*/
private void method15()
{ // should report unended first sentance (check line number of the error)
}
/** Description of field: {@value}. */
public static final int dummy = 4911;
/**
*/
public void method16()
{ // should report empty javadoc
}
/**
* @param a A parameter
*/
protected void method17(String a)
{ // should report empty javadoc (no text before parameter)
}
/**
* @exception RuntimeException shoul be thrown
*/
void method18(String a)
{ // should report empty javadoc (no text before exception)
}
/**
*/
private static int ASDF = 0;
// should report empty javadoc
/** @see java.lang.Object */
public void method19()
{ // should report empty javadoc (no text before see tag)
}
public enum Test
//Should complain about no javadoc
{
/**
* Value 1 without a period
*/
value1,
/**
* Value 2 with a period.
*/
value2,
}
/**
* A test class.
* @param <T1> this is NOT an unclosed T1 tag
* @param <KEY_T> for bug 1649020.
* @author <a href="mailto:foo@nomail.com">Foo Bar</a>
*/
public class TestClass<T1, KEY_T>
{
/**
* Retrieves X.
* @return a value
*/
public T1 getX()
{
return null;
}
/**
* Retrieves Y.
* @param <V> this is not an unclosed V tag
* @return a value
*/
public <V> V getY()
{
return null;
}
/**
* Retrieves Z.
*
* @param <KEY_T1> this is not an unclosed KEY_T tag
* @return a value
*/
public <KEY_T1> KEY_T getZ_1649020_1()
{
return null;
}
/**
* Retrieves something.
*
* @param <KEY_T_$_1_t> strange type
* @return a value
*/
public <KEY_T_$_1_t> KEY_T_$_1_t getEh_1649020_2() {
return null;
}
/**
* Retrieves more something.
*
* @param <$_12_xY_z> strange type
* @return a value
*/
public <$_12_xY_z> $_12_xY_z getUmmm_1649020_3() {
return null;
}
}
/**
* Checks if the specified IClass needs to be
* annotated with the @Type annotation.
*/
public void foo_1291847_1() {
}
/**
* Returns the string containing the properties of
* <code>@Type</code> annotation.
*/
public void foo_1291847_2() {
}
/**
* Checks generics javadoc.
*
* @param strings this is a List<String>
* @param test Map<String, List<String>> a map indexed on String of Lists of Strings.
*/
public void method20() {
}
/**
* Checks HTML tags in javadoc.
*
* HTML no good tag
* <string>Tests</string>
*
*/
public void method21() {
}
/**
* First sentence.
* <
* /a>
*/
void tagClosedInNextLine() {
}
/**
* Link to some page in two lines.
* <a
* href="someLink"/>
*/
void tagInTwoLines() {
}
/**
* This Javadoc contains unclosed tag.
* <code>unclosed 'code' tag<code>
*/
private void unclosedTag() {}
void javadocLikeCommentInMethod() {
/**
* It pretends to be Javadoc without dot, but it's just comment in method
*/
final int i = 0;
}
/**
* {@inheritDoc}
*/
private void inheritDoc() {}
/**
* <p><b>Note:<b> it's unterminated tag.</p>
*/
private void unterminatedTag() {}
/**
* Javadoc without dot
*/
public interface TestInterface {
/**
* Javadoc without dot
*/
void method();
}
static class TestStaticClass {
/**
* Javadoc without dot
*/
public int field;
}
/**
* .
* @throws Exception if an error occurs
*/
void foo() throws Exception {}
/**
* text /
* @throws Exception if an error occurs
*/
void bar() throws Exception {}
/**
* {@inheritDoc}
* <p>
* @throws IllegalArgumentException with errMsg as its message
*/
void inheritDocWithThrows() {}
/**
* /
*
**
* @param s
* @return Return
*/
public int test(String s) { return 0; }
}