TestPackagePage.java revision 3294:9adfb22ff08f
1/*
2 * Copyright (c) 2002, 2016, 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 4492643 4689286
27 * @summary Test that a package page is properly generated when a .java file
28 * passed to Javadoc.  Also test that the proper package links are generated
29 * when single or multiple packages are documented.
30 * @author jamieh
31 * @library ../lib
32 * @modules jdk.javadoc/jdk.javadoc.internal.tool
33 * @build JavadocTester
34 * @run main TestPackagePage
35 */
36
37public class TestPackagePage extends JavadocTester {
38
39    public static void main(String... args) throws Exception {
40        TestPackagePage tester = new TestPackagePage();
41        tester.runTests();
42    }
43
44    @Test
45    void testSinglePackage() {
46        javadoc("-d", "out-1",
47                "-sourcepath", testSrc,
48                testSrc("com/pkg/C.java"));
49        checkExit(Exit.OK);
50
51        checkOutput("com/pkg/package-summary.html", true,
52            "This is a package page.");
53
54        // With just one package, all general pages link to the single package page.
55        checkOutput("com/pkg/C.html", true,
56            "<a href=\"../../com/pkg/package-summary.html\">Package</a>");
57        checkOutput("com/pkg/package-tree.html", true,
58            "<li><a href=\"../../com/pkg/package-summary.html\">Package</a></li>");
59        checkOutput("deprecated-list.html", true,
60            "<li><a href=\"com/pkg/package-summary.html\">Package</a></li>");
61        checkOutput("index-all.html", true,
62            "<li><a href=\"com/pkg/package-summary.html\">Package</a></li>");
63        checkOutput("help-doc.html", true,
64            "<li><a href=\"com/pkg/package-summary.html\">Package</a></li>");
65    }
66
67    private static final String[][] TEST1 = {
68    };
69
70
71    @Test
72    void testMultiplePackages() {
73        javadoc("-d", "out-2",
74                "-sourcepath", testSrc,
75                "com.pkg", "pkg2");
76        checkExit(Exit.OK);
77
78        //With multiple packages, there is no package link in general pages.
79        checkOutput("deprecated-list.html", true,
80            "<li>Package</li>");
81        checkOutput("index-all.html", true,
82            "<li>Package</li>");
83        checkOutput("help-doc.html", true,
84            "<li>Package</li>");
85    }
86}
87