Path: blob/master/test/langtools/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java
40971 views
/*1* Copyright (c) 2003, 2021, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation.7*8* This code is distributed in the hope that it will be useful, but WITHOUT9* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11* version 2 for more details (a copy is included in the LICENSE file that12* accompanied this code).13*14* You should have received a copy of the GNU General Public License version15* 2 along with this work; if not, write to the Free Software Foundation,16* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17*18* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19* or visit www.oracle.com if you need additional information or have any20* questions.21*/2223/*24* @test25* @bug 4927552 8026567 8071982 8162674 8175200 8175218 8183511 818633226* 8169819 8074407 8191030 8182765 8184205 8243533 826197627* @summary test generated docs for deprecated items28* @library ../../lib29* @modules jdk.javadoc/jdk.javadoc.internal.tool30* @build javadoc.tester.*31* @run main TestDeprecatedDocs32*/3334import javadoc.tester.JavadocTester;3536public class TestDeprecatedDocs extends JavadocTester {3738public static void main(String... args) throws Exception {39TestDeprecatedDocs tester = new TestDeprecatedDocs();40tester.runTests();41}4243@Test44public void test() {45javadoc("-d", "out",46"--no-platform-links",47"-sourcepath", testSrc,48"pkg");49checkExit(Exit.OK);5051checkOutput("deprecated-list.html", true,52"annotation_test1 passes",53"annotation_test2 passes",54"annotation_test3 passes",55"annotation_test4 passes.",56"class_test1 passes",57"class_test2 passes",58"class_test3 passes",59"class_test4 passes",60"enum_test1 passes",61"enum_test2 passes",62"error_test1 passes",63"error_test2 passes",64"error_test3 passes",65"error_test4 passes",66"exception_test1 passes",67"exception_test2 passes",68"exception_test3 passes",69"exception_test4 passes",70"interface_test1 passes",71"interface_test2 passes",72"interface_test3 passes",73"interface_test4 passes",74"pkg.DeprecatedClassByAnnotation",75"pkg.DeprecatedClassByAnnotation()",76"pkg.DeprecatedClassByAnnotation.method()",77"pkg.DeprecatedClassByAnnotation.field"78);7980checkOutput("pkg/DeprecatedClassByAnnotation.html", true,81"""82<div class="type-signature"><span class="annotations">@Deprecated83</span><span class="modifiers">public class </span><span class="element-name type-name-label">DeprecatedClassByAnnotation</span>84<span class="extends-implements">extends java.lang.Object</span></div>""",85"""86<div class="member-signature"><span class="annotations">@Deprecated(forRemoval=true)87</span><span class="modifiers">public</span> <span class="return-type">int<\88/span> <span class="element-name">field</span></div>89<div class="deprecation-block"><span class="deprecated-label">Deprecated, for re\90moval: This API element is subject to removal in a future version.</span></div>""",91"""92<div class="member-signature"><span class="annotations">@Deprecated(forRemoval=true)93</span><span class="modifiers">public</span> <span class="element-name">DeprecatedClassByAnnotation</span>()</div>94<div class="deprecation-block"><span class="deprecated-label">Deprecated, for re\95moval: This API element is subject to removal in a future version.</span></div>""",96"""97<div class="member-signature"><span class="annotations">@Deprecated98</span><span class="modifiers">public</span> <span class="return-type">void\99</span> <span class="element-name">method</span>()</div>100<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>""");101102checkOutput("pkg/TestAnnotationType.html", true,103"""104<hr>105<div class="type-signature"><span class="annotations">@Deprecated(forRemoval=true)106@Documented107</span><span class="modifiers">public @interface </span><span class="element-name type-n\108ame-label">TestAnnotationType</span></div>109<div class="deprecation-block"><span class="deprecated-label">Deprecated, for re\110moval: This API element is subject to removal in a future version.</span>111<div class="deprecation-comment">annotation_test1 passes.</div>112</div>""",113"""114<div class="member-signature"><span class="annotations">@Deprecated(forRemoval=true)115</span><span class="modifiers">static final</span> <span class="return-type\116">int</span> <span class="element-name">field</span></div>117<div class="deprecation-block"><span class="deprecated-label">Deprecated, for re\118moval: This API element is subject to removal in a future version.</span>119<div class="deprecation-comment">annotation_test4 passes.</div>120</div>""",121"""122<div class="member-signature"><span class="annotations">@Deprecated(forRemoval=true)123</span><span class="return-type">int</span> <span class="element-name">required</span></div>124<div class="deprecation-block"><span class="deprecated-label">Deprecated, for re\125moval: This API element is subject to removal in a future version.</span>126<div class="deprecation-comment">annotation_test3 passes.</div>127</div>""",128"""129<div class="member-signature"><span class="return-type">java.lang.String</span>&\130nbsp;<span class="element-name">optional</span></div>131<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>132<div class="deprecation-comment">annotation_test2 passes.</div>133</div>""");134135checkOutput("pkg/TestClass.html", true,136"""137<hr>138<div class="type-signature"><span class="annotations">@Deprecated(forRemoval=true)139</span><span class="modifiers">public class </span><span class="element-name type-name-label">TestClass</span>140<span class="extends-implements">extends java.lang.Object</span></div>141<div class="deprecation-block"><span class="deprecated-label">Deprecated, for re\142moval: This API element is subject to removal in a future version.</span>143<div class="deprecation-comment">class_test1 passes.</div>144</div>""",145"""146<div class="member-signature"><span class="annotations">@Deprecated(forRemoval=true)147</span><span class="modifiers">public</span> <span class="element-name">TestClass</span>()</div>148<div class="deprecation-block"><span class="deprecated-label">Deprecated, for re\149moval: This API element is subject to removal in a future version.</span>150<div class="deprecation-comment">class_test3 passes. This is the second sentence\151of deprecated description for a constructor.</div>152</div>""",153"""154<div class="col-last even-row-color">155<div class="block"><span class="deprecated-label">Deprecated.</span>156<div class="deprecation-comment">class_test2 passes.</div>157</div>158</div>""",159"""160<div class="col-last even-row-color">161<div class="block"><span class="deprecated-label">Deprecated, for removal: This \162API element is subject to removal in a future version.</span>163<div class="deprecation-comment">class_test3 passes.</div>164</div>165</div>""",166"""167<div class="col-last odd-row-color">168<div class="block"><span class="deprecated-label">Deprecated, for removal: This \169API element is subject to removal in a future version.</span>170<div class="deprecation-comment">class_test4 passes.</div>171</div>172</div>""",173"""174<div class="col-last even-row-color method-summary-table method-summary-table-ta\175b2 method-summary-table-tab4 method-summary-table-tab6">176<div class="block"><span class="deprecated-label">Deprecated.</span>177<div class="deprecation-comment">class_test5 passes.</div>178</div>179</div>""",180"""181<div class="col-last even-row-color method-summary-table method-summary-table-ta\182b2 method-summary-table-tab4 method-summary-table-tab6">183<div class="block"><span class="deprecated-label">Deprecated.</span>184<div class="deprecation-comment">class_test6 passes.</div>185</div>186</div>""",187"""188<div class="col-last odd-row-color method-summary-table method-summary-table-tab\1892 method-summary-table-tab4 method-summary-table-tab6">190<div class="block"><span class="deprecated-label">Deprecated.</span>191<div class="deprecation-comment">class_test7 passes.</div>192</div>193</div>""");194195checkOutput("pkg/TestClass.html", false,196"""197<div class="deprecation-comment">class_test2 passes. This is the second sentence\198of deprecated description for a field.</div>199</div>200</div>""",201"""202<div class="deprecation-comment">class_test3 passes. This is the second sentence\203of deprecated description for a constructor.</div>204</div>205</div>""",206"""207<div class="deprecation-comment">class_test4 passes. This is the second sentence\208of deprecated description for a method.</div>209</div>210</div>""");211212checkOutput("pkg/TestEnum.html", true,213"""214<hr>215<div class="type-signature"><span class="annotations">@Deprecated(forRemoval=true)216</span><span class="modifiers">public enum </span><span class="element-name type-name-label">TestEnum</span>217<span class="extends-implements">extends java.lang.Enum<<a href="TestEnum.htm\218l" title="enum class in pkg">TestEnum</a>></span></div>219<div class="deprecation-block"><span class="deprecated-label">Deprecated, for re\220moval: This API element is subject to removal in a future version.</span>221<div class="deprecation-comment">enum_test1 passes.</div>222</div>""",223"""224<div class="member-signature"><span class="annotations">@Deprecated(forRemoval=true)225</span><span class="modifiers">public static final</span> <span class="retu\226rn-type"><a href="TestEnum.html" title="enum class in pkg">TestEnum</a></span> <s\227pan class="element-name">FOR_REMOVAL</span></div>228<div class="deprecation-block"><span class="deprecated-label">Deprecated, for re\229moval: This API element is subject to removal in a future version.</span>230<div class="deprecation-comment">enum_test3 passes.</div>231</div>""");232233checkOutput("pkg/TestError.html", true,234"""235<hr>236<div class="type-signature"><span class="annotations">@Deprecated(forRemoval=true)237</span><span class="modifiers">public class </span><span class="element-name type-name-label">TestError</span>238<span class="extends-implements">extends java.lang.Error</span></div>239<div class="deprecation-block"><span class="deprecated-label">Deprecated, for re\240moval: This API element is subject to removal in a future version.</span>241<div class="deprecation-comment">error_test1 passes.</div>242</div>""");243244checkOutput("pkg/TestException.html", true,245"""246<hr>247<div class="type-signature"><span class="annotations">@Deprecated(forRemoval=true)248</span><span class="modifiers">public class </span><span class="element-name type-name-label">TestException</span>249<span class="extends-implements">extends java.lang.Exception</span></div>250<div class="deprecation-block"><span class="deprecated-label">Deprecated, for re\251moval: This API element is subject to removal in a future version.</span>252<div class="deprecation-comment">exception_test1 passes.</div>253</div>""");254255checkOutput("pkg/TestInterface.html", true,256"""257<hr>258<div class="type-signature"><span class="annotations">@Deprecated(forRemoval=true)259</span><span class="modifiers">public class </span><span class="element-name type-name-label">TestInterface</span>260<span class="extends-implements">extends java.lang.Object</span></div>261<div class="deprecation-block"><span class="deprecated-label">Deprecated, for re\262moval: This API element is subject to removal in a future version.</span>263<div class="deprecation-comment">interface_test1 passes.</div>264</div>""");265266checkOutput("deprecated-list.html", true,267"""268<ul>269<li><a href="#for-removal">For Removal</a></li>270<li><a href="#class">Classes</a></li>271<li><a href="#enum-class">Enum Classes</a></li>272<li><a href="#exception">Exceptions</a></li>273<li><a href="#error">Errors</a></li>274<li><a href="#annotation-interface">Annotation Interfaces</a></li>275<li><a href="#field">Fields</a></li>276<li><a href="#method">Methods</a></li>277<li><a href="#constructor">Constructors</a></li>278<li><a href="#enum-constant">Enum Constants</a></li>279<li><a href="#annotation-interface-member">Annotation Interface Elements</a></li>280</ul>""",281"""282<div id="for-removal">283<div class="caption"><span>For Removal</span></div>284<div class="summary-table two-column-summary">285<div class="table-header col-first">Element</div>286<div class="table-header col-last">Description</div>""",287"""288<div id="enum-class">289<div class="caption"><span>Enum Classes</span></div>290<div class="summary-table two-column-summary">291<div class="table-header col-first">Enum Class</div>292<div class="table-header col-last">Description</div>293<div class="col-summary-item-name even-row-color"><a href="pkg/TestEnum.html" title="enum class in pkg">pkg.TestEnum</a></div>294<div class="col-last even-row-color">295<div class="deprecation-comment">enum_test1 passes.</div>296</div>""",297"""298<div id="exception">299<div class="caption"><span>Exceptions</span></div>300<div class="summary-table two-column-summary">301<div class="table-header col-first">Exceptions</div>302<div class="table-header col-last">Description</div>303<div class="col-summary-item-name even-row-color"><a href="pkg/TestException.html" title="class in pkg">pkg.TestException</a></div>304<div class="col-last even-row-color">305<div class="deprecation-comment">exception_test1 passes.</div>306</div>""",307"""308<div id="field">309<div class="caption"><span>Fields</span></div>310<div class="summary-table two-column-summary">311<div class="table-header col-first">Field</div>312<div class="table-header col-last">Description</div>313<div class="col-summary-item-name even-row-color"><a href="pkg/DeprecatedClassByAnnotation.html#field">pkg.DeprecatedClassByAnnotation.field</a></div>314<div class="col-last even-row-color"></div>315<div class="col-summary-item-name odd-row-color"><a href="pkg/TestAnnotationType.html#field">pkg.TestAnnotationType.field</a></div>316<div class="col-last odd-row-color">317<div class="deprecation-comment">annotation_test4 passes.</div>318</div>319<div class="col-summary-item-name even-row-color"><a href="pkg/TestClass.html#field">pkg.TestClass.field</a></div>320<div class="col-last even-row-color">321<div class="deprecation-comment">class_test2 passes. This is the second sentence of deprecated description for a field.</div>322</div>323<div class="col-summary-item-name odd-row-color"><a href="pkg/TestError.html#field">pkg.TestError.field</a></div>324<div class="col-last odd-row-color">325<div class="deprecation-comment">error_test2 passes.</div>326</div>327<div class="col-summary-item-name even-row-color"><a href="pkg/TestException.html#field">pkg.TestException.field</a></div>328<div class="col-last even-row-color">329<div class="deprecation-comment">exception_test2 passes.</div>330</div>331<div class="col-summary-item-name odd-row-color"><a href="pkg/TestInterface.html#field">pkg.TestInterface.field</a></div>332<div class="col-last odd-row-color">333<div class="deprecation-comment">interface_test2 passes.</div>334</div>335</div>336</div>""",337"""338<div id="method">339<div class="caption"><span>Methods</span></div>340<div class="summary-table two-column-summary">341<div class="table-header col-first">Method</div>342<div class="table-header col-last">Description</div>343<div class="col-summary-item-name even-row-color"><a href="pkg/DeprecatedClassByAnnotation.html#method()">pkg.DeprecatedClassByAnnotation.method()</a></div>344<div class="col-last even-row-color"></div>345<div class="col-summary-item-name odd-row-color"><a href="pkg/TestAnnotationType.html#optional()">pkg.TestAnnotationType.optional()</a></div>346<div class="col-last odd-row-color">347<div class="deprecation-comment">annotation_test2 passes.</div>348</div>349<div class="col-summary-item-name even-row-color"><a href="pkg/TestAnnotationType.html#required()">pkg.TestAnnotationType.required()</a></div>350<div class="col-last even-row-color">351<div class="deprecation-comment">annotation_test3 passes.</div>352</div>353<div class="col-summary-item-name odd-row-color"><a href="pkg/TestClass.html#method()">pkg.TestClass.method()</a></div>354<div class="col-last odd-row-color">355<div class="deprecation-comment">class_test5 passes. This is the second sentence of deprecated description for a method.</div>356</div>357<div class="col-summary-item-name even-row-color"><a href="pkg/TestClass.html#overloadedMethod(int)">pkg.TestClass.overloadedMethod<wbr>(int)</a></div>358<div class="col-last even-row-color">359<div class="deprecation-comment">class_test7 passes. Overloaded method 2.</div>360</div>361<div class="col-summary-item-name odd-row-color"><a href="pkg/TestClass.html#overloadedMethod(java.lang.String)">pkg.TestClass.overloadedMethod<wbr>(String)</a></div>362<div class="col-last odd-row-color">363<div class="deprecation-comment">class_test6 passes. Overloaded method 1.</div>364</div>""",365"""366<div id="constructor">367<div class="caption"><span>Constructors</span></div>368<div class="summary-table two-column-summary">369<div class="table-header col-first">Constructor</div>370<div class="table-header col-last">Description</div>371<div class="col-summary-item-name even-row-color"><a href="pkg/DeprecatedClassByAnnotation.html#%3Cinit%3E()">pkg.DeprecatedClassByAnnotation()</a></div>372<div class="col-last even-row-color"></div>373<div class="col-summary-item-name odd-row-color"><a href="pkg/TestClass.html#%3Cinit%3E()">pkg.TestClass()</a></div>374<div class="col-last odd-row-color">375<div class="deprecation-comment">class_test3 passes. This is the second sentence of deprecated description for a constructor.</div>376</div>377<div class="col-summary-item-name even-row-color"><a href="pkg/TestClass.html#%3Cinit%3E(java.lang.String)">pkg.TestClass<wbr>(String)</a></div>378<div class="col-last even-row-color">379<div class="deprecation-comment">class_test4 passes. Overloaded constructor.</div>380</div>""");381}382}383384385