langtools/test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java
changeset 21478 fa4c7cda1b41
parent 21008 af0b915df7cc
child 23139 612191246a7d
equal deleted inserted replaced
21477:02dc78554e0c 21478:fa4c7cda1b41
    21  * questions.
    21  * questions.
    22  */
    22  */
    23 
    23 
    24 /*
    24 /*
    25  * @test
    25  * @test
    26  * @bug      4789689 4905985 4927164 4827184 4993906 5004549 7025314 7010344 8025633
    26  * @bug      4789689 4905985 4927164 4827184 4993906 5004549 7025314 7010344 8025633 8026567
    27  * @summary  Run Javadoc on a set of source files that demonstrate new
    27  * @summary  Run Javadoc on a set of source files that demonstrate new
    28  *           language features.  Check the output to ensure that the new
    28  *           language features.  Check the output to ensure that the new
    29  *           language features are properly documented.
    29  *           language features are properly documented.
    30  * @author   jamieh
    30  * @author   jamieh
    31  * @library  ../lib/
    31  * @library  ../lib/
    51             //=================================
    51             //=================================
    52             //Make sure enum header is correct.
    52             //Make sure enum header is correct.
    53             {BUG_ID + FS + "pkg" + FS + "Coin.html", "Enum Coin</h2>"},
    53             {BUG_ID + FS + "pkg" + FS + "Coin.html", "Enum Coin</h2>"},
    54             //Make sure enum signature is correct.
    54             //Make sure enum signature is correct.
    55             {BUG_ID + FS + "pkg" + FS + "Coin.html", "<pre>public enum " +
    55             {BUG_ID + FS + "pkg" + FS + "Coin.html", "<pre>public enum " +
    56                      "<span class=\"strong\">Coin</span>" + NL +
    56                      "<span class=\"typeNameLabel\">Coin</span>" + NL +
    57                      "extends java.lang.Enum&lt;<a href=\"../pkg/Coin.html\" " +
    57                      "extends java.lang.Enum&lt;<a href=\"../pkg/Coin.html\" " +
    58                      "title=\"enum in pkg\">Coin</a>&gt;</pre>"
    58                      "title=\"enum in pkg\">Coin</a>&gt;</pre>"
    59             },
    59             },
    60             //Check for enum constant section
    60             //Check for enum constant section
    61             {BUG_ID + FS + "pkg" + FS + "Coin.html", "<caption><span>Enum Constants" +
    61             {BUG_ID + FS + "pkg" + FS + "Coin.html", "<caption><span>Enum Constants" +
    62                      "</span><span class=\"tabEnd\">&nbsp;</span></caption>"},
    62                      "</span><span class=\"tabEnd\">&nbsp;</span></caption>"},
    63             //Detail for enum constant
    63             //Detail for enum constant
    64             {BUG_ID + FS + "pkg" + FS + "Coin.html",
    64             {BUG_ID + FS + "pkg" + FS + "Coin.html",
    65                 "<span class=\"strong\"><a href=\"../pkg/Coin.html#Dime\">Dime</a></span>"},
    65                 "<span class=\"memberNameLink\"><a href=\"../pkg/Coin.html#Dime\">Dime</a></span>"},
    66             //Automatically insert documentation for values() and valueOf().
    66             //Automatically insert documentation for values() and valueOf().
    67             {BUG_ID + FS + "pkg" + FS + "Coin.html",
    67             {BUG_ID + FS + "pkg" + FS + "Coin.html",
    68                 "Returns an array containing the constants of this enum type,"},
    68                 "Returns an array containing the constants of this enum type,"},
    69             {BUG_ID + FS + "pkg" + FS + "Coin.html",
    69             {BUG_ID + FS + "pkg" + FS + "Coin.html",
    70                 "Returns the enum constant of this type with the specified name"},
    70                 "Returns the enum constant of this type with the specified name"},
    78             //Make sure the header is correct.
    78             //Make sure the header is correct.
    79             {BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
    79             {BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
    80                 "Class TypeParameters&lt;E&gt;</h2>"},
    80                 "Class TypeParameters&lt;E&gt;</h2>"},
    81             //Check class type parameters section.
    81             //Check class type parameters section.
    82             {BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
    82             {BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
    83                 "<dt><span class=\"strong\">Type Parameters:</span></dt>" + NL + "<dd><code>E</code> - " +
    83                 "<dt><span class=\"paramLabel\">Type Parameters:</span></dt>" + NL + "<dd><code>E</code> - " +
    84                 "the type parameter for this class."},
    84                 "the type parameter for this class."},
    85             //Type parameters in @see/@link
    85             //Type parameters in @see/@link
    86             {BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
    86             {BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
    87                 "<dl>" + NL + "<dt><span class=\"strong\">See Also:</span></dt>" + NL + "<dd>" +
    87                 "<dl>" + NL + "<dt><span class=\"seeLabel\">See Also:</span></dt>" + NL + "<dd>" +
    88                 "<a href=\"../pkg/TypeParameters.html\" title=\"class in pkg\">" +
    88                 "<a href=\"../pkg/TypeParameters.html\" title=\"class in pkg\">" +
    89                 "<code>TypeParameters</code></a></dd>" + NL + "</dl>"},
    89                 "<code>TypeParameters</code></a></dd>" + NL + "</dl>"},
    90             //Method that uses class type parameter.
    90             //Method that uses class type parameter.
    91             {BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
    91             {BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
    92                 "(<a href=\"../pkg/TypeParameters.html\" title=\"type " +
    92                 "(<a href=\"../pkg/TypeParameters.html\" title=\"type " +
    93                     "parameter in TypeParameters\">E</a>&nbsp;param)"},
    93                     "parameter in TypeParameters\">E</a>&nbsp;param)"},
    94             //Method type parameter section.
    94             //Method type parameter section.
    95             {BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
    95             {BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
    96                 "<span class=\"strong\">Type Parameters:</span></dt>" + NL + "<dd><code>T</code> - This is the first " +
    96                 "<span class=\"paramLabel\">Type Parameters:</span></dt>" + NL + "<dd><code>T</code> - This is the first " +
    97                     "type parameter.</dd>" + NL + "<dd><code>V</code> - This is the second type " +
    97                     "type parameter.</dd>" + NL + "<dd><code>V</code> - This is the second type " +
    98                     "parameter."},
    98                     "parameter."},
    99             //Signature of method with type parameters
    99             //Signature of method with type parameters
   100             {BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
   100             {BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
   101                 "public&nbsp;&lt;T extends java.util.List,V&gt;&nbsp;" +
   101                 "public&nbsp;&lt;T extends java.util.List,V&gt;&nbsp;" +
   116             {WARNING_OUTPUT, "warning - @param argument " +
   116             {WARNING_OUTPUT, "warning - @param argument " +
   117                 "\"<BadMethodTypeParam>\" is not a type parameter name."},
   117                 "\"<BadMethodTypeParam>\" is not a type parameter name."},
   118 
   118 
   119             //Signature of subclass that has type parameters.
   119             //Signature of subclass that has type parameters.
   120             {BUG_ID + FS + "pkg" + FS + "TypeParameterSubClass.html",
   120             {BUG_ID + FS + "pkg" + FS + "TypeParameterSubClass.html",
   121                 "<pre>public class <span class=\"strong\">TypeParameterSubClass&lt;T extends " +
   121                 "<pre>public class <span class=\"typeNameLabel\">TypeParameterSubClass&lt;T extends " +
   122                 "java.lang.String&gt;</span>" + NL + "extends " +
   122                 "java.lang.String&gt;</span>" + NL + "extends " +
   123                 "<a href=\"../pkg/TypeParameterSuperClass.html\" title=\"class in pkg\">" +
   123                 "<a href=\"../pkg/TypeParameterSuperClass.html\" title=\"class in pkg\">" +
   124                 "TypeParameterSuperClass</a>&lt;T&gt;</pre>"},
   124                 "TypeParameterSuperClass</a>&lt;T&gt;</pre>"},
   125 
   125 
   126             //Interface generic parameter substitution
   126             //Interface generic parameter substitution
   166             //Make sure the heading is correct.
   166             //Make sure the heading is correct.
   167             {BUG_ID + FS + "pkg" + FS + "AnnotationType.html",
   167             {BUG_ID + FS + "pkg" + FS + "AnnotationType.html",
   168                 "Annotation Type AnnotationType</h2>"},
   168                 "Annotation Type AnnotationType</h2>"},
   169             //Make sure the signature is correct.
   169             //Make sure the signature is correct.
   170             {BUG_ID + FS + "pkg" + FS + "AnnotationType.html",
   170             {BUG_ID + FS + "pkg" + FS + "AnnotationType.html",
   171                 "public @interface <span class=\"strong\">AnnotationType</span>"},
   171                 "public @interface <span class=\"memberNameLabel\">AnnotationType</span>"},
   172             //Make sure member summary headings are correct.
   172             //Make sure member summary headings are correct.
   173             {BUG_ID + FS + "pkg" + FS + "AnnotationType.html",
   173             {BUG_ID + FS + "pkg" + FS + "AnnotationType.html",
   174                 "<h3>Required Element Summary</h3>"},
   174                 "<h3>Required Element Summary</h3>"},
   175             {BUG_ID + FS + "pkg" + FS + "AnnotationType.html",
   175             {BUG_ID + FS + "pkg" + FS + "AnnotationType.html",
   176                 "<h3>Optional Element Summary</h3>"},
   176                 "<h3>Optional Element Summary</h3>"},
   196                 "<pre><a href=\"../pkg/AnnotationType.html\" " +
   196                 "<pre><a href=\"../pkg/AnnotationType.html\" " +
   197                 "title=\"annotation in pkg\">@AnnotationType</a>(" +
   197                 "title=\"annotation in pkg\">@AnnotationType</a>(" +
   198                 "<a href=\"../pkg/AnnotationType.html#optional--\">optional</a>" +
   198                 "<a href=\"../pkg/AnnotationType.html#optional--\">optional</a>" +
   199                 "=\"Class Annotation\"," + NL +
   199                 "=\"Class Annotation\"," + NL +
   200                 "                <a href=\"../pkg/AnnotationType.html#required--\">" +
   200                 "                <a href=\"../pkg/AnnotationType.html#required--\">" +
   201                 "required</a>=1994)" + NL + "public class <span class=\"strong\">" +
   201                 "required</a>=1994)" + NL + "public class <span class=\"typeNameLabel\">" +
   202                 "AnnotationTypeUsage</span>" + NL + "extends java.lang.Object</pre>"},
   202                 "AnnotationTypeUsage</span>" + NL + "extends java.lang.Object</pre>"},
   203 
   203 
   204             //FIELD
   204             //FIELD
   205             {BUG_ID + FS + "pkg" + FS + "AnnotationTypeUsage.html",
   205             {BUG_ID + FS + "pkg" + FS + "AnnotationTypeUsage.html",
   206                 "<pre><a href=\"../pkg/AnnotationType.html\" " +
   206                 "<pre><a href=\"../pkg/AnnotationType.html\" " +
   297 
   297 
   298             //Make sure that annotations are surrounded by <pre> and </pre>
   298             //Make sure that annotations are surrounded by <pre> and </pre>
   299             {BUG_ID + FS + "pkg1" + FS + "B.html",
   299             {BUG_ID + FS + "pkg1" + FS + "B.html",
   300                 "<pre><a href=\"../pkg1/A.html\" title=\"annotation in pkg1\">@A</a>"},
   300                 "<pre><a href=\"../pkg1/A.html\" title=\"annotation in pkg1\">@A</a>"},
   301             {BUG_ID + FS + "pkg1" + FS + "B.html",
   301             {BUG_ID + FS + "pkg1" + FS + "B.html",
   302                 "public interface <span class=\"strong\">B</span></pre>"},
   302                 "public interface <span class=\"typeNameLabel\">B</span></pre>"},
   303 
   303 
   304 
   304 
   305             //==============================================================
   305             //==============================================================
   306             // Handle multiple bounds.
   306             // Handle multiple bounds.
   307             //==============================================================
   307             //==============================================================
   318                      "package-summary.html\">pkg2</a> with type parameters of " +
   318                      "package-summary.html\">pkg2</a> with type parameters of " +
   319                      "type <a href=\"../../pkg2/Foo.html\" title=\"class in pkg2\">" +
   319                      "type <a href=\"../../pkg2/Foo.html\" title=\"class in pkg2\">" +
   320                      "Foo</a></span><span class=\"tabEnd\">&nbsp;</span></caption>"
   320                      "Foo</a></span><span class=\"tabEnd\">&nbsp;</span></caption>"
   321             },
   321             },
   322             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo.html",
   322             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo.html",
   323                      "<td class=\"colLast\"><code><span class=\"strong\"><a href=\"../../pkg2/ClassUseTest1.html\" " +
   323                      "<td class=\"colLast\"><code><span class=\"memberNameLink\"><a href=\"../../pkg2/ClassUseTest1.html\" " +
   324                      "title=\"class in pkg2\">ClassUseTest1</a>&lt;T extends " +
   324                      "title=\"class in pkg2\">ClassUseTest1</a>&lt;T extends " +
   325                      "<a href=\"../../pkg2/Foo.html\" title=\"class in pkg2\">Foo" +
   325                      "<a href=\"../../pkg2/Foo.html\" title=\"class in pkg2\">Foo" +
   326                      "</a> &amp; <a href=\"../../pkg2/Foo2.html\" title=\"interface in pkg2\">" +
   326                      "</a> &amp; <a href=\"../../pkg2/Foo2.html\" title=\"interface in pkg2\">" +
   327                      "Foo2</a>&gt;</span></code>&nbsp;</td>"
   327                      "Foo2</a>&gt;</span></code>&nbsp;</td>"
   328             },
   328             },
   331                      "package-summary.html\">pkg2</a> with type parameters of " +
   331                      "package-summary.html\">pkg2</a> with type parameters of " +
   332                      "type <a href=\"../../pkg2/Foo.html\" title=\"class in " +
   332                      "type <a href=\"../../pkg2/Foo.html\" title=\"class in " +
   333                      "pkg2\">Foo</a></span><span class=\"tabEnd\">&nbsp;</span></caption>"
   333                      "pkg2\">Foo</a></span><span class=\"tabEnd\">&nbsp;</span></caption>"
   334             },
   334             },
   335             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo.html",
   335             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo.html",
   336                      "<td class=\"colLast\"><span class=\"strong\">ClassUseTest1." +
   336                      "<td class=\"colLast\"><span class=\"typeNameLabel\">ClassUseTest1." +
   337                      "</span><code><span class=\"strong\"><a href=\"../../pkg2/" +
   337                      "</span><code><span class=\"memberNameLink\"><a href=\"../../pkg2/" +
   338                      "ClassUseTest1.html#method-T-\">method</a></span>" +
   338                      "ClassUseTest1.html#method-T-\">method</a></span>" +
   339                      "(T&nbsp;t)</code>&nbsp;</td>"
   339                      "(T&nbsp;t)</code>&nbsp;</td>"
   340             },
   340             },
   341             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo.html",
   341             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo.html",
   342                      "<caption><span>Fields in <a href=\"../../pkg2/" +
   342                      "<caption><span>Fields in <a href=\"../../pkg2/" +
   370                     "type <a href=\"../../pkg2/Foo2.html\" title=\"interface " +
   370                     "type <a href=\"../../pkg2/Foo2.html\" title=\"interface " +
   371                     "in pkg2\">Foo2</a></span><span class=\"tabEnd\">&nbsp;" +
   371                     "in pkg2\">Foo2</a></span><span class=\"tabEnd\">&nbsp;" +
   372                     "</span></caption>"
   372                     "</span></caption>"
   373            },
   373            },
   374            {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo2.html",
   374            {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo2.html",
   375                     "<td class=\"colLast\"><code><span class=\"strong\"><a href=\"../../pkg2/ClassUseTest1.html\" " +
   375                     "<td class=\"colLast\"><code><span class=\"memberNameLink\"><a href=\"../../pkg2/ClassUseTest1.html\" " +
   376                      "title=\"class in pkg2\">ClassUseTest1</a>&lt;T extends " +
   376                      "title=\"class in pkg2\">ClassUseTest1</a>&lt;T extends " +
   377                      "<a href=\"../../pkg2/Foo.html\" title=\"class in pkg2\">Foo" +
   377                      "<a href=\"../../pkg2/Foo.html\" title=\"class in pkg2\">Foo" +
   378                      "</a> &amp; <a href=\"../../pkg2/Foo2.html\" title=\"interface in pkg2\">" +
   378                      "</a> &amp; <a href=\"../../pkg2/Foo2.html\" title=\"interface in pkg2\">" +
   379                      "Foo2</a>&gt;</span></code>&nbsp;</td>"
   379                      "Foo2</a>&gt;</span></code>&nbsp;</td>"
   380            },
   380            },
   384                     "type <a href=\"../../pkg2/Foo2.html\" title=\"interface " +
   384                     "type <a href=\"../../pkg2/Foo2.html\" title=\"interface " +
   385                     "in pkg2\">Foo2</a></span><span class=\"tabEnd\">&nbsp;" +
   385                     "in pkg2\">Foo2</a></span><span class=\"tabEnd\">&nbsp;" +
   386                     "</span></caption>"
   386                     "</span></caption>"
   387             },
   387             },
   388             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo2.html",
   388             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo2.html",
   389                      "<td class=\"colLast\"><span class=\"strong\">" +
   389                      "<td class=\"colLast\"><span class=\"typeNameLabel\">" +
   390                      "ClassUseTest1.</span><code><span class=\"strong\"><a href=\"../../" +
   390                      "ClassUseTest1.</span><code><span class=\"memberNameLink\"><a href=\"../../" +
   391                      "pkg2/ClassUseTest1.html#method-T-\">method</a></span>" +
   391                      "pkg2/ClassUseTest1.html#method-T-\">method</a></span>" +
   392                      "(T&nbsp;t)</code>&nbsp;</td>"
   392                      "(T&nbsp;t)</code>&nbsp;</td>"
   393             },
   393             },
   394 
   394 
   395             //ClassUseTest2: <T extends ParamTest<Foo3>>
   395             //ClassUseTest2: <T extends ParamTest<Foo3>>
   399                      "type <a href=\"../../pkg2/ParamTest.html\" title=\"class " +
   399                      "type <a href=\"../../pkg2/ParamTest.html\" title=\"class " +
   400                      "in pkg2\">ParamTest</a></span><span class=\"tabEnd\">" +
   400                      "in pkg2\">ParamTest</a></span><span class=\"tabEnd\">" +
   401                      "&nbsp;</span></caption>"
   401                      "&nbsp;</span></caption>"
   402             },
   402             },
   403             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest.html",
   403             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest.html",
   404                      "<td class=\"colLast\"><code><span class=\"strong\"><a href=\"../../pkg2/ClassUseTest2.html\" " +
   404                      "<td class=\"colLast\"><code><span class=\"memberNameLink\"><a href=\"../../pkg2/ClassUseTest2.html\" " +
   405                      "title=\"class in pkg2\">ClassUseTest2</a>&lt;T extends " +
   405                      "title=\"class in pkg2\">ClassUseTest2</a>&lt;T extends " +
   406                      "<a href=\"../../pkg2/ParamTest.html\" title=\"class in pkg2\">" +
   406                      "<a href=\"../../pkg2/ParamTest.html\" title=\"class in pkg2\">" +
   407                      "ParamTest</a>&lt;<a href=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">" +
   407                      "ParamTest</a>&lt;<a href=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">" +
   408                      "Foo3</a>&gt;&gt;</span></code>&nbsp;</td>"
   408                      "Foo3</a>&gt;&gt;</span></code>&nbsp;</td>"
   409             },
   409             },
   413                      "type <a href=\"../../pkg2/ParamTest.html\" title=\"class " +
   413                      "type <a href=\"../../pkg2/ParamTest.html\" title=\"class " +
   414                      "in pkg2\">ParamTest</a></span><span class=\"tabEnd\">" +
   414                      "in pkg2\">ParamTest</a></span><span class=\"tabEnd\">" +
   415                      "&nbsp;</span></caption>"
   415                      "&nbsp;</span></caption>"
   416             },
   416             },
   417             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest.html",
   417             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest.html",
   418                      "<td class=\"colLast\"><span class=\"strong\">ClassUseTest2." +
   418                      "<td class=\"colLast\"><span class=\"typeNameLabel\">ClassUseTest2." +
   419                      "</span><code><span class=\"strong\"><a href=\"../../pkg2/" +
   419                      "</span><code><span class=\"memberNameLink\"><a href=\"../../pkg2/" +
   420                      "ClassUseTest2.html#method-T-\">method</a></span>" +
   420                      "ClassUseTest2.html#method-T-\">method</a></span>" +
   421                      "(T&nbsp;t)</code>&nbsp;</td>"
   421                      "(T&nbsp;t)</code>&nbsp;</td>"
   422             },
   422             },
   423             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest.html",
   423             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest.html",
   424                      "<caption><span>Fields in <a href=\"../../pkg2/" +
   424                      "<caption><span>Fields in <a href=\"../../pkg2/" +
   454                      "package-summary.html\">pkg2</a> with type parameters of " +
   454                      "package-summary.html\">pkg2</a> with type parameters of " +
   455                      "type <a href=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">" +
   455                      "type <a href=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">" +
   456                      "Foo3</a></span><span class=\"tabEnd\">&nbsp;</span></caption>"
   456                      "Foo3</a></span><span class=\"tabEnd\">&nbsp;</span></caption>"
   457             },
   457             },
   458             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo3.html",
   458             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo3.html",
   459                      "<td class=\"colLast\"><code><span class=\"strong\"><a href=\"../../pkg2/ClassUseTest2.html\" " +
   459                      "<td class=\"colLast\"><code><span class=\"memberNameLink\"><a href=\"../../pkg2/ClassUseTest2.html\" " +
   460                      "title=\"class in pkg2\">ClassUseTest2</a>&lt;T extends " +
   460                      "title=\"class in pkg2\">ClassUseTest2</a>&lt;T extends " +
   461                      "<a href=\"../../pkg2/ParamTest.html\" title=\"class in pkg2\">" +
   461                      "<a href=\"../../pkg2/ParamTest.html\" title=\"class in pkg2\">" +
   462                      "ParamTest</a>&lt;<a href=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">" +
   462                      "ParamTest</a>&lt;<a href=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">" +
   463                      "Foo3</a>&gt;&gt;</span></code>&nbsp;</td>"
   463                      "Foo3</a>&gt;&gt;</span></code>&nbsp;</td>"
   464             },
   464             },
   468                      "type <a href=\"../../pkg2/Foo3.html\" title=\"class in " +
   468                      "type <a href=\"../../pkg2/Foo3.html\" title=\"class in " +
   469                      "pkg2\">Foo3</a></span><span class=\"tabEnd\">&nbsp;" +
   469                      "pkg2\">Foo3</a></span><span class=\"tabEnd\">&nbsp;" +
   470                      "</span></caption>"
   470                      "</span></caption>"
   471             },
   471             },
   472             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo3.html",
   472             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo3.html",
   473                      "<td class=\"colLast\"><span class=\"strong\">ClassUseTest2." +
   473                      "<td class=\"colLast\"><span class=\"typeNameLabel\">ClassUseTest2." +
   474                      "</span><code><span class=\"strong\"><a href=\"../../pkg2/" +
   474                      "</span><code><span class=\"memberNameLink\"><a href=\"../../pkg2/" +
   475                      "ClassUseTest2.html#method-T-\">method</a></span>" +
   475                      "ClassUseTest2.html#method-T-\">method</a></span>" +
   476                      "(T&nbsp;t)</code>&nbsp;</td>"
   476                      "(T&nbsp;t)</code>&nbsp;</td>"
   477             },
   477             },
   478             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo3.html",
   478             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo3.html",
   479                      "<caption><span>Methods in <a href=\"../../pkg2/" +
   479                      "<caption><span>Methods in <a href=\"../../pkg2/" +
   498                      "type <a href=\"../../pkg2/ParamTest2.html\" title=\"class " +
   498                      "type <a href=\"../../pkg2/ParamTest2.html\" title=\"class " +
   499                      "in pkg2\">ParamTest2</a></span><span class=\"tabEnd\">" +
   499                      "in pkg2\">ParamTest2</a></span><span class=\"tabEnd\">" +
   500                      "&nbsp;</span></caption>"
   500                      "&nbsp;</span></caption>"
   501             },
   501             },
   502             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest2.html",
   502             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest2.html",
   503                      "<td class=\"colLast\"><code><span class=\"strong\"><a href=\"../../pkg2/ClassUseTest3.html\" " +
   503                      "<td class=\"colLast\"><code><span class=\"memberNameLink\"><a href=\"../../pkg2/ClassUseTest3.html\" " +
   504                      "title=\"class in pkg2\">ClassUseTest3</a>&lt;T extends " +
   504                      "title=\"class in pkg2\">ClassUseTest3</a>&lt;T extends " +
   505                      "<a href=\"../../pkg2/ParamTest2.html\" title=\"class in pkg2\">" +
   505                      "<a href=\"../../pkg2/ParamTest2.html\" title=\"class in pkg2\">" +
   506                      "ParamTest2</a>&lt;java.util.List&lt;? extends " +
   506                      "ParamTest2</a>&lt;java.util.List&lt;? extends " +
   507                      "<a href=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">" +
   507                      "<a href=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">" +
   508                      "Foo4</a>&gt;&gt;&gt;</span></code>&nbsp;</td>"
   508                      "Foo4</a>&gt;&gt;&gt;</span></code>&nbsp;</td>"
   513                      "type <a href=\"../../pkg2/ParamTest2.html\" title=\"class " +
   513                      "type <a href=\"../../pkg2/ParamTest2.html\" title=\"class " +
   514                      "in pkg2\">ParamTest2</a></span><span class=\"tabEnd\">" +
   514                      "in pkg2\">ParamTest2</a></span><span class=\"tabEnd\">" +
   515                      "&nbsp;</span></caption>"
   515                      "&nbsp;</span></caption>"
   516             },
   516             },
   517             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest2.html",
   517             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest2.html",
   518                      "<td class=\"colLast\"><span class=\"strong\">ClassUseTest3" +
   518                      "<td class=\"colLast\"><span class=\"typeNameLabel\">ClassUseTest3" +
   519                      ".</span><code><span class=\"strong\"><a href=\"../../pkg2/ClassUseTest3." +
   519                      ".</span><code><span class=\"memberNameLink\"><a href=\"../../pkg2/ClassUseTest3." +
   520                      "html#method-T-\">method</a></span>(T&nbsp;t)</code>&nbsp;</td>"
   520                      "html#method-T-\">method</a></span>(T&nbsp;t)</code>&nbsp;</td>"
   521             },
   521             },
   522             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest2.html",
   522             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest2.html",
   523                      "<td class=\"colFirst\"><code>&lt;T extends <a href=\"../" +
   523                      "<td class=\"colFirst\"><code>&lt;T extends <a href=\"../" +
   524                      "../pkg2/ParamTest2.html\" title=\"class in pkg2\">" +
   524                      "../pkg2/ParamTest2.html\" title=\"class in pkg2\">" +
   536                      "type <a href=\"../../pkg2/Foo4.html\" title=\"class in " +
   536                      "type <a href=\"../../pkg2/Foo4.html\" title=\"class in " +
   537                      "pkg2\">Foo4</a></span><span class=\"tabEnd\">&nbsp;" +
   537                      "pkg2\">Foo4</a></span><span class=\"tabEnd\">&nbsp;" +
   538                      "</span></caption>"
   538                      "</span></caption>"
   539             },
   539             },
   540             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo4.html",
   540             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo4.html",
   541                      "<td class=\"colLast\"><code><span class=\"strong\"><a href=\"../../pkg2/ClassUseTest3.html\" " +
   541                      "<td class=\"colLast\"><code><span class=\"memberNameLink\"><a href=\"../../pkg2/ClassUseTest3.html\" " +
   542                      "title=\"class in pkg2\">ClassUseTest3</a>&lt;T extends " +
   542                      "title=\"class in pkg2\">ClassUseTest3</a>&lt;T extends " +
   543                      "<a href=\"../../pkg2/ParamTest2.html\" title=\"class in pkg2\">" +
   543                      "<a href=\"../../pkg2/ParamTest2.html\" title=\"class in pkg2\">" +
   544                      "ParamTest2</a>&lt;java.util.List&lt;? extends " +
   544                      "ParamTest2</a>&lt;java.util.List&lt;? extends " +
   545                      "<a href=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">" +
   545                      "<a href=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">" +
   546                      "Foo4</a>&gt;&gt;&gt;</span></code>&nbsp;</td>"
   546                      "Foo4</a>&gt;&gt;&gt;</span></code>&nbsp;</td>"
   550                      "package-summary.html\">pkg2</a> with type parameters of " +
   550                      "package-summary.html\">pkg2</a> with type parameters of " +
   551                      "type <a href=\"../../pkg2/Foo4.html\" title=\"class in " +
   551                      "type <a href=\"../../pkg2/Foo4.html\" title=\"class in " +
   552                      "pkg2\">Foo4</a></span><span class=\"tabEnd\">&nbsp;</span></caption>"
   552                      "pkg2\">Foo4</a></span><span class=\"tabEnd\">&nbsp;</span></caption>"
   553             },
   553             },
   554             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo4.html",
   554             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo4.html",
   555                      "<td class=\"colLast\"><span class=\"strong\">ClassUseTest3." +
   555                      "<td class=\"colLast\"><span class=\"typeNameLabel\">ClassUseTest3." +
   556                      "</span><code><span class=\"strong\"><a href=\"../../pkg2/ClassUseTest3." +
   556                      "</span><code><span class=\"memberNameLink\"><a href=\"../../pkg2/ClassUseTest3." +
   557                      "html#method-T-\">method</a></span>(T&nbsp;t)</code>" +
   557                      "html#method-T-\">method</a></span>(T&nbsp;t)</code>" +
   558                      "&nbsp;</td>"
   558                      "&nbsp;</td>"
   559             },
   559             },
   560             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo4.html",
   560             {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo4.html",
   561                      "<caption><span>Methods in <a href=\"../../pkg2/" +
   561                      "<caption><span>Methods in <a href=\"../../pkg2/" +
   584                      "</span></caption>" + NL + "<tr>" + NL +
   584                      "</span></caption>" + NL + "<tr>" + NL +
   585                      "<th class=\"colFirst\" scope=\"col\">Modifier and Type</th>" + NL +
   585                      "<th class=\"colFirst\" scope=\"col\">Modifier and Type</th>" + NL +
   586                      "<th class=\"colLast\" scope=\"col\">Method and Description</th>" + NL +
   586                      "<th class=\"colLast\" scope=\"col\">Method and Description</th>" + NL +
   587                      "</tr>" + NL + "<tbody>" + NL + "<tr class=\"altColor\">" + NL +
   587                      "</tr>" + NL + "<tbody>" + NL + "<tr class=\"altColor\">" + NL +
   588                      "<td class=\"colFirst\"><code>void</code></td>" + NL +
   588                      "<td class=\"colFirst\"><code>void</code></td>" + NL +
   589                      "<td class=\"colLast\"><span class=\"strong\">ClassUseTest3." +
   589                      "<td class=\"colLast\"><span class=\"typeNameLabel\">ClassUseTest3." +
   590                      "</span><code><span class=\"strong\"><a href=\"../../pkg2/ClassUseTest3." +
   590                      "</span><code><span class=\"memberNameLink\"><a href=\"../../pkg2/ClassUseTest3." +
   591                      "html#method-java.util.Set-\">method</a></span>(java." +
   591                      "html#method-java.util.Set-\">method</a></span>(java." +
   592                      "util.Set&lt;<a href=\"../../pkg2/Foo4.html\" title=\"" +
   592                      "util.Set&lt;<a href=\"../../pkg2/Foo4.html\" title=\"" +
   593                      "class in pkg2\">Foo4</a>&gt;&nbsp;p)</code>&nbsp;</td>" + NL +
   593                      "class in pkg2\">Foo4</a>&gt;&nbsp;p)</code>&nbsp;</td>" + NL +
   594                      "</tr>" + NL + "</tbody>"
   594                      "</tr>" + NL + "</tbody>"
   595             },
   595             },
   661 
   661 
   662             //=================================
   662             //=================================
   663             // TYPE PARAMETER IN INDEX
   663             // TYPE PARAMETER IN INDEX
   664             //=================================
   664             //=================================
   665             {BUG_ID + FS + "index-all.html",
   665             {BUG_ID + FS + "index-all.html",
   666                 "<span class=\"strong\"><a href=\"pkg2/Foo.html#method-java.util.Vector-\">" +
   666                 "<span class=\"memberNameLink\"><a href=\"pkg2/Foo.html#method-java.util.Vector-\">" +
   667                 "method(Vector&lt;Object&gt;)</a></span>"
   667                 "method(Vector&lt;Object&gt;)</a></span>"
   668             },
   668             },
   669             //=================================
   669             //=================================
   670             // TYPE PARAMETER IN INDEX
   670             // TYPE PARAMETER IN INDEX
   671             //=================================
   671             //=================================
   672             {BUG_ID + FS + "index-all.html",
   672             {BUG_ID + FS + "index-all.html",
   673                 "<span class=\"strong\"><a href=\"pkg2/Foo.html#method-java.util.Vector-\">" +
   673                 "<span class=\"memberNameLink\"><a href=\"pkg2/Foo.html#method-java.util.Vector-\">" +
   674                 "method(Vector&lt;Object&gt;)</a></span>"
   674                 "method(Vector&lt;Object&gt;)</a></span>"
   675             },
   675             },
   676         };
   676         };
   677     private static final String[][] NEGATED_TEST = {
   677     private static final String[][] NEGATED_TEST = {
   678         //=================================
   678         //=================================
   679         // ENUM TESTING
   679         // ENUM TESTING
   680         //=================================
   680         //=================================
   681         //NO constructor section
   681         //NO constructor section
   682         {BUG_ID + FS + "pkg" + FS + "Coin.html", "<span class=\"strong\">Constructor Summary</span>"},
   682         {BUG_ID + FS + "pkg" + FS + "Coin.html", "<h3>Constructor Summary</h3>"},
   683         //=================================
   683         //=================================
   684         // TYPE PARAMETER TESTING
   684         // TYPE PARAMETER TESTING
   685         //=================================
   685         //=================================
   686         //No type parameters in class frame.
   686         //No type parameters in class frame.
   687         {BUG_ID + FS + "allclasses-frame.html",
   687         {BUG_ID + FS + "allclasses-frame.html",
   696 
   696 
   697         //CLASS
   697         //CLASS
   698         {BUG_ID + FS + "pkg" + FS + "AnnotationTypeUsage.html",
   698         {BUG_ID + FS + "pkg" + FS + "AnnotationTypeUsage.html",
   699             "<a href=\"../pkg/AnnotationTypeUndocumented.html\" title=\"annotation in pkg\">@AnnotationTypeUndocumented</a>(<a href=\"../pkg/AnnotationType.html#optional\">optional</a>=\"Class Annotation\"," + NL +
   699             "<a href=\"../pkg/AnnotationTypeUndocumented.html\" title=\"annotation in pkg\">@AnnotationTypeUndocumented</a>(<a href=\"../pkg/AnnotationType.html#optional\">optional</a>=\"Class Annotation\"," + NL +
   700             "                <a href=\"../pkg/AnnotationType.html#required\">required</a>=1994)" + NL +
   700             "                <a href=\"../pkg/AnnotationType.html#required\">required</a>=1994)" + NL +
   701             "public class <span class=\"strong\">AnnotationTypeUsage</span></dt><dt>extends java.lang.Object</dt>"},
   701             "public class <span class=\"typeNameLabel\">AnnotationTypeUsage</span></dt><dt>extends java.lang.Object</dt>"},
   702 
   702 
   703         //FIELD
   703         //FIELD
   704         {BUG_ID + FS + "pkg" + FS + "AnnotationTypeUsage.html",
   704         {BUG_ID + FS + "pkg" + FS + "AnnotationTypeUsage.html",
   705             "<a href=\"../pkg/AnnotationTypeUndocumented.html\" title=\"annotation in pkg\">@AnnotationTypeUndocumented</a>(<a href=\"../pkg/AnnotationType.html#optional\">optional</a>=\"Field Annotation\"," + NL +
   705             "<a href=\"../pkg/AnnotationTypeUndocumented.html\" title=\"annotation in pkg\">@AnnotationTypeUndocumented</a>(<a href=\"../pkg/AnnotationType.html#optional\">optional</a>=\"Field Annotation\"," + NL +
   706             "                <a href=\"../pkg/AnnotationType.html#required\">required</a>=1994)" + NL +
   706             "                <a href=\"../pkg/AnnotationType.html#required\">required</a>=1994)" + NL +
   707             "public int <span class=\"strong\">field</span>"},
   707             "public int <span class=\"memberNameLabel\">field</span>"},
   708 
   708 
   709         //CONSTRUCTOR
   709         //CONSTRUCTOR
   710         {BUG_ID + FS + "pkg" + FS + "AnnotationTypeUsage.html",
   710         {BUG_ID + FS + "pkg" + FS + "AnnotationTypeUsage.html",
   711             "<a href=\"../pkg/AnnotationTypeUndocumented.html\" title=\"annotation in pkg\">@AnnotationTypeUndocumented</a>(<a href=\"../pkg/AnnotationType.html#optional\">optional</a>=\"Constructor Annotation\"," + NL +
   711             "<a href=\"../pkg/AnnotationTypeUndocumented.html\" title=\"annotation in pkg\">@AnnotationTypeUndocumented</a>(<a href=\"../pkg/AnnotationType.html#optional\">optional</a>=\"Constructor Annotation\"," + NL +
   712             "                <a href=\"../pkg/AnnotationType.html#required\">required</a>=1994)" + NL +
   712             "                <a href=\"../pkg/AnnotationType.html#required\">required</a>=1994)" + NL +
   713             "public <span class=\"strong\">AnnotationTypeUsage</span>()"},
   713             "public <span class=\"typeNameLabel\">AnnotationTypeUsage</span>()"},
   714 
   714 
   715         //METHOD
   715         //METHOD
   716         {BUG_ID + FS + "pkg" + FS + "AnnotationTypeUsage.html",
   716         {BUG_ID + FS + "pkg" + FS + "AnnotationTypeUsage.html",
   717             "<a href=\"../pkg/AnnotationTypeUndocumented.html\" title=\"annotation in pkg\">@AnnotationTypeUndocumented</a>(<a href=\"../pkg/AnnotationType.html#optional\">optional</a>=\"Method Annotation\"," + NL +
   717             "<a href=\"../pkg/AnnotationTypeUndocumented.html\" title=\"annotation in pkg\">@AnnotationTypeUndocumented</a>(<a href=\"../pkg/AnnotationType.html#optional\">optional</a>=\"Method Annotation\"," + NL +
   718             "                <a href=\"../pkg/AnnotationType.html#required\">required</a>=1994)" + NL +
   718             "                <a href=\"../pkg/AnnotationType.html#required\">required</a>=1994)" + NL +
   719             "public void <span class=\"strong\">method</span>()"},
   719             "public void <span class=\"memberNameLabel\">method</span>()"},
   720 
   720 
   721         //=================================
   721         //=================================
   722         // Make sure annotation types do not
   722         // Make sure annotation types do not
   723         // trigger this warning.
   723         // trigger this warning.
   724         //=================================
   724         //=================================