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      4973609 8015249 8025633 8026567
  27  * @summary  Make sure that annotation types with 0 members does not have
  28  *           extra HR tags.
  29  * @author   jamieh
  30  * @library  ../lib/
  31  * @build    JavadocTester TestAnnotationTypes
  32  * @run main TestAnnotationTypes
  33  */
  34 
  35 public class TestAnnotationTypes extends JavadocTester {
  36 
  37     //Test information.
  38     private static final String BUG_ID = "4973609-8015249";
  39 
  40     //Javadoc arguments.
  41     private static final String[] ARGS = new String[] {
  42         "-d", BUG_ID, "-sourcepath", SRC_DIR, "-source", "1.5", "pkg"
  43     };
  44 
  45     //Input for string search tests.
  46     private static final String[][] TEST = {
  47         {BUG_ID + FS + "pkg" + FS + "AnnotationTypeField.html",
  48             "<li>Summary:&nbsp;</li>" + NL + "<li><a href=\"#annotation.type." +
  49             "field.summary\">Field</a>&nbsp;|&nbsp;</li>"},
  50         {BUG_ID + FS + "pkg" + FS + "AnnotationTypeField.html",
  51             "<li>Detail:&nbsp;</li>" + NL + "<li><a href=\"#annotation.type." +
  52             "field.detail\">Field</a>&nbsp;|&nbsp;</li>"},
  53         {BUG_ID + FS + "pkg" + FS + "AnnotationTypeField.html",
  54             "<!-- =========== ANNOTATION TYPE FIELD SUMMARY =========== -->"},
  55         {BUG_ID + FS + "pkg" + FS + "AnnotationTypeField.html",
  56             "<h3>Field Summary</h3>"},
  57         {BUG_ID + FS + "pkg" + FS + "AnnotationTypeField.html",
  58             "<td class=\"colLast\"><code><span class=\"memberNameLink\"><a href=\"../" +
  59             "pkg/AnnotationTypeField.html#DEFAULT_NAME\">DEFAULT_NAME</a></span>" +
  60             "</code>&nbsp;</td>"},
  61         {BUG_ID + FS + "pkg" + FS + "AnnotationTypeField.html",
  62             "<!-- ============ ANNOTATION TYPE FIELD DETAIL =========== -->"},
  63         {BUG_ID + FS + "pkg" + FS + "AnnotationTypeField.html",
  64             "<h4>DEFAULT_NAME</h4>" + NL + "<pre>public static final&nbsp;java." +
  65             "lang.String&nbsp;DEFAULT_NAME</pre>"},
  66         {BUG_ID + FS + "pkg" + FS + "AnnotationType.html",
  67             "<li>Summary:&nbsp;</li>" + NL + "<li>Field&nbsp;|&nbsp;</li>"},
  68         {BUG_ID + FS + "pkg" + FS + "AnnotationType.html",
  69             "<li>Detail:&nbsp;</li>" + NL + "<li>Field&nbsp;|&nbsp;</li>"},
  70     };
  71     private static final String[][] NEGATED_TEST = {
  72         {BUG_ID + FS + "pkg" + FS + "AnnotationType.html",
  73             "<HR>" + NL + NL + "<P>" + NL + NL + "<P>" +
  74             "<!-- ========= END OF CLASS DATA ========= -->" + "<HR>"}
  75     };
  76 
  77     /**
  78      * The entry point of the test.
  79      * @param args the array of command line arguments.
  80      */
  81     public static void main(String[] args) {
  82         TestAnnotationTypes tester = new TestAnnotationTypes();
  83         run(tester, ARGS, TEST, NEGATED_TEST);
  84         tester.printSummary();
  85     }
  86 
  87     /**
  88      * {@inheritDoc}
  89      */
  90     public String getBugId() {
  91         return BUG_ID;
  92     }
  93 
  94     /**
  95      * {@inheritDoc}
  96      */
  97     public String getBugName() {
  98         return getClass().getName();
  99     }
 100 }