1 /* 2 * Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 /* 25 * @test 26 * @bug 4632553 4973607 8026567 27 * @summary No need to include type name (class, interface, etc.) before 28 * every single type in class tree. 29 * Make sure class tree includes heirarchy for enums and annotation 30 * types. 31 * @author jamieh 32 * @library ../lib/ 33 * @build JavadocTester 34 * @build TestClassTree 35 * @run main TestClassTree 36 */ 37 38 public class TestClassTree extends JavadocTester { 39 40 //Test information. 41 private static final String BUG_ID = "4632553-4973607"; 42 43 //Javadoc arguments. 44 private static final String[] ARGS = new String[] { 45 "-d", BUG_ID, "-source", "1.5","-sourcepath", SRC_DIR, "pkg" 46 }; 47 48 //Input for string search tests. 49 private static final String[][] TEST = { 50 {BUG_ID + FS + "pkg" + FS + "package-tree.html", 51 "<ul>" + NL + "<li type=\"circle\">pkg.<a href=\"../pkg/ParentClass.html\" " + 52 "title=\"class in pkg\"><span class=\"typeNameLink\">ParentClass</span></a>"}, 53 54 {BUG_ID + FS + "pkg" + FS + "package-tree.html", 55 "<h2 title=\"Annotation Type Hierarchy\">Annotation Type Hierarchy</h2>" + NL + 56 "<ul>" + NL + "<li type=\"circle\">pkg.<a href=\"../pkg/AnnotationType.html\" " + 57 "title=\"annotation in pkg\"><span class=\"typeNameLink\">AnnotationType</span></a> " + 58 "(implements java.lang.annotation.Annotation)</li>" + NL + "</ul>"}, 59 60 {BUG_ID + FS + "pkg" + FS + "package-tree.html", 61 "<h2 title=\"Enum Hierarchy\">Enum Hierarchy</h2>" + NL + "<ul>" + NL + 62 "<li type=\"circle\">java.lang.Object" + NL + "<ul>" + NL + 63 "<li type=\"circle\">java.lang.Enum<E> (implements java.lang." + 64 "Comparable<T>, java.io.Serializable)" + NL + "<ul>" + NL + 65 "<li type=\"circle\">pkg.<a href=\"../pkg/Coin.html\" " + 66 "title=\"enum in pkg\"><span class=\"typeNameLink\">Coin</span></a></li>" + NL + 67 "</ul>" + NL + "</li>" + NL + "</ul>" + NL + "</li>" + NL + "</ul>" 68 }, 69 }; 70 private static final String[][] NEGATED_TEST = { 71 {BUG_ID + FS + "pkg" + FS + "package-tree.html", 72 "<li type=\"circle\">class pkg.<a href=\"../pkg/ParentClass.html\" " + 73 "title=\"class in pkg\"><span class=\"typeNameLink\">ParentClass</span></a></li>"} 74 }; 75 76 /** 77 * The entry point of the test. 78 * @param args the array of command line arguments. 79 */ 80 public static void main(String[] args) { 81 TestClassTree tester = new TestClassTree(); 82 run(tester, ARGS, TEST, NEGATED_TEST); 83 tester.printSummary(); 84 } 85 86 /** 87 * {@inheritDoc} 88 */ 89 public String getBugId() { 90 return BUG_ID; 91 } 92 93 /** 94 * {@inheritDoc} 95 */ 96 public String getBugName() { 97 return getClass().getName(); 98 } 99 }