test/com/sun/javadoc/testMemberInheritence/TestMemberInheritence.java

Wed, 27 Apr 2016 01:34:52 +0800

author
aoqi
date
Wed, 27 Apr 2016 01:34:52 +0800
changeset 0
959103a6100f
child 2525
2eb010b6cb22
permissions
-rw-r--r--

Initial load
http://hg.openjdk.java.net/jdk8u/jdk8u/langtools/
changeset: 2573:53ca196be1ae
tag: jdk8u25-b17

aoqi@0 1 /*
aoqi@0 2 * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
aoqi@0 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
aoqi@0 4 *
aoqi@0 5 * This code is free software; you can redistribute it and/or modify it
aoqi@0 6 * under the terms of the GNU General Public License version 2 only, as
aoqi@0 7 * published by the Free Software Foundation.
aoqi@0 8 *
aoqi@0 9 * This code is distributed in the hope that it will be useful, but WITHOUT
aoqi@0 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
aoqi@0 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
aoqi@0 12 * version 2 for more details (a copy is included in the LICENSE file that
aoqi@0 13 * accompanied this code).
aoqi@0 14 *
aoqi@0 15 * You should have received a copy of the GNU General Public License version
aoqi@0 16 * 2 along with this work; if not, write to the Free Software Foundation,
aoqi@0 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
aoqi@0 18 *
aoqi@0 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
aoqi@0 20 * or visit www.oracle.com if you need additional information or have any
aoqi@0 21 * questions.
aoqi@0 22 */
aoqi@0 23
aoqi@0 24 /*
aoqi@0 25 * @test
aoqi@0 26 * @bug 4638588 4635809 6256068 6270645 8025633 8026567
aoqi@0 27 * @summary Test to make sure that members are inherited properly in the Javadoc.
aoqi@0 28 * Verify that inheritence labels are correct.
aoqi@0 29 * @author jamieh
aoqi@0 30 * @library ../lib/
aoqi@0 31 * @build JavadocTester
aoqi@0 32 * @build TestMemberInheritence
aoqi@0 33 * @run main TestMemberInheritence
aoqi@0 34 */
aoqi@0 35
aoqi@0 36 public class TestMemberInheritence extends JavadocTester {
aoqi@0 37
aoqi@0 38 private static final String BUG_ID = "4638588-4635809-6256068-6270645";
aoqi@0 39
aoqi@0 40 private static final String[][] TEST = {
aoqi@0 41 //Public field should be inherited
aoqi@0 42 {BUG_ID + FS + "pkg" + FS + "SubClass.html",
aoqi@0 43 "<a href=\"../pkg/BaseClass.html#pubField\">"},
aoqi@0 44
aoqi@0 45 //Public method should be inherited
aoqi@0 46 {BUG_ID + FS + "pkg" + FS + "SubClass.html",
aoqi@0 47 "<a href=\"../pkg/BaseClass.html#pubMethod--\">"},
aoqi@0 48
aoqi@0 49 //Public inner class should be inherited.
aoqi@0 50 {BUG_ID + FS + "pkg" + FS + "SubClass.html",
aoqi@0 51 "<a href=\"../pkg/BaseClass.pubInnerClass.html\" title=\"class in pkg\">"},
aoqi@0 52
aoqi@0 53 //Protected field should be inherited
aoqi@0 54 {BUG_ID + FS + "pkg" + FS + "SubClass.html",
aoqi@0 55 "<a href=\"../pkg/BaseClass.html#proField\">"},
aoqi@0 56
aoqi@0 57 //Protected method should be inherited
aoqi@0 58 {BUG_ID + FS + "pkg" + FS + "SubClass.html",
aoqi@0 59 "<a href=\"../pkg/BaseClass.html#proMethod--\">"},
aoqi@0 60
aoqi@0 61 //Protected inner class should be inherited.
aoqi@0 62 {BUG_ID + FS + "pkg" + FS + "SubClass.html",
aoqi@0 63 "<a href=\"../pkg/BaseClass.proInnerClass.html\" title=\"class in pkg\">"},
aoqi@0 64
aoqi@0 65 // New labels as of 1.5.0
aoqi@0 66 {BUG_ID + FS + "pkg" + FS + "SubClass.html",
aoqi@0 67 "Nested classes/interfaces inherited from class&nbsp;pkg." +
aoqi@0 68 "<a href=\"../pkg/BaseClass.html\" title=\"class in pkg\">BaseClass</a>"},
aoqi@0 69 {BUG_ID + FS + "pkg" + FS + "SubClass.html",
aoqi@0 70 "Nested classes/interfaces inherited from interface&nbsp;pkg." +
aoqi@0 71 "<a href=\"../pkg/BaseInterface.html\" title=\"interface in pkg\">BaseInterface</a>"},
aoqi@0 72
aoqi@0 73 // Test overriding/implementing methods with generic parameters.
aoqi@0 74 {BUG_ID + FS + "pkg" + FS + "BaseClass.html",
aoqi@0 75 "<dl>" + NL + "<dt><span class=\"overrideSpecifyLabel\">Specified by:</span></dt>" + NL +
aoqi@0 76 "<dd><code><a href=\"../pkg/BaseInterface.html#getAnnotation-java.lang.Class-\">" +
aoqi@0 77 "getAnnotation</a></code>&nbsp;in interface&nbsp;<code>" +
aoqi@0 78 "<a href=\"../pkg/BaseInterface.html\" title=\"interface in pkg\">" +
aoqi@0 79 "BaseInterface</a></code></dd>" + NL + "</dl>"},
aoqi@0 80
aoqi@0 81 // Test diamond inheritence member summary (6256068)
aoqi@0 82 {BUG_ID + FS + "diamond" + FS + "Z.html",
aoqi@0 83 "<code><a href=\"../diamond/A.html#aMethod--\">aMethod</a></code>"},
aoqi@0 84
aoqi@0 85 // Test that doc is inherited from closed parent (6270645)
aoqi@0 86 {BUG_ID + FS + "inheritDist" + FS + "C.html",
aoqi@0 87 "<div class=\"block\">m1-B</div>"},
aoqi@0 88
aoqi@0 89 };
aoqi@0 90
aoqi@0 91 private static final String[][] NEGATED_TEST = {
aoqi@0 92 {BUG_ID + FS + "pkg" + FS + "SubClass.html",
aoqi@0 93 "<a href=\"../pkg/BaseClass.html#staticMethod--\">staticMethod</a></code>"},
aoqi@0 94 };
aoqi@0 95 private static final String[] ARGS =
aoqi@0 96 new String[] {
aoqi@0 97 "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg", "diamond", "inheritDist"};
aoqi@0 98
aoqi@0 99 /**
aoqi@0 100 * The entry point of the test.
aoqi@0 101 * @param args the array of command line arguments.
aoqi@0 102 */
aoqi@0 103 public static void main(String[] args) {
aoqi@0 104 TestMemberInheritence tester = new TestMemberInheritence();
aoqi@0 105 run(tester, ARGS, TEST, NEGATED_TEST);
aoqi@0 106 tester.printSummary();
aoqi@0 107 }
aoqi@0 108
aoqi@0 109 /**
aoqi@0 110 * {@inheritDoc}
aoqi@0 111 */
aoqi@0 112 public String getBugId() {
aoqi@0 113 return BUG_ID;
aoqi@0 114 }
aoqi@0 115
aoqi@0 116 /**
aoqi@0 117 * {@inheritDoc}
aoqi@0 118 */
aoqi@0 119 public String getBugName() {
aoqi@0 120 return getClass().getName();
aoqi@0 121 }
aoqi@0 122 }

mercurial