/* * Copyright (c) 2003, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ /* * @test * @bug 4927552 8026567 8071982 8162674 8175200 8175218 8183511 8186332 * 8169819 8074407 8191030 8182765 8184205 8243533 8261976 * @summary test generated docs for deprecated items * @library ../../lib * @modules jdk.javadoc/jdk.javadoc.internal.tool * @build javadoc.tester.* * @run main TestDeprecatedDocs */ import javadoc.tester.JavadocTester; public class TestDeprecatedDocs extends JavadocTester { public static void main(String... args) throws Exception { TestDeprecatedDocs tester = new TestDeprecatedDocs(); tester.runTests(); } @Test public void test() { javadoc("-d", "out", "--no-platform-links", "-sourcepath", testSrc, "pkg"); checkExit(Exit.OK); checkOutput("deprecated-list.html", true, "annotation_test1 passes", "annotation_test2 passes", "annotation_test3 passes", "annotation_test4 passes.", "class_test1 passes", "class_test2 passes", "class_test3 passes", "class_test4 passes", "enum_test1 passes", "enum_test2 passes", "error_test1 passes", "error_test2 passes", "error_test3 passes", "error_test4 passes", "exception_test1 passes", "exception_test2 passes", "exception_test3 passes", "exception_test4 passes", "interface_test1 passes", "interface_test2 passes", "interface_test3 passes", "interface_test4 passes", "pkg.DeprecatedClassByAnnotation", "pkg.DeprecatedClassByAnnotation()", "pkg.DeprecatedClassByAnnotation.method()", "pkg.DeprecatedClassByAnnotation.field" ); checkOutput("pkg/DeprecatedClassByAnnotation.html", true, """
@Deprecated public class DeprecatedClassByAnnotation extends java.lang.Object
""", """
@Deprecated(forRemoval=true) public int<\ /span> field
Deprecated, for re\ moval: This API element is subject to removal in a future version.
""", """
@Deprecated(forRemoval=true) public DeprecatedClassByAnnotation()
Deprecated, for re\ moval: This API element is subject to removal in a future version.
""", """
@Deprecated public void\  method()
Deprecated.
"""); checkOutput("pkg/TestAnnotationType.html", true, """
@Deprecated(forRemoval=true) @Documented public @interface TestAnnotationType
Deprecated, for re\ moval: This API element is subject to removal in a future version.
annotation_test1 passes.
""", """
@Deprecated(forRemoval=true) static final int field
Deprecated, for re\ moval: This API element is subject to removal in a future version.
annotation_test4 passes.
""", """
@Deprecated(forRemoval=true) int required
Deprecated, for re\ moval: This API element is subject to removal in a future version.
annotation_test3 passes.
""", """
java.lang.String&\ nbsp;optional
Deprecated.
annotation_test2 passes.
"""); checkOutput("pkg/TestClass.html", true, """
@Deprecated(forRemoval=true) public class TestClass extends java.lang.Object
Deprecated, for re\ moval: This API element is subject to removal in a future version.
class_test1 passes.
""", """
@Deprecated(forRemoval=true) public TestClass()
Deprecated, for re\ moval: This API element is subject to removal in a future version.
class_test3 passes. This is the second sentence\ of deprecated description for a constructor.
""", """
Deprecated.
class_test2 passes.
""", """
Deprecated, for removal: This \ API element is subject to removal in a future version.
class_test3 passes.
""", """
Deprecated, for removal: This \ API element is subject to removal in a future version.
class_test4 passes.
""", """
Deprecated.
class_test5 passes.
""", """
Deprecated.
class_test6 passes.
""", """
Deprecated.
class_test7 passes.
"""); checkOutput("pkg/TestClass.html", false, """
class_test2 passes. This is the second sentence\ of deprecated description for a field.
""", """
class_test3 passes. This is the second sentence\ of deprecated description for a constructor.
""", """
class_test4 passes. This is the second sentence\ of deprecated description for a method.
"""); checkOutput("pkg/TestEnum.html", true, """
@Deprecated(forRemoval=true) public enum TestEnum extends java.lang.Enum<TestEnum>
Deprecated, for re\ moval: This API element is subject to removal in a future version.
enum_test1 passes.
""", """
@Deprecated(forRemoval=true) public static final TestEnum FOR_REMOVAL
Deprecated, for re\ moval: This API element is subject to removal in a future version.
enum_test3 passes.
"""); checkOutput("pkg/TestError.html", true, """
@Deprecated(forRemoval=true) public class TestError extends java.lang.Error
Deprecated, for re\ moval: This API element is subject to removal in a future version.
error_test1 passes.
"""); checkOutput("pkg/TestException.html", true, """
@Deprecated(forRemoval=true) public class TestException extends java.lang.Exception
Deprecated, for re\ moval: This API element is subject to removal in a future version.
exception_test1 passes.
"""); checkOutput("pkg/TestInterface.html", true, """
@Deprecated(forRemoval=true) public class TestInterface extends java.lang.Object
Deprecated, for re\ moval: This API element is subject to removal in a future version.
interface_test1 passes.
"""); checkOutput("deprecated-list.html", true, """ """, """
Terminally Deprecated Elements
Element
Description
""", """
Deprecated Enum Classes
Enum Class
Description
enum_test1 passes.
""", """
Deprecated Exception Classes
Exception Class
Description
error_test1 passes.
exception_test1 passes.
""", """
Deprecated Fields
Field
Description
annotation_test4 passes.
class_test2 passes. This is the second sentence of deprecated description for a field.
error_test2 passes.
exception_test2 passes.
interface_test2 passes.
""", """
Deprecated Methods
Method
Description
annotation_test2 passes.
annotation_test3 passes.
class_test5 passes. This is the second sentence of deprecated description for a method.
class_test7 passes. Overloaded method 2.
class_test6 passes. Overloaded method 1.
""", """
Deprecated Constructors
Constructor
Description
class_test3 passes. This is the second sentence of deprecated description for a constructor.
class_test4 passes. Overloaded constructor.
"""); } }