8049396: [javadoc] add more class-use test cases
authorksrini
Fri, 11 Jul 2014 06:52:04 -0700
changeset 25450 9db7fe8de854
parent 25449 3c14a2e16bd6
child 25451 6f24a67dfac5
8049396: [javadoc] add more class-use test cases Reviewed-by: jjg
langtools/test/com/sun/javadoc/testUseOption/TestUseOption.java
langtools/test/com/sun/javadoc/testUseOption/pkg1/AnAbstract.java
langtools/test/com/sun/javadoc/testUseOption/pkg1/C10.java
langtools/test/com/sun/javadoc/testUseOption/pkg1/UsedInterface.java
langtools/test/com/sun/javadoc/testUseOption/pkg1/UsedInterfaceA.java
--- a/langtools/test/com/sun/javadoc/testUseOption/TestUseOption.java	Sun Jun 29 17:13:55 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testUseOption/TestUseOption.java	Fri Jul 11 06:52:04 2014 -0700
@@ -96,6 +96,30 @@
         checkOutput("pkg1/class-use/UsedClass.html", false,
            "methodInC1Protected"
         );
+        checkOutput("pkg1/class-use/UsedInterface.html", true,
+           "<a href=\"../../pkg1/AnAbstract.html\" title=\"class in pkg1\">AnAbstract</a>"
+        );
+        checkOutput("pkg1/class-use/UsedInterface.html", true,
+            "../../pkg1/C10.html#withReturningTypeParameters--"
+        );
+        checkOutput("pkg1/class-use/UsedInterface.html", true,
+            "../../pkg1/C10.html#withTypeParametersOfType-java.lang.Class-"
+        );
+        checkOutput("pkg1/class-use/UsedInterface.html", true,
+            "\"../../pkg1/package-summary.html\">pkg1</a> that return " +
+            "<a href=\"../../pkg1/UsedInterface.html\" title=\"interface in pkg1\""
+        );
+        checkOutput("pkg1/class-use/UsedInterface.html", true,
+            "<a href=\"../../pkg1/C10.html#addAll-pkg1.UsedInterface...-\">addAll</a>"
+        );
+        checkOutput("pkg1/class-use/UsedInterface.html", true,
+            "<a href=\"../../pkg1/C10.html#create-pkg1.UsedInterfaceA-pkg1." +
+            "UsedInterface-java.lang.String-\">"
+        );
+        checkOutput("pkg1/class-use/UsedInterface.html", true,
+            "<a href=\"../../pkg1/C10.html#withTypeParametersOfType-java.lang.Class-\">" +
+            "withTypeParametersOfType</a>"
+        );
     }
 
     @Test
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testUseOption/pkg1/AnAbstract.java	Fri Jul 11 06:52:04 2014 -0700
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2014, 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.
+ */
+package pkg1;
+public abstract class AnAbstract implements UsedInterface {}
--- a/langtools/test/com/sun/javadoc/testUseOption/pkg1/C10.java	Sun Jun 29 17:13:55 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testUseOption/pkg1/C10.java	Fri Jul 11 06:52:04 2014 -0700
@@ -23,6 +23,8 @@
 
 package pkg1;
 
+import java.util.List;
+
 /**
  * An implementor
  *
@@ -38,4 +40,49 @@
      * Me too
      */
     public void doNothingA() {}
+
+    /**
+     * returns a collection with type param
+     * @return something
+     */
+    public List<? extends UsedClass> foo(){return null;}
+
+    /**
+     * returns and takes type param variants
+     * @param <T> yeah
+     * @return returns a type param
+     */
+    public <T extends UsedInterface<? super T>> UsedInterfaceA<T> withTypeParametersOfType(Class<? extends UsedInterface> c){return null;}
+
+    /**
+     * returns a type param
+     * @param <T> a param
+     * @return something
+     */
+    public <T extends UsedInterface>T[] withReturningTypeParameters(){return null;}
+
+    /**
+     * a return a type parameter, as a static method
+     * @param <T> a type param
+     * @param enumType something
+     * @param name something
+     * @return a trype param
+     */
+    public static <T extends UsedInterface<T>> T withReturnVariant(Class<T> enumType, String name){return null;}
+
+    /**
+     * another variant of a method returning type parameters
+     * @param <T> something
+     * @param listenerInterface something
+     * @param target something
+     * @param action something
+     * @return a type param
+     */
+    public <T> T create(UsedInterfaceA<T> listenerInterface, UsedInterface target, String action){return null;}
+
+    /**
+     * input is an array
+     * @param elements a vararg
+     */
+    public void addAll(UsedInterface... elements) {}
 }
--- a/langtools/test/com/sun/javadoc/testUseOption/pkg1/UsedInterface.java	Sun Jun 29 17:13:55 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testUseOption/pkg1/UsedInterface.java	Fri Jul 11 06:52:04 2014 -0700
@@ -28,7 +28,7 @@
 
 package pkg1;
 
-public interface UsedInterface {
+public interface UsedInterface<T> {
 
     /**
      * Does nothing
--- a/langtools/test/com/sun/javadoc/testUseOption/pkg1/UsedInterfaceA.java	Sun Jun 29 17:13:55 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testUseOption/pkg1/UsedInterfaceA.java	Fri Jul 11 06:52:04 2014 -0700
@@ -28,7 +28,7 @@
 
 package pkg1;
 
-public interface UsedInterfaceA {
+public interface UsedInterfaceA<T> {
 
     /**
      * Does nothing