--- old/test/com/sun/javadoc/testInterface/TestInterface.java Fri Jan 22 12:24:12 2016
+++ /dev/null Fri Jan 22 12:24:12 2016
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * @test
- * @bug 4682448 4947464 5029946 8025633 8026567
- * @summary Verify that the public modifier does not show up in the
- * documentation for public methods, as recommended by the JLS.
- * 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
- * @modules jdk.javadoc
- * @build JavadocTester
- * @run main TestInterface
- */
-
-public class TestInterface extends JavadocTester {
-
- public static void main(String... args) throws Exception {
- TestInterface tester = new TestInterface();
- tester.runTests();
- }
-
- @Test
- void test() {
- javadoc("-d", "out",
- "-sourcepath", testSrc,
- "pkg");
- checkExit(Exit.OK);
-
- checkOutput("pkg/Interface.html", true,
- "
int method()
",
- "static final int field
",
- // Make sure known implementing class list is correct and omits type parameters.
- "\n"
- + "- All Known Implementing Classes:
\n"
- + "- Child"
- + ", Parent"
- + "
\n"
- + "
");
-
- checkOutput("pkg/Child.html", true,
- // Make sure "All Implemented Interfaces": has substituted type parameters
- "\n"
- + "- All Implemented Interfaces:
\n"
- + "- "
- + "Interface<T>
\n"
- + "
",
- //Make sure Class Tree has substituted type parameters.
- "\n"
- + "- java.lang.Object
\n"
- + "- \n"
- + "
\n"
- + "- "
- + "pkg.Parent<T>
\n"
- + "- \n"
- + "
\n"
- + "- pkg.Child<T>
\n"
- + "
\n"
- + " \n"
- + "
\n"
- + " \n"
- + "
",
- //Make sure "Specified By" has substituted type parameters.
- "Specified by:\n"
- + "method"
- + "
in interface "
- + ""
- + "Interface<"
- + "T>
",
- //Make sure "Overrides" has substituted type parameters.
- "Overrides:\n"
- + "method"
- + "
in class Parent<T>
");
-
- checkOutput("pkg/Parent.html", true,
- //Make sure "Direct Know Subclasses" omits type parameters
- "\n"
- + "- Direct Known Subclasses:
\n"
- + "- Child"
- + "
\n"
- + "
");
-
- checkOutput("pkg/Interface.html", false,
- "public int method()",
- "public static final int field");
- }
-}
--- /dev/null Fri Jan 22 12:24:12 2016
+++ new/test/jdk/javadoc/doclet/testInterface/TestInterface.java Fri Jan 22 12:24:12 2016
@@ -0,0 +1,170 @@
+/*
+ * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 4682448 4947464 5029946 8025633 8026567 8035473
+ * @summary Verify that the public modifier does not show up in the
+ * documentation for public methods, as recommended by the JLS.
+ * 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
+ * @modules jdk.javadoc
+ * @build JavadocTester
+ * @run main TestInterface
+ */
+
+/*
+ * TODO: make it Inteferface ie. fix all ParameterTypes, likely should get
+ * fixed when Doc is replace by j.l.m, but meanwhile this test has been adjusted
+ * take the current format this is better than @ignore because we can follow the
+ * differences as the work progress.
+ *
+ * The consensus is that we should have something as follows:
+ * In Child.html
+ * Specified by: method in interface
+ * Overrides: method in class Parent
+ * In otherwords the TypeParameter in scope should be used ex: Interface, Parent
+ and Child
+ */
+
+public class TestInterface extends JavadocTester {
+
+ public static void main(String... args) throws Exception {
+ TestInterface tester = new TestInterface();
+ tester.runTests();
+ }
+
+ @Test
+ void test() {
+ javadoc("-d", "out",
+ "-sourcepath", testSrc,
+ "pkg");
+ checkExit(Exit.OK);
+
+ checkOutput("pkg/Interface.html", true,
+ "int method()
",
+ "static final int field
",
+ // Make sure known implementing class list is correct and omits type parameters.
+ "\n"
+ + "- All Known Implementing Classes:
\n"
+ + "- Child"
+ + ", Parent"
+ + "
\n"
+ + "
");
+
+ checkOutput("pkg/Child.html", true,
+ // Make sure "All Implemented Interfaces": has substituted type parameters
+ "\n"
+ + "- All Implemented Interfaces:
\n"
+ + "- "
+ + "Interface<CE>
\n"
+ + "
",
+ //Make sure Class Tree has substituted type parameters.
+ "\n"
+ + "- java.lang.Object
\n"
+ + "- \n"
+ + "
\n"
+ + "- "
+ + "pkg.Parent<CE>
\n"
+ + "- \n"
+ + "
\n"
+ + "- pkg.Child<CE>
\n"
+ + "
\n"
+ + " \n"
+ + "
\n"
+ + " \n"
+ + "
",
+ //Make sure "Specified By" has substituted type parameters.
+ "Specified by:\n"
+ + "method"
+ + "
in interface "
+ + ""
+ + "Interface<"
+ + "CE>
",
+ //Make sure "Overrides" has substituted type parameters.
+ "Overrides:\n"
+ + "method"
+ + "
in class Parent<CE>
");
+
+ checkOutput("pkg/Parent.html", true,
+ //Make sure "Direct Know Subclasses" omits type parameters
+ "\n"
+ + "- Direct Known Subclasses:
\n"
+ + "- Child"
+ + "
\n"
+ + "
");
+
+ checkOutput("pkg/Interface.html", false,
+ "public int method()",
+ "public static final int field");
+ }
+
+ @Test
+ void test1() {
+ javadoc("-d", "out-1",
+ "-sourcepath", testSrc,
+ "pkg1");
+ checkExit(Exit.OK);
+
+ checkOutput("pkg1/Child.html", true,
+ // Ensure the correct Overrides in the inheritance hierarchy is reported
+ "Overrides:\n" +
+ "method1
" +
+ " in class " +
+ "GrandParent" +
+ "<CE>
");
+ }
+
+ @Test
+ void test2() {
+ javadoc("-d", "out-2",
+ "-sourcepath", testSrc,
+ "pkg2");
+
+ checkExit(Exit.OK);
+
+ checkOutput("pkg2/Spliterator.OfDouble.html", true,
+ // Ensure the correct type parameters are displayed correctly
+ "Nested classes/interfaces inherited from interface pkg2."
+ + "Spliterator
\n" +
+ ""
+ + "Spliterator.OfDouble, Spliterator.OfInt<"
+ + ""
+ + "Integer>, "
+ + "Spliterator.OfPrimitive<T,T_CONS,"
+ + ""
+ + "T_SPLITR extends "
+ + "Spliterator.OfPrimitive<T,"
+ + ""
+ + "T_CONS,"
+ + "T_SPLITR>>
");
+ }
+}