1 /* 2 * Copyright (c) 2017, 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 8173425 8186332 8182765 8196202 27 * @summary tests for the summary tag behavior 28 * @library ../../lib 29 * @modules jdk.javadoc/jdk.javadoc.internal.tool 30 * @build javadoc.tester.* 31 * @run main TestSummaryTag 32 */ 33 34 import javadoc.tester.JavadocTester; 35 36 public class TestSummaryTag extends JavadocTester { 37 38 public static void main(String... args) throws Exception { 39 TestSummaryTag tester = new TestSummaryTag(); 40 tester.runTests(); 41 } 42 43 @Test 44 public void test1() { 45 javadoc("-d", "out1", 46 "-sourcepath", testSrc, 47 "p1"); 48 checkExit(Exit.OK); 49 50 checkOutput("index-all.html", true, 51 "<dl>\n" 52 + "<dt><span class=\"memberNameLink\"><a href=\"p1/A.html#m()\">m()" 53 + "</a></span> - Method in class p1.<a href=\"p1/A.html\" title=\"class in p1\">A</a></dt>\n" 54 + "<dd>\n" 55 + "<div class=\"block\">First sentence</div>\n" 56 + "</dd>\n" 57 + "<dt><span class=\"memberNameLink\"><a href=\"p1/B.html#m()\">m()" 58 + "</a></span> - Method in class p1.<a href=\"p1/B.html\" title=\"class in p1\">B</a></dt>\n" 59 + "<dd>\n" 60 + "<div class=\"block\">First sentence</div>\n" 61 + "</dd>\n" 62 + "<dt><span class=\"memberNameLink\"><a href=\"p1/A.html#m1()\">m1()" 63 + "</a></span> - Method in class p1.<a href=\"p1/A.html\" title=\"class in p1\">A</a></dt>\n" 64 + "<dd>\n" 65 + "<div class=\"block\"> First sentence </div>\n" 66 + "</dd>\n" 67 + "<dt><span class=\"memberNameLink\"><a href=\"p1/A.html#m2()\">m2()" 68 + "</a></span> - Method in class p1.<a href=\"p1/A.html\" title=\"class in p1\">A</a></dt>\n" 69 + "<dd>\n" 70 + "<div class=\"block\">Some html <foo> codes</div>\n" 71 + "</dd>\n" 72 + "<dt><span class=\"memberNameLink\"><a href=\"p1/A.html#m3()\">m3()" 73 + "</a></span> - Method in class p1.<a href=\"p1/A.html\" title=\"class in p1\">A</a></dt>\n" 74 + "<dd>\n" 75 + "<div class=\"block\">First sentence </div>\n" 76 + "</dd>\n" 77 + "<dt><span class=\"memberNameLink\"><a href=\"p1/A.html#m4()\">m4()" 78 + "</a></span> - Method in class p1.<a href=\"p1/A.html\" title=\"class in p1\">A</a></dt>\n" 79 + "<dd>\n" 80 + "<div class=\"block\">First sentence i.e. the first sentence</div>\n" 81 + "</dd>\n" 82 + "</dl>\n", 83 "<div class=\"block\">The first... line</div>\n" 84 ); 85 86 // make sure the second @summary's content is displayed correctly 87 checkOutput("p1/A.html", true, 88 "<section class=\"detail\">\n" 89 + "<h3><a id=\"m3()\">m3</a></h3>\n" 90 + "<div class=\"memberSignature\"><span class=\"modifiers\">public</span> " 91 + "<span class=\"returnType\">void</span> <span class=\"memberName\">m3</span>()</div>\n" 92 + "<div class=\"block\">First sentence some text maybe second sentence.</div>\n" 93 + "</section>\n" 94 ); 95 96 checkOutput("p1/package-summary.html", true, 97 "<div class=\"block\">The first... line second from ...</div>"); 98 } 99 100 @Test 101 public void test2() { 102 javadoc("-d", "out2", 103 "-sourcepath", testSrc, 104 "p2"); 105 checkExit(Exit.OK); 106 107 checkOutput(Output.OUT, true, "package.html:3: warning: invalid use of @summary"); 108 109 checkOutput("index-all.html", true, "<div class=\"block\">foo bar</div>\n"); 110 111 checkOutput("p2/package-summary.html", true, "<div class=\"block\">foo bar baz.</div>\n"); 112 } 113 114 @Test 115 public void test3() { 116 javadoc("-d", "out3", 117 "-sourcepath", testSrc, 118 "-overview", testSrc("p3/overview.html"), 119 "p3"); 120 checkExit(Exit.OK); 121 122 checkOutput("index.html", true, 123 "<div class=\"block\">The first... line second from ...</div>"); 124 } 125 }