--- a/langtools/test/com/sun/javadoc/testInterface/TestInterface.java Fri May 09 23:31:05 2014 +0200
+++ b/langtools/test/com/sun/javadoc/testInterface/TestInterface.java Fri May 09 15:37:12 2014 -0700
@@ -29,101 +29,82 @@
* If A implements I and B extends A, B should be in the list of
* implementing classes in the documentation for I.
* @author jamieh
- * @library ../lib/
+ * @library ../lib
* @build JavadocTester
- * @build TestInterface
* @run main TestInterface
*/
public class TestInterface extends JavadocTester {
- //Javadoc arguments.
- private static final String[] ARGS = new String[] {
- "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"
- };
+ public static void main(String... args) throws Exception {
+ TestInterface tester = new TestInterface();
+ tester.runTests();
+ }
- //Input for string search tests.
- private static final String[][] TEST = {
- { "pkg/Interface.html",
- "<pre>int method()</pre>"},
- { "pkg/Interface.html",
- "<pre>static final int field</pre>"},
-
+ @Test
+ void test() {
+ javadoc("-d", "out",
+ "-sourcepath", testSrc,
+ "pkg");
+ checkExit(Exit.OK);
- // Make sure known implementing class list is correct and omits type parameters.
- { "pkg/Interface.html",
- "<dl>\n" +
- "<dt>All Known Implementing Classes:</dt>\n" +
- "<dd><a href=\"../pkg/Child.html\" title=\"class in pkg\">Child" +
- "</a>, <a href=\"../pkg/Parent.html\" title=\"class in pkg\">Parent" +
- "</a></dd>\n" +
- "</dl>"},
+ checkOutput("pkg/Interface.html", true,
+ "<pre>int method()</pre>",
+ "<pre>static final int field</pre>",
+ // Make sure known implementing class list is correct and omits type parameters.
+ "<dl>\n"
+ + "<dt>All Known Implementing Classes:</dt>\n"
+ + "<dd><a href=\"../pkg/Child.html\" title=\"class in pkg\">Child"
+ + "</a>, <a href=\"../pkg/Parent.html\" title=\"class in pkg\">Parent"
+ + "</a></dd>\n"
+ + "</dl>");
- // Make sure "All Implemented Interfaces": has substituted type parameters
- { "pkg/Child.html",
- "<dl>\n" +
- "<dt>All Implemented Interfaces:</dt>\n" +
- "<dd><a href=\"../pkg/Interface.html\" title=\"interface in pkg\">" +
- "Interface</a><T></dd>\n" +
- "</dl>"
- },
- //Make sure Class Tree has substituted type parameters.
- { "pkg/Child.html",
- "<ul class=\"inheritance\">\n" +
- "<li>java.lang.Object</li>\n" +
- "<li>\n" +
- "<ul class=\"inheritance\">\n" +
- "<li><a href=\"../pkg/Parent.html\" title=\"class in pkg\">" +
- "pkg.Parent</a><T></li>\n" +
- "<li>\n" +
- "<ul class=\"inheritance\">\n" +
- "<li>pkg.Child<T></li>\n" +
- "</ul>\n" +
- "</li>\n" +
- "</ul>\n" +
- "</li>\n" +
- "</ul>"
- },
- //Make sure "Direct Know Subclasses" omits type parameters
- { "pkg/Parent.html",
- "<dl>\n" +
- "<dt>Direct Known Subclasses:</dt>\n" +
- "<dd><a href=\"../pkg/Child.html\" title=\"class in pkg\">Child" +
- "</a></dd>\n" +
- "</dl>"
- },
- //Make sure "Specified By" has substituted type parameters.
- { "pkg/Child.html",
- "<dt><span class=\"overrideSpecifyLabel\">Specified by:</span></dt>\n" +
- "<dd><code><a href=\"../pkg/Interface.html#method--\">method</a>" +
- "</code> in interface <code>" +
- "<a href=\"../pkg/Interface.html\" title=\"interface in pkg\">" +
- "Interface</a><<a href=\"../pkg/Child.html\" title=\"type parameter in Child\">" +
- "T</a>></code></dd>"
- },
- //Make sure "Overrides" has substituted type parameters.
- { "pkg/Child.html",
- "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
- "<dd><code><a href=\"../pkg/Parent.html#method--\">method</a>" +
- "</code> in class <code><a href=\"../pkg/Parent.html\" " +
- "title=\"class in pkg\">Parent</a><<a href=\"../pkg/Child.html\" " +
- "title=\"type parameter in Child\">T</a>></code></dd>"
- },
- };
- private static final String[][] NEGATED_TEST = {
- { "pkg/Interface.html",
- "public int method()"},
- { "pkg/Interface.html",
- "public static final int field"},
- };
+ checkOutput("pkg/Child.html", true,
+ // Make sure "All Implemented Interfaces": has substituted type parameters
+ "<dl>\n"
+ + "<dt>All Implemented Interfaces:</dt>\n"
+ + "<dd><a href=\"../pkg/Interface.html\" title=\"interface in pkg\">"
+ + "Interface</a><T></dd>\n"
+ + "</dl>",
+ //Make sure Class Tree has substituted type parameters.
+ "<ul class=\"inheritance\">\n"
+ + "<li>java.lang.Object</li>\n"
+ + "<li>\n"
+ + "<ul class=\"inheritance\">\n"
+ + "<li><a href=\"../pkg/Parent.html\" title=\"class in pkg\">"
+ + "pkg.Parent</a><T></li>\n"
+ + "<li>\n"
+ + "<ul class=\"inheritance\">\n"
+ + "<li>pkg.Child<T></li>\n"
+ + "</ul>\n"
+ + "</li>\n"
+ + "</ul>\n"
+ + "</li>\n"
+ + "</ul>",
+ //Make sure "Specified By" has substituted type parameters.
+ "<dt><span class=\"overrideSpecifyLabel\">Specified by:</span></dt>\n"
+ + "<dd><code><a href=\"../pkg/Interface.html#method--\">method</a>"
+ + "</code> in interface <code>"
+ + "<a href=\"../pkg/Interface.html\" title=\"interface in pkg\">"
+ + "Interface</a><<a href=\"../pkg/Child.html\" title=\"type parameter in Child\">"
+ + "T</a>></code></dd>",
+ //Make sure "Overrides" has substituted type parameters.
+ "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
+ + "<dd><code><a href=\"../pkg/Parent.html#method--\">method</a>"
+ + "</code> in class <code><a href=\"../pkg/Parent.html\" "
+ + "title=\"class in pkg\">Parent</a><<a href=\"../pkg/Child.html\" "
+ + "title=\"type parameter in Child\">T</a>></code></dd>");
- /**
- * The entry point of the test.
- * @param args the array of command line arguments.
- */
- public static void main(String[] args) {
- TestInterface tester = new TestInterface();
- tester.run(ARGS, TEST, NEGATED_TEST);
- tester.printSummary();
+ checkOutput("pkg/Parent.html", true,
+ //Make sure "Direct Know Subclasses" omits type parameters
+ "<dl>\n"
+ + "<dt>Direct Known Subclasses:</dt>\n"
+ + "<dd><a href=\"../pkg/Child.html\" title=\"class in pkg\">Child"
+ + "</a></dd>\n"
+ + "</dl>");
+
+ checkOutput("pkg/Interface.html", false,
+ "public int method()",
+ "public static final int field");
}
}