1 /* 2 * Copyright (c) 2019, 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 8214126 27 * @summary Method signatures not formatted correctly in browser 28 * @library ../../lib/ 29 * @modules jdk.javadoc/jdk.javadoc.internal.tool 30 * @build javadoc.tester.* 31 * @run main TestMethodSignature 32 */ 33 34 import javadoc.tester.JavadocTester; 35 36 public class TestMethodSignature extends JavadocTester { 37 38 public static void main(String... args) throws Exception { 39 TestMethodSignature tester = new TestMethodSignature(); 40 tester.runTests(); 41 } 42 43 @Test 44 public void test() { 45 javadoc("-d", "out", 46 "-sourcepath", testSrc, 47 "pkg"); 48 checkExit(Exit.OK); 49 50 checkOutput("pkg/C.html", true, 51 "<div class=\"memberSignature\"><span class=\"annotations\">" 52 + "@Generated(\"GeneratedConstructor\")\n" 53 + "</span><span class=\"modifiers\">public</span> " 54 + "<span class=\"memberName\">C</span>()</div>", 55 56 "<div class=\"memberSignature\"><span class=\"modifiers\">public static</span>" 57 + " <span class=\"returnType\">void</span> <span class=\"memberName\">" 58 + "simpleMethod</span>(<span class=\"arguments\">int i,\n" 59 + "java.lang.String s,\nboolean b)</span></div>", 60 61 "<div class=\"memberSignature\"><span class=\"annotations\">@Generated" 62 + "(value=\"SomeGeneratedName\",\n date=\"a date\",\n" 63 + " comments=\"some comment about the method below\")\n" 64 + "</span><span class=\"modifiers\">public static</span> <span " 65 + "class=\"returnType\">void</span> <span class=\"memberName\">annotatedMethod" 66 + "</span>(<span class=\"arguments\">int i,\n" 67 + "java.lang.String s,\nboolean b)</span></div>", 68 69 "<div class=\"memberSignature\"><span class=\"modifiers\">public static</span>" 70 + " <span class=\"typeParametersLong\"><T1 extends java.lang.AutoCloseable,\n" 71 + "T2 extends java.lang.AutoCloseable,\n" 72 + "T3 extends java.lang.AutoCloseable,\n" 73 + "T4 extends java.lang.AutoCloseable,\n" 74 + "T5 extends java.lang.AutoCloseable,\n" 75 + "T6 extends java.lang.AutoCloseable,\n" 76 + "T7 extends java.lang.AutoCloseable,\n" 77 + "T8 extends java.lang.AutoCloseable></span>\n" 78 + "<span class=\"returnType\"><a href=\"C.With8Types.html\" " 79 + "title=\"class in pkg\">C.With8Types</a><T1,T2,T3," 80 + "T4,T5,T6,T7,T8></span> " 81 + "<span class=\"memberName\">bigGenericMethod</span>(" 82 + "<span class=\"arguments\"><a href=\"C.F0.html\" " 83 + "title=\"interface in pkg\">C.F0</a><? extends T1> t1,\n" 84 + "<a href=\"C.F0.html\" title=\"interface in pkg\">" 85 + "C.F0</a><? extends T2> t2,\n" 86 + "<a href=\"C.F0.html\" title=\"interface in pkg\">" 87 + "C.F0</a><? extends T3> t3,\n" 88 + "<a href=\"C.F0.html\" title=\"interface in pkg\">" 89 + "C.F0</a><? extends T4> t4,\n" 90 + "<a href=\"C.F0.html\" title=\"interface in pkg\">" 91 + "C.F0</a><? extends T5> t5,\n" 92 + "<a href=\"C.F0.html\" title=\"interface in pkg\">" 93 + "C.F0</a><? extends T6> t6,\n" 94 + "<a href=\"C.F0.html\" title=\"interface in pkg\">" 95 + "C.F0</a><? extends T7> t7,\n" 96 + "<a href=\"C.F0.html\" title=\"interface in pkg\">" 97 + "C.F0</a><? extends T8> t8)</span>\n" 98 + " " 99 + "throws <span class=\"exceptions\">java.lang.IllegalArgumentException,\n" 100 + "java.lang.IllegalStateException</span></div>", 101 102 "<div class=\"memberSignature\"><span class=\"annotations\">" 103 + "@Generated(value=\"SomeGeneratedName\",\n" 104 + " date=\"a date\",\n" 105 + " comments=\"some comment about the method below\")\n" 106 + "</span><span class=\"modifiers\">public static</span> " 107 + "<span class=\"typeParametersLong\">" 108 + "<T1 extends java.lang.AutoCloseable,\n" 109 + "T2 extends java.lang.AutoCloseable,\n" 110 + "T3 extends java.lang.AutoCloseable,\n" 111 + "T4 extends java.lang.AutoCloseable,\n" 112 + "T5 extends java.lang.AutoCloseable,\n" 113 + "T6 extends java.lang.AutoCloseable,\n" 114 + "T7 extends java.lang.AutoCloseable,\n" 115 + "T8 extends java.lang.AutoCloseable></span>\n" 116 + "<span class=\"returnType\"><a href=\"C.With8Types.html\" " 117 + "title=\"class in pkg\">C.With8Types</a><T1,T2,T3," 118 + "T4,T5,T6,T7,T8></span> " 119 + "<span class=\"memberName\">bigGenericAnnotatedMethod</span>(" 120 + "<span class=\"arguments\"><a href=\"C.F0.html\" " 121 + "title=\"interface in pkg\">C.F0</a><? extends T1> t1,\n" 122 + "<a href=\"C.F0.html\" title=\"interface in pkg\">" 123 + "C.F0</a><? extends T2> t2,\n" 124 + "<a href=\"C.F0.html\" title=\"interface in pkg\">" 125 + "C.F0</a><? extends T3> t3,\n" 126 + "<a href=\"C.F0.html\" title=\"interface in pkg\">" 127 + "C.F0</a><? extends T4> t4,\n" 128 + "<a href=\"C.F0.html\" title=\"interface in pkg\">" 129 + "C.F0</a><? extends T5> t5,\n" 130 + "<a href=\"C.F0.html\" title=\"interface in pkg\">" 131 + "C.F0</a><? extends T6> t6,\n" 132 + "<a href=\"C.F0.html\" title=\"interface in pkg\">" 133 + "C.F0</a><? extends T7> t7,\n" 134 + "<a href=\"C.F0.html\" title=\"interface in pkg\">" 135 + "C.F0</a><? extends T8> t8)</span>\n" 136 + " " 137 + "throws <span class=\"exceptions\">java.lang.IllegalArgumentException,\n" 138 + "java.lang.IllegalStateException</span></div>\n" 139 + "<div class=\"block\">Generic method with eight type args and annotation.</div>"); 140 141 } 142 }