Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTypeCheckTest.java


1   package com.puppycrawl.tools.checkstyle.checks.javadoc;
2   
3   import com.puppycrawl.tools.checkstyle.BaseCheckTestCase;
4   import com.puppycrawl.tools.checkstyle.DefaultConfiguration;
5   import com.puppycrawl.tools.checkstyle.api.Scope;
6   
7   /**
8    * @author Oliver.Burn
9    *
10   * To change this generated comment edit the template variable "typecomment":
11   * Window>Preferences>Java>Templates.
12   * To enable and disable the creation of type comments go to
13   * Window>Preferences>Java>Code Generation.
14   */
15  public class JavadocTypeCheckTest extends BaseCheckTestCase
16  {
17      public void testTags() throws Exception
18      {
19          final DefaultConfiguration checkConfig =
20              createCheckConfig(JavadocTypeCheck.class);
21          final String[] expected =
22          {
23              "8: Missing a Javadoc comment.",
24          };
25          verify(checkConfig, getPath("InputTags.java"), expected);
26      }
27  
28      public void testInner() throws Exception
29      {
30          final DefaultConfiguration checkConfig =
31              createCheckConfig(JavadocTypeCheck.class);
32          final String[] expected =
33          {
34              "14: Missing a Javadoc comment.",
35              "21: Missing a Javadoc comment.",
36              "27: Missing a Javadoc comment.",
37          };
38          verify(checkConfig, getPath("InputInner.java"), expected);
39      }
40  
41      public void testStrict() throws Exception
42      {
43          final DefaultConfiguration checkConfig =
44              createCheckConfig(JavadocTypeCheck.class);
45          final String[] expected =
46          {
47              "7: Missing a Javadoc comment.",
48              "9: Missing a Javadoc comment.",
49              "14: Missing a Javadoc comment.",
50              "34: Missing a Javadoc comment.",
51          };
52          verify(checkConfig, getPath("InputPublicOnly.java"), expected);
53      }
54  
55      public void testProtected() throws Exception
56      {
57          final DefaultConfiguration checkConfig =
58              createCheckConfig(JavadocTypeCheck.class);
59          checkConfig.addAttribute("scope", Scope.PROTECTED.getName());
60          final String[] expected =
61          {
62              "7: Missing a Javadoc comment.",
63          };
64          verify(checkConfig, getPath("InputPublicOnly.java"), expected);
65      }
66  
67      public void testPublic() throws Exception
68      {
69          final DefaultConfiguration checkConfig =
70              createCheckConfig(JavadocTypeCheck.class);
71          checkConfig.addAttribute("scope", Scope.PUBLIC.getName());
72          final String[] expected =
73          {
74              "7: Missing a Javadoc comment.",
75              "38: Missing a Javadoc comment.",
76          };
77          verify(checkConfig, getPath("InputScopeInnerInterfaces.java"), expected);
78      }
79  
80      public void testProtest() throws Exception
81      {
82          final DefaultConfiguration checkConfig =
83              createCheckConfig(JavadocTypeCheck.class);
84          checkConfig.addAttribute("scope", Scope.PROTECTED.getName());
85          final String[] expected =
86          {
87              "7: Missing a Javadoc comment.",
88              "29: Missing a Javadoc comment.",
89              "38: Missing a Javadoc comment.",
90          };
91          verify(checkConfig, getPath("InputScopeInnerInterfaces.java"), expected);
92      }
93  
94      public void testPkg() throws Exception
95      {
96          final DefaultConfiguration checkConfig =
97              createCheckConfig(JavadocTypeCheck.class);
98          checkConfig.addAttribute(
99              "scope",
100             Scope.getInstance("package").getName());
101         final String[] expected =
102         {
103             "18: Missing a Javadoc comment.",
104             "20: Missing a Javadoc comment.",
105             "22: Missing a Javadoc comment.",
106         };
107         verify(checkConfig, getPath("InputScopeInnerClasses.java"), expected);
108     }
109 
110     public void testEclipse() throws Exception
111     {
112         final DefaultConfiguration checkConfig =
113             createCheckConfig(JavadocTypeCheck.class);
114         checkConfig.addAttribute(
115             "scope",
116             Scope.getInstance("public").getName());
117         final String[] expected =
118         {
119             "18: Missing a Javadoc comment.",
120         };
121         verify(checkConfig, getPath("InputScopeInnerClasses.java"), expected);
122     }
123 
124     public void testAuthorRequired() throws Exception
125     {
126         final DefaultConfiguration checkConfig =
127             createCheckConfig(JavadocTypeCheck.class);
128         checkConfig.addAttribute("authorFormat", "\\S");
129         final String[] expected =
130         {
131             "13: Type Javadoc comment is missing an @author tag.",
132         };
133         verify(checkConfig, getPath("InputWhitespace.java"), expected);
134     }
135     
136     public void testAuthorRegularEx()
137         throws Exception
138     {
139         final DefaultConfiguration checkConfig =
140             createCheckConfig(JavadocTypeCheck.class);
141         checkConfig.addAttribute("authorFormat", "0*");
142         final String[] expected = {
143         };
144         verify(checkConfig, getPath("InputJavadoc.java"), expected);
145     }
146 
147     public void testAuthorRegularExError()
148         throws Exception
149     {
150         final DefaultConfiguration checkConfig =
151             createCheckConfig(JavadocTypeCheck.class);
152         checkConfig.addAttribute("authorFormat", "ABC");
153         final String[] expected = {
154             "13: Type Javadoc tag @author must match pattern 'ABC'.",
155         };
156         verify(checkConfig, getPath("InputJavadoc.java"), expected);
157     }
158 
159     public void testVersionRequired()
160         throws Exception
161     {
162         final DefaultConfiguration checkConfig =
163             createCheckConfig(JavadocTypeCheck.class);
164         checkConfig.addAttribute("versionFormat", "\\S");
165         final String[] expected = {
166             "13: Type Javadoc comment is missing an @version tag."
167         };
168         verify(checkConfig, getPath("InputWhitespace.java"), expected);
169     }
170     
171     public void testVersionRegularEx()
172         throws Exception
173     {
174         final DefaultConfiguration checkConfig =
175             createCheckConfig(JavadocTypeCheck.class);
176         checkConfig.addAttribute("versionFormat", "[:digit:].*");
177         final String[] expected = {
178         };
179         verify(checkConfig, getPath("InputJavadoc.java"), expected);
180     }
181     
182     public void testVersionRegularExError()
183         throws Exception
184     {
185         final DefaultConfiguration checkConfig =
186             createCheckConfig(JavadocTypeCheck.class);
187         checkConfig.addAttribute("versionFormat", "\\$Revision.*\\$");
188         final String[] expected = {
189             "13: Type Javadoc tag @version must match pattern '\\$Revision.*\\$'."
190         };
191         verify(checkConfig, getPath("InputJavadoc.java"), expected);
192     }
193 }