2015-11-29 02:52:17 +00:00
|
|
|
/*
|
2018-01-22 19:15:51 +00:00
|
|
|
* Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
|
2015-11-29 02:52:17 +00:00
|
|
|
* 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
|
2017-09-27 23:47:07 +00:00
|
|
|
* @bug 4496290 4985072 7006178 7068595 8016328 8050031 8048351 8081854 8071982 8162363 8175200 8186332
|
2015-11-29 02:52:17 +00:00
|
|
|
* @summary A simple test to ensure class-use files are correct.
|
|
|
|
* @author jamieh
|
|
|
|
* @library ../lib
|
8142968: Module System implementation
Initial integration of JEP 200, JEP 260, JEP 261, and JEP 282
Co-authored-by: Alex Buckley <alex.buckley@oracle.com>
Co-authored-by: Jonathan Gibbons <jonathan.gibbons@oracle.com>
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Co-authored-by: Mandy Chung <mandy.chung@oracle.com>
Co-authored-by: Mark Reinhold <mark.reinhold@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Co-authored-by: Vicente Romero <vicente.romero@oracle.com>
Co-authored-by: Andreas Lundblad <andreas.lundblad@oracle.com>
Co-authored-by: Andrey Nazarov <andrey.x.nazarov@oracle.com>
Co-authored-by: Chris Hegarty <chris.hegarty@oracle.com>
Co-authored-by: Erik Joelsson <erik.joelsson@oracle.com>
Co-authored-by: Kumar Srinivasan <kumar.x.srinivasan@oracle.com>
Co-authored-by: Sundararajan Athijegannathan <sundararajan.athijegannathan@oracle.com>
Reviewed-by: jjg, jlahoda, vromero, mcimadamore, bpatel, ksrini, darcy, anazarov, dfuchs
2016-03-17 19:04:28 +00:00
|
|
|
* @modules jdk.javadoc/jdk.javadoc.internal.tool
|
2015-11-29 02:52:17 +00:00
|
|
|
* @build JavadocTester
|
|
|
|
* @run main TestUseOption
|
|
|
|
*/
|
|
|
|
|
|
|
|
public class TestUseOption extends JavadocTester {
|
|
|
|
|
|
|
|
public static void main(String... args) throws Exception {
|
|
|
|
TestUseOption tester = new TestUseOption();
|
|
|
|
tester.runTests();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
void test1() {
|
|
|
|
javadoc("-d", "out-1",
|
|
|
|
"-sourcepath", testSrc,
|
|
|
|
"-use",
|
|
|
|
"pkg1", "pkg2");
|
|
|
|
checkExit(Exit.OK);
|
|
|
|
|
|
|
|
// Eight tests for class use.
|
|
|
|
for (int i = 1; i <= 8; i++) {
|
|
|
|
checkOutput("pkg1/class-use/C1.html", true,
|
|
|
|
"Test " + i + " passes");
|
|
|
|
}
|
|
|
|
|
|
|
|
// Three more tests for package use.
|
|
|
|
for (int i = 1; i <= 3; i++) {
|
|
|
|
checkOutput("pkg1/package-use.html", true,
|
|
|
|
"Test " + i + " passes");
|
|
|
|
}
|
|
|
|
|
|
|
|
checkOrder("pkg1/class-use/UsedClass.html",
|
|
|
|
"Field in C1.",
|
|
|
|
"Field in C2.",
|
|
|
|
"Field in C4.",
|
|
|
|
"Field in C5.",
|
|
|
|
"Field in C6.",
|
|
|
|
"Field in C7.",
|
|
|
|
"Field in C8.",
|
|
|
|
"Method in C1.",
|
|
|
|
"Method in C2.",
|
|
|
|
"Method in C4.",
|
|
|
|
"Method in C5.",
|
|
|
|
"Method in C6.",
|
|
|
|
"Method in C7.",
|
|
|
|
"Method in C8."
|
|
|
|
);
|
|
|
|
|
|
|
|
checkOutput("pkg2/class-use/C3.html", true,
|
|
|
|
"<a href=\"../../index.html?pkg2/class-use/C3.html\" target=\"_top\">"
|
|
|
|
+ "Frames</a></li>"
|
|
|
|
);
|
|
|
|
checkOutput("pkg1/class-use/UsedClass.html", true,
|
|
|
|
"that return types with arguments of type"
|
|
|
|
);
|
|
|
|
checkOutput("pkg1/class-use/UsedClass.html", true,
|
2018-01-22 19:15:51 +00:00
|
|
|
"<a href=\"../C1.html#methodInC1ReturningType--\">methodInC1ReturningType</a>"
|
2015-11-29 02:52:17 +00:00
|
|
|
);
|
|
|
|
checkOutput("pkg1/class-use/UsedInterface.html", true,
|
2018-01-22 19:15:51 +00:00
|
|
|
"Classes in <a href=\"../package-summary.html\">pkg1</a> that implement " +
|
|
|
|
"<a href=\"../UsedInterface.html\" title=\"interface in pkg1\">UsedInterface</a>"
|
2015-11-29 02:52:17 +00:00
|
|
|
);
|
|
|
|
checkOutput("pkg1/class-use/UsedInterfaceA.html", true,
|
2018-01-22 19:15:51 +00:00
|
|
|
"Classes in <a href=\"../package-summary.html\">pkg1</a> that implement " +
|
|
|
|
"<a href=\"../UsedInterfaceA.html\" title=\"interface in pkg1\">UsedInterfaceA</a>"
|
2015-11-29 02:52:17 +00:00
|
|
|
);
|
|
|
|
checkOutput("pkg1/class-use/UsedClass.html", false,
|
|
|
|
"methodInC1Protected"
|
|
|
|
);
|
|
|
|
checkOutput("pkg1/class-use/UsedInterface.html", true,
|
2018-01-22 19:15:51 +00:00
|
|
|
"<a href=\"../AnAbstract.html\" title=\"class in pkg1\">AnAbstract</a>"
|
2015-11-29 02:52:17 +00:00
|
|
|
);
|
|
|
|
checkOutput("pkg1/class-use/UsedInterface.html", true,
|
2018-01-22 19:15:51 +00:00
|
|
|
"../C10.html#withReturningTypeParameters--"
|
2015-11-29 02:52:17 +00:00
|
|
|
);
|
|
|
|
checkOutput("pkg1/class-use/UsedInterface.html", true,
|
2018-01-22 19:15:51 +00:00
|
|
|
"../C10.html#withTypeParametersOfType-java.lang.Class-"
|
2015-11-29 02:52:17 +00:00
|
|
|
);
|
|
|
|
checkOutput("pkg1/class-use/UsedInterface.html", true,
|
2018-01-22 19:15:51 +00:00
|
|
|
"\"../package-summary.html\">pkg1</a> that return " +
|
|
|
|
"<a href=\"../UsedInterface.html\" title=\"interface in pkg1\""
|
2015-11-29 02:52:17 +00:00
|
|
|
);
|
|
|
|
checkOutput("pkg1/class-use/UsedInterface.html", true,
|
2018-01-22 19:15:51 +00:00
|
|
|
"<a href=\"../C10.html#addAll-pkg1.UsedInterface...-\">addAll</a>"
|
2015-11-29 02:52:17 +00:00
|
|
|
);
|
|
|
|
checkOutput("pkg1/class-use/UsedInterface.html", true,
|
2018-01-22 19:15:51 +00:00
|
|
|
"<a href=\"../C10.html#create-pkg1.UsedInterfaceA-pkg1." +
|
2015-11-29 02:52:17 +00:00
|
|
|
"UsedInterface-java.lang.String-\">"
|
|
|
|
);
|
|
|
|
checkOutput("pkg1/class-use/UsedInterface.html", true,
|
2018-01-22 19:15:51 +00:00
|
|
|
"<a href=\"../C10.html#withTypeParametersOfType-java.lang.Class-\">" +
|
2015-11-29 02:52:17 +00:00
|
|
|
"withTypeParametersOfType</a>"
|
|
|
|
);
|
2016-03-14 22:04:57 +00:00
|
|
|
checkOutput("pkg1/class-use/UsedInterface.html", true,
|
2018-01-22 19:15:51 +00:00
|
|
|
"Subinterfaces of <a href=\"../UsedInterface.html\" title=\"interface in pkg1\">"
|
|
|
|
+ "UsedInterface</a> in <a href=\"../package-summary.html\">pkg1",
|
2016-09-22 01:18:50 +00:00
|
|
|
"<td class=\"colFirst\"><code>interface </code></td>\n<th class=\"colSecond\" scope=\"row\">"
|
2018-01-22 19:15:51 +00:00
|
|
|
+ "<code><span class=\"memberNameLink\"><a href=\"../SubInterface.html\" "
|
2016-09-22 01:18:50 +00:00
|
|
|
+ "title=\"interface in pkg1\">SubInterface</a><T></span></code></th>"
|
2016-03-14 22:04:57 +00:00
|
|
|
);
|
|
|
|
checkOutput("pkg1/class-use/UsedThrowable.html", true,
|
2018-01-22 19:15:51 +00:00
|
|
|
"Methods in <a href=\"../package-summary.html\">pkg1</a> that throw "
|
|
|
|
+ "<a href=\"../UsedThrowable.html\" title=\"class in pkg1\">UsedThrowable</a>",
|
2016-09-22 01:18:50 +00:00
|
|
|
"<td class=\"colFirst\"><code>void</code></td>\n<th class=\"colSecond\" scope=\"row\"><span class="
|
2016-03-14 22:04:57 +00:00
|
|
|
+ "\"typeNameLabel\">C1.</span><code><span class=\"memberNameLink\">"
|
2018-01-22 19:15:51 +00:00
|
|
|
+ "<a href=\"../C1.html#methodInC1ThrowsThrowable--\">methodInC1ThrowsThrowable"
|
2017-09-27 23:47:07 +00:00
|
|
|
+ "</a></span>()</code></th>"
|
2016-03-14 22:04:57 +00:00
|
|
|
);
|
2015-11-29 02:52:17 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
void test2() {
|
|
|
|
javadoc("-d", "out-2",
|
|
|
|
"-sourcepath", testSrc,
|
|
|
|
"-use",
|
2016-03-14 22:04:57 +00:00
|
|
|
testSrc("C.java"), testSrc("UsedInC.java"), "pkg3");
|
2015-11-29 02:52:17 +00:00
|
|
|
checkExit(Exit.OK);
|
|
|
|
|
|
|
|
checkOutput("class-use/UsedInC.html", true,
|
|
|
|
"Uses of <a href=\"../UsedInC.html\" title=\"class in <Unnamed>\">"
|
|
|
|
+ "UsedInC</a> in <a href=\"../package-summary.html\"><Unnamed></a>"
|
|
|
|
);
|
|
|
|
checkOutput("class-use/UsedInC.html", true,
|
|
|
|
"<li class=\"blockList\"><a name=\"unnamed.package\">"
|
|
|
|
);
|
|
|
|
checkOutput("package-use.html", true,
|
2016-09-22 01:18:50 +00:00
|
|
|
"<th class=\"colFirst\" scope=\"row\">"
|
|
|
|
+ "<a href=\"class-use/UsedInC.html#unnamed.package\">UsedInC</a></th>",
|
|
|
|
"<th class=\"colFirst\" scope=\"row\"><a href=\"#-Unnamed-\"><Unnamed></a></th>\n"
|
2016-03-14 22:04:57 +00:00
|
|
|
+ "<td class=\"colLast\"> </td>"
|
2015-11-29 02:52:17 +00:00
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
void test3() {
|
|
|
|
javadoc("-d", "out-3",
|
|
|
|
"-sourcepath", testSrc,
|
|
|
|
"-use",
|
|
|
|
"-package", "unique");
|
|
|
|
checkExit(Exit.OK);
|
|
|
|
checkUnique("unique/class-use/UseMe.html",
|
2018-01-22 19:15:51 +00:00
|
|
|
"<a href=\"../C1.html#umethod1-unique.UseMe-unique.UseMe:A-\">",
|
|
|
|
"<a href=\"../C1.html#umethod2-unique.UseMe-unique.UseMe-\">",
|
|
|
|
"<a href=\"../C1.html#umethod3-unique.UseMe-unique.UseMe-\">",
|
|
|
|
"<a href=\"../C1.html#C1-unique.UseMe-unique.UseMe-\">");
|
2015-11-29 02:52:17 +00:00
|
|
|
}
|
|
|
|
}
|