8215599: Remove support for javadoc "frames" mode
Reviewed-by: jjg
This commit is contained in:
parent
0eadf53694
commit
2ace3e69e6
@ -44,9 +44,7 @@ import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException;
|
|||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
|
import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Abstract class to generate the module overview files in
|
* Abstract class to generate the module overview files.
|
||||||
* Frame and Non-Frame format. This will be sub-classed to
|
|
||||||
* generate module-overview-frame.html as well as module-overview-summary.html.
|
|
||||||
*
|
*
|
||||||
* <p><b>This is NOT part of any supported API.
|
* <p><b>This is NOT part of any supported API.
|
||||||
* If you write code that depends on this, you do so at your own risk.
|
* If you write code that depends on this, you do so at your own risk.
|
||||||
@ -118,19 +116,16 @@ public abstract class AbstractModuleIndexWriter extends HtmlDocletWriter {
|
|||||||
String tableSummary, Content main, ModuleElement mdle);
|
String tableSummary, Content main, ModuleElement mdle);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate and prints the contents in the module index file. Call appropriate
|
* Generate and prints the contents in the module index file.
|
||||||
* methods from the sub-class in order to generate Frame or Non
|
|
||||||
* Frame format.
|
|
||||||
*
|
*
|
||||||
* @param title the title of the window
|
* @param title the title of the window
|
||||||
* @param description the content for the description META tag
|
* @param description the content for the description META tag
|
||||||
* @param includeScript boolean set true if windowtitle script is to be included
|
|
||||||
* @throws DocFileIOException if there is a problem building the module index file
|
* @throws DocFileIOException if there is a problem building the module index file
|
||||||
*/
|
*/
|
||||||
protected void buildModuleIndexFile(String title, String description, boolean includeScript)
|
protected void buildModuleIndexFile(String title, String description)
|
||||||
throws DocFileIOException {
|
throws DocFileIOException {
|
||||||
String windowOverview = resources.getText(title);
|
String windowOverview = resources.getText(title);
|
||||||
Content body = getBody(includeScript, getWindowTitle(windowOverview));
|
Content body = getBody(getWindowTitle(windowOverview));
|
||||||
Content header = HtmlTree.HEADER();
|
Content header = HtmlTree.HEADER();
|
||||||
addNavigationBarHeader(header);
|
addNavigationBarHeader(header);
|
||||||
Content main = HtmlTree.MAIN();
|
Content main = HtmlTree.MAIN();
|
||||||
@ -149,20 +144,17 @@ public abstract class AbstractModuleIndexWriter extends HtmlDocletWriter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate and prints the contents in the module packages index file. Call appropriate
|
* Generate and prints the contents in the module packages index file.
|
||||||
* methods from the sub-class in order to generate Frame or Non
|
|
||||||
* Frame format.
|
|
||||||
*
|
*
|
||||||
* @param title the title of the window.
|
* @param title the title of the window.
|
||||||
* @param description the content for the description META tag
|
* @param description the content for the description META tag
|
||||||
* @param includeScript boolean set true if windowtitle script is to be included
|
|
||||||
* @param mdle the name of the module being documented
|
* @param mdle the name of the module being documented
|
||||||
* @throws DocFileIOException if there is an exception building the module packages index file
|
* @throws DocFileIOException if there is an exception building the module packages index file
|
||||||
*/
|
*/
|
||||||
protected void buildModulePackagesIndexFile(String title, String description,
|
protected void buildModulePackagesIndexFile(String title, String description,
|
||||||
boolean includeScript, ModuleElement mdle) throws DocFileIOException {
|
ModuleElement mdle) throws DocFileIOException {
|
||||||
String windowOverview = resources.getText(title);
|
String windowOverview = resources.getText(title);
|
||||||
Content body = getBody(includeScript, getWindowTitle(windowOverview));
|
Content body = getBody(getWindowTitle(windowOverview));
|
||||||
Content header = HtmlTree.HEADER();
|
Content header = HtmlTree.HEADER();
|
||||||
addNavigationBarHeader(header);
|
addNavigationBarHeader(header);
|
||||||
Content main = HtmlTree.MAIN();
|
Content main = HtmlTree.MAIN();
|
||||||
@ -188,7 +180,7 @@ public abstract class AbstractModuleIndexWriter extends HtmlDocletWriter {
|
|||||||
protected void addOverview(Content main) { }
|
protected void addOverview(Content main) { }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds the frame or non-frame module index to the documentation tree.
|
* Adds the module index to the documentation tree.
|
||||||
*
|
*
|
||||||
* @param header the document tree to which the navigational links will be added
|
* @param header the document tree to which the navigational links will be added
|
||||||
* @param main the document tree to which the modules list will be added
|
* @param main the document tree to which the modules list will be added
|
||||||
@ -201,7 +193,7 @@ public abstract class AbstractModuleIndexWriter extends HtmlDocletWriter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds the frame or non-frame module packages index to the documentation tree.
|
* Adds the module packages index to the documentation tree.
|
||||||
*
|
*
|
||||||
* @param header the document tree to which the navigational links will be added
|
* @param header the document tree to which the navigational links will be added
|
||||||
* @param main the document tree to which the module packages list will be added
|
* @param main the document tree to which the module packages list will be added
|
||||||
@ -226,13 +218,6 @@ public abstract class AbstractModuleIndexWriter extends HtmlDocletWriter {
|
|||||||
*/
|
*/
|
||||||
protected void addIndexContents(Collection<ModuleElement> modules, String text,
|
protected void addIndexContents(Collection<ModuleElement> modules, String text,
|
||||||
String tableSummary, Content header, Content main) {
|
String tableSummary, Content header, Content main) {
|
||||||
HtmlTree htmlTree = HtmlTree.NAV();
|
|
||||||
htmlTree.setStyle(HtmlStyle.indexNav);
|
|
||||||
HtmlTree ul = new HtmlTree(HtmlTag.UL);
|
|
||||||
addAllClassesLink(ul);
|
|
||||||
addAllPackagesLink(ul);
|
|
||||||
htmlTree.add(ul);
|
|
||||||
header.add(htmlTree);
|
|
||||||
addModulesList(main);
|
addModulesList(main);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -248,14 +233,6 @@ public abstract class AbstractModuleIndexWriter extends HtmlDocletWriter {
|
|||||||
*/
|
*/
|
||||||
protected void addModulePackagesIndexContents(String text,
|
protected void addModulePackagesIndexContents(String text,
|
||||||
String tableSummary, Content header, Content main, ModuleElement mdle) {
|
String tableSummary, Content header, Content main, ModuleElement mdle) {
|
||||||
HtmlTree htmlTree = HtmlTree.NAV();
|
|
||||||
htmlTree.setStyle(HtmlStyle.indexNav);
|
|
||||||
HtmlTree ul = new HtmlTree(HtmlTag.UL);
|
|
||||||
addAllClassesLink(ul);
|
|
||||||
addAllPackagesLink(ul);
|
|
||||||
addAllModulesLink(ul);
|
|
||||||
htmlTree.add(ul);
|
|
||||||
header.add(htmlTree);
|
|
||||||
addModulePackagesList(modules, text, tableSummary, main, mdle);
|
addModulePackagesList(modules, text, tableSummary, main, mdle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -273,25 +250,4 @@ public abstract class AbstractModuleIndexWriter extends HtmlDocletWriter {
|
|||||||
body.add(div);
|
body.add(div);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Do nothing. This will be overridden in ModuleIndexFrameWriter.
|
|
||||||
*
|
|
||||||
* @param div the document tree to which the all classes link will be added
|
|
||||||
*/
|
|
||||||
protected void addAllClassesLink(Content div) { }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Do nothing. This will be overridden in ModuleIndexFrameWriter.
|
|
||||||
*
|
|
||||||
* @param div the document tree to which the all packages link will be added
|
|
||||||
*/
|
|
||||||
protected void addAllPackagesLink(Content div) { }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Do nothing. This will be overridden in ModulePackageIndexFrameWriter.
|
|
||||||
*
|
|
||||||
* @param div the document tree to which the all modules link will be added
|
|
||||||
*/
|
|
||||||
protected void addAllModulesLink(Content div) { }
|
|
||||||
}
|
}
|
||||||
|
@ -40,9 +40,8 @@ import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException;
|
|||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
|
import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Abstract class to generate the overview files in
|
* Abstract class to generate the overview files. This will be sub-classed to
|
||||||
* Frame and Non-Frame format. This will be sub-classed by to
|
* generate overview-summary.html.
|
||||||
* generate overview-frame.html as well as overview-summary.html.
|
|
||||||
*
|
*
|
||||||
* <p><b>This is NOT part of any supported API.
|
* <p><b>This is NOT part of any supported API.
|
||||||
* If you write code that depends on this, you do so at your own risk.
|
* If you write code that depends on this, you do so at your own risk.
|
||||||
@ -103,19 +102,16 @@ public abstract class AbstractPackageIndexWriter extends HtmlDocletWriter {
|
|||||||
protected abstract void addPackagesList(Content main);
|
protected abstract void addPackagesList(Content main);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate and prints the contents in the package index file. Call appropriate
|
* Generate and prints the contents in the package index file.
|
||||||
* methods from the sub-class in order to generate Frame or Non
|
|
||||||
* Frame format.
|
|
||||||
*
|
*
|
||||||
* @param title the title of the window
|
* @param title the title of the window
|
||||||
* @param description the content for the description META tag
|
* @param description the content for the description META tag
|
||||||
* @param includeScript boolean set true if windowtitle script is to be included
|
|
||||||
* @throws DocFileIOException if there is a problem building the package index file
|
* @throws DocFileIOException if there is a problem building the package index file
|
||||||
*/
|
*/
|
||||||
protected void buildPackageIndexFile(String title, String description, boolean includeScript)
|
protected void buildPackageIndexFile(String title, String description)
|
||||||
throws DocFileIOException {
|
throws DocFileIOException {
|
||||||
String windowOverview = resources.getText(title);
|
String windowOverview = resources.getText(title);
|
||||||
Content body = getBody(includeScript, getWindowTitle(windowOverview));
|
Content body = getBody(getWindowTitle(windowOverview));
|
||||||
Content header = HtmlTree.HEADER();
|
Content header = HtmlTree.HEADER();
|
||||||
addNavigationBarHeader(header);
|
addNavigationBarHeader(header);
|
||||||
Content main = HtmlTree.MAIN();
|
Content main = HtmlTree.MAIN();
|
||||||
@ -140,7 +136,7 @@ public abstract class AbstractPackageIndexWriter extends HtmlDocletWriter {
|
|||||||
protected void addOverview(Content main) { }
|
protected void addOverview(Content main) { }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds the frame or non-frame package index to the documentation tree.
|
* Adds the package index to the documentation tree.
|
||||||
*
|
*
|
||||||
* @param header the document tree to which the navigation links will be added
|
* @param header the document tree to which the navigation links will be added
|
||||||
* @param main the document tree to which the packages list will be added
|
* @param main the document tree to which the packages list will be added
|
||||||
|
@ -1,169 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 1998, 2019, 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. Oracle designates this
|
|
||||||
* particular file as subject to the "Classpath" exception as provided
|
|
||||||
* by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
*
|
|
||||||
* 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 jdk.javadoc.internal.doclets.formats.html;
|
|
||||||
|
|
||||||
|
|
||||||
import javax.lang.model.element.Element;
|
|
||||||
import javax.lang.model.element.TypeElement;
|
|
||||||
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.IndexBuilder;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generate the file with list of all the classes in this run. This page will be
|
|
||||||
* used in the left-hand bottom frame, when "All Classes" link is clicked in
|
|
||||||
* the left-hand top frame. The name of the generated file is
|
|
||||||
* "allclasses-frame.html".
|
|
||||||
*
|
|
||||||
* <p><b>This is NOT part of any supported API.
|
|
||||||
* If you write code that depends on this, you do so at your own risk.
|
|
||||||
* This code and its internal interfaces are subject to change or
|
|
||||||
* deletion without notice.</b>
|
|
||||||
*
|
|
||||||
* @author Atul M Dambalkar
|
|
||||||
* @author Doug Kramer
|
|
||||||
* @author Bhavesh Patel (Modified)
|
|
||||||
*/
|
|
||||||
public class AllClassesFrameWriter extends HtmlDocletWriter {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Index of all the classes.
|
|
||||||
*/
|
|
||||||
protected IndexBuilder indexbuilder;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* BR tag to be used within a document tree.
|
|
||||||
*/
|
|
||||||
final HtmlTree BR = new HtmlTree(HtmlTag.BR);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Construct AllClassesFrameWriter object. Also initializes the indexbuilder
|
|
||||||
* variable in this class.
|
|
||||||
* @param configuration The current configuration
|
|
||||||
* @param filename Path to the file which is getting generated.
|
|
||||||
* @param indexbuilder Unicode based Index from {@link IndexBuilder}
|
|
||||||
*/
|
|
||||||
public AllClassesFrameWriter(HtmlConfiguration configuration,
|
|
||||||
DocPath filename, IndexBuilder indexbuilder) {
|
|
||||||
super(configuration, filename);
|
|
||||||
this.indexbuilder = indexbuilder;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create AllClassesFrameWriter object. Then use it to generate the
|
|
||||||
* "allclasses-frame.html" file. Generate the file in the current or the
|
|
||||||
* destination directory.
|
|
||||||
*
|
|
||||||
* @param configuration the configuration for this javadoc run
|
|
||||||
* @throws DocFileIOException
|
|
||||||
*/
|
|
||||||
public static void generate(HtmlConfiguration configuration,
|
|
||||||
IndexBuilder indexBuilder) throws DocFileIOException {
|
|
||||||
if (configuration.frames) {
|
|
||||||
generate(configuration, indexBuilder, DocPaths.ALLCLASSES_FRAME, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void generate(HtmlConfiguration configuration, IndexBuilder indexBuilder,
|
|
||||||
DocPath fileName, boolean wantFrames) throws DocFileIOException {
|
|
||||||
AllClassesFrameWriter allclassgen = new AllClassesFrameWriter(configuration,
|
|
||||||
fileName, indexBuilder);
|
|
||||||
allclassgen.buildAllClassesFile(wantFrames);
|
|
||||||
allclassgen = new AllClassesFrameWriter(configuration,
|
|
||||||
fileName, indexBuilder);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Print all the classes in the file.
|
|
||||||
* @param wantFrames True if we want frames.
|
|
||||||
*/
|
|
||||||
protected void buildAllClassesFile(boolean wantFrames) throws DocFileIOException {
|
|
||||||
String label = resources.getText("doclet.All_Classes");
|
|
||||||
Content body = getBody(false, getWindowTitle(label));
|
|
||||||
Content htmlTree = HtmlTree.MAIN();
|
|
||||||
Content heading = HtmlTree.HEADING(Headings.PAGE_TITLE_HEADING,
|
|
||||||
HtmlStyle.bar, contents.allClassesLabel);
|
|
||||||
htmlTree.add(heading);
|
|
||||||
Content ul = new HtmlTree(HtmlTag.UL);
|
|
||||||
// Generate the class links and add it to the tdFont tree.
|
|
||||||
addAllClasses(ul, wantFrames);
|
|
||||||
HtmlTree div = HtmlTree.DIV(HtmlStyle.indexContainer, ul);
|
|
||||||
htmlTree.add(div);
|
|
||||||
body.add(htmlTree);
|
|
||||||
printHtmlDocument(null, "all classes (frame)", body);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Use the sorted index of all the classes and add all the classes to the
|
|
||||||
* content list.
|
|
||||||
*
|
|
||||||
* @param content HtmlTree content to which all classes information will be added
|
|
||||||
* @param wantFrames True if we want frames.
|
|
||||||
*/
|
|
||||||
protected void addAllClasses(Content content, boolean wantFrames) {
|
|
||||||
for (Character unicode : indexbuilder.index()) {
|
|
||||||
addContents(indexbuilder.getMemberList(unicode), wantFrames, content);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Given a list of classes, generate links for each class or interface.
|
|
||||||
* If the class kind is interface, print it in the italics font. Also all
|
|
||||||
* links should target the right-hand frame. If clicked on any class name
|
|
||||||
* in this page, appropriate class page should get opened in the right-hand
|
|
||||||
* frame.
|
|
||||||
*
|
|
||||||
* @param classlist Sorted list of classes.
|
|
||||||
* @param wantFrames True if we want frames.
|
|
||||||
* @param content HtmlTree content to which the links will be added
|
|
||||||
*/
|
|
||||||
protected void addContents(Iterable<? extends Element> classlist, boolean wantFrames,
|
|
||||||
Content content) {
|
|
||||||
for (Element element : classlist) {
|
|
||||||
TypeElement typeElement = (TypeElement)element;
|
|
||||||
if (!utils.isCoreClass(typeElement)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
Content label = interfaceName(typeElement, false);
|
|
||||||
Content linkContent;
|
|
||||||
if (wantFrames) {
|
|
||||||
linkContent = getLink(new LinkInfoImpl(configuration,
|
|
||||||
LinkInfoImpl.Kind.ALL_CLASSES_FRAME, typeElement).label(label).target("classFrame"));
|
|
||||||
} else {
|
|
||||||
linkContent = getLink(new LinkInfoImpl(configuration, LinkInfoImpl.Kind.DEFAULT, typeElement).label(label));
|
|
||||||
}
|
|
||||||
Content li = HtmlTree.LI(linkContent);
|
|
||||||
content.add(li);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -63,7 +63,7 @@ public class AllClassesIndexWriter extends HtmlDocletWriter {
|
|||||||
private final Navigation navBar;
|
private final Navigation navBar;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct AllClassesFrameWriter object. Also initializes the indexbuilder variable in this
|
* Construct AllClassesIndexWriter object. Also initializes the indexbuilder variable in this
|
||||||
* class.
|
* class.
|
||||||
*
|
*
|
||||||
* @param configuration The current configuration
|
* @param configuration The current configuration
|
||||||
@ -101,7 +101,7 @@ public class AllClassesIndexWriter extends HtmlDocletWriter {
|
|||||||
*/
|
*/
|
||||||
protected void buildAllClassesFile() throws DocFileIOException {
|
protected void buildAllClassesFile() throws DocFileIOException {
|
||||||
String label = resources.getText("doclet.All_Classes");
|
String label = resources.getText("doclet.All_Classes");
|
||||||
HtmlTree bodyTree = getBody(true, getWindowTitle(label));
|
HtmlTree bodyTree = getBody(getWindowTitle(label));
|
||||||
HtmlTree header = HtmlTree.HEADER();
|
HtmlTree header = HtmlTree.HEADER();
|
||||||
addTop(header);
|
addTop(header);
|
||||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||||
|
@ -83,7 +83,7 @@ public class AllPackagesIndexWriter extends HtmlDocletWriter {
|
|||||||
*/
|
*/
|
||||||
protected void buildAllPackagesFile() throws DocFileIOException {
|
protected void buildAllPackagesFile() throws DocFileIOException {
|
||||||
String label = resources.getText("doclet.All_Packages");
|
String label = resources.getText("doclet.All_Packages");
|
||||||
HtmlTree bodyTree = getBody(true, getWindowTitle(label));
|
HtmlTree bodyTree = getBody(getWindowTitle(label));
|
||||||
HtmlTree header = HtmlTree.HEADER();
|
HtmlTree header = HtmlTree.HEADER();
|
||||||
addTop(header);
|
addTop(header);
|
||||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||||
|
@ -84,7 +84,7 @@ public class AnnotationTypeWriterImpl extends SubWriterHolderWriter
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Content getHeader(String header) {
|
public Content getHeader(String header) {
|
||||||
HtmlTree bodyTree = getBody(true, getWindowTitle(utils.getSimpleName(annotationType)));
|
HtmlTree bodyTree = getBody(getWindowTitle(utils.getSimpleName(annotationType)));
|
||||||
HtmlTree htmlTree = HtmlTree.HEADER();
|
HtmlTree htmlTree = HtmlTree.HEADER();
|
||||||
addTop(htmlTree);
|
addTop(htmlTree);
|
||||||
Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(annotationType),
|
Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(annotationType),
|
||||||
|
@ -434,7 +434,7 @@ public class ClassUseWriter extends SubWriterHolderWriter {
|
|||||||
String clname = utils.getFullyQualifiedName(typeElement);
|
String clname = utils.getFullyQualifiedName(typeElement);
|
||||||
String title = resources.getText("doclet.Window_ClassUse_Header",
|
String title = resources.getText("doclet.Window_ClassUse_Header",
|
||||||
cltype, clname);
|
cltype, clname);
|
||||||
HtmlTree bodyTree = getBody(true, getWindowTitle(title));
|
HtmlTree bodyTree = getBody(getWindowTitle(title));
|
||||||
HtmlTree htmlTree = HtmlTree.HEADER();
|
HtmlTree htmlTree = HtmlTree.HEADER();
|
||||||
addTop(htmlTree);
|
addTop(htmlTree);
|
||||||
Content mdleLinkContent = getModuleLink(utils.elementUtils.getModuleOf(typeElement),
|
Content mdleLinkContent = getModuleLink(utils.elementUtils.getModuleOf(typeElement),
|
||||||
|
@ -105,7 +105,7 @@ public class ClassWriterImpl extends SubWriterHolderWriter implements ClassWrite
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Content getHeader(String header) {
|
public Content getHeader(String header) {
|
||||||
HtmlTree bodyTree = getBody(true, getWindowTitle(utils.getSimpleName(typeElement)));
|
HtmlTree bodyTree = getBody(getWindowTitle(utils.getSimpleName(typeElement)));
|
||||||
HtmlTree htmlTree = HtmlTree.HEADER();
|
HtmlTree htmlTree = HtmlTree.HEADER();
|
||||||
addTop(htmlTree);
|
addTop(htmlTree);
|
||||||
Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(typeElement),
|
Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(typeElement),
|
||||||
|
@ -105,7 +105,7 @@ public class ConstantsSummaryWriterImpl extends HtmlDocletWriter implements Cons
|
|||||||
@Override
|
@Override
|
||||||
public Content getHeader() {
|
public Content getHeader() {
|
||||||
String label = resources.getText("doclet.Constants_Summary");
|
String label = resources.getText("doclet.Constants_Summary");
|
||||||
HtmlTree bodyTree = getBody(true, getWindowTitle(label));
|
HtmlTree bodyTree = getBody(getWindowTitle(label));
|
||||||
HtmlTree htmlTree = HtmlTree.HEADER();
|
HtmlTree htmlTree = HtmlTree.HEADER();
|
||||||
addTop(htmlTree);
|
addTop(htmlTree);
|
||||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||||
|
@ -369,7 +369,7 @@ public class DeprecatedListWriter extends SubWriterHolderWriter {
|
|||||||
*/
|
*/
|
||||||
public HtmlTree getHeader() {
|
public HtmlTree getHeader() {
|
||||||
String title = resources.getText("doclet.Window_Deprecated_List");
|
String title = resources.getText("doclet.Window_Deprecated_List");
|
||||||
HtmlTree bodyTree = getBody(true, getWindowTitle(title));
|
HtmlTree bodyTree = getBody(getWindowTitle(title));
|
||||||
HtmlTree htmlTree = HtmlTree.HEADER();
|
HtmlTree htmlTree = HtmlTree.HEADER();
|
||||||
addTop(htmlTree);
|
addTop(htmlTree);
|
||||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||||
|
@ -179,7 +179,7 @@ public class DocFilesHandlerImpl implements DocFilesHandler {
|
|||||||
Content localTagsContent = docletWriter.commentTagsToContent(null, dfElement, localTags, false);
|
Content localTagsContent = docletWriter.commentTagsToContent(null, dfElement, localTags, false);
|
||||||
|
|
||||||
String title = getWindowTitle(docletWriter, dfElement).trim();
|
String title = getWindowTitle(docletWriter, dfElement).trim();
|
||||||
HtmlTree htmlContent = docletWriter.getBody(true, title);
|
HtmlTree htmlContent = docletWriter.getBody(title);
|
||||||
docletWriter.addTop(htmlContent);
|
docletWriter.addTop(htmlContent);
|
||||||
PackageElement pkg = (PackageElement) element;
|
PackageElement pkg = (PackageElement) element;
|
||||||
this.navBar = new Navigation(pkg, configuration, docletWriter.fixedNavDiv,
|
this.navBar = new Navigation(pkg, configuration, docletWriter.fixedNavDiv,
|
||||||
|
@ -1,272 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 1997, 2019, 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. Oracle designates this
|
|
||||||
* particular file as subject to the "Classpath" exception as provided
|
|
||||||
* by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
*
|
|
||||||
* 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 jdk.javadoc.internal.doclets.formats.html;
|
|
||||||
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.Head;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlAttr;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlDocument;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.Script;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocFile;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generate the documentation in the Html "frame" format in the browser. The
|
|
||||||
* generated documentation will have two or three frames depending upon the
|
|
||||||
* number of packages on the command line. In general there will be three frames
|
|
||||||
* in the output, a left-hand top frame will have a list of all packages with
|
|
||||||
* links to target left-hand bottom frame. The left-hand bottom frame will have
|
|
||||||
* the particular package contents or the all-classes list, where as the single
|
|
||||||
* right-hand frame will have overview or package summary or class file. Also
|
|
||||||
* take care of browsers which do not support Html frames.
|
|
||||||
*
|
|
||||||
* <p><b>This is NOT part of any supported API.
|
|
||||||
* If you write code that depends on this, you do so at your own risk.
|
|
||||||
* This code and its internal interfaces are subject to change or
|
|
||||||
* deletion without notice.</b>
|
|
||||||
*
|
|
||||||
* @author Atul M Dambalkar
|
|
||||||
*/
|
|
||||||
public class FrameOutputWriter extends HtmlDocletWriter {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Number of packages specified on the command line.
|
|
||||||
*/
|
|
||||||
int noOfPackages;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor to construct FrameOutputWriter object.
|
|
||||||
*
|
|
||||||
* @param configuration for this run
|
|
||||||
* @param filename File to be generated.
|
|
||||||
*/
|
|
||||||
public FrameOutputWriter(HtmlConfiguration configuration, DocPath filename) {
|
|
||||||
super(configuration, filename);
|
|
||||||
noOfPackages = configuration.packages.size();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Construct FrameOutputWriter object and then use it to generate the Html
|
|
||||||
* file which will have the description of all the frames in the
|
|
||||||
* documentation. The name of the generated file is "index.html" which is
|
|
||||||
* the default first file for Html documents.
|
|
||||||
* @param configuration the configuration for this doclet
|
|
||||||
* @throws DocFileIOException if there is a problem generating the frame file
|
|
||||||
*/
|
|
||||||
public static void generate(HtmlConfiguration configuration) throws DocFileIOException {
|
|
||||||
FrameOutputWriter framegen = new FrameOutputWriter(configuration, DocPaths.INDEX);
|
|
||||||
framegen.generateFrameFile();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generate the constants in the "index.html" file. Print the frame details
|
|
||||||
* as well as warning if browser is not supporting the Html frames.
|
|
||||||
* @throws DocFileIOException if there is a problem generating the frame file
|
|
||||||
*/
|
|
||||||
protected void generateFrameFile() throws DocFileIOException {
|
|
||||||
Content frame = getFrameDetails();
|
|
||||||
HtmlTree body = new HtmlTree(HtmlTag.BODY);
|
|
||||||
body.put(HtmlAttr.CLASS, "frames");
|
|
||||||
body.put(HtmlAttr.ONLOAD, "loadFrames()");
|
|
||||||
String topFilePath = configuration.topFile.getPath();
|
|
||||||
Script script = new Script(
|
|
||||||
"\nif (targetPage == \"\" || targetPage == \"undefined\")\n" +
|
|
||||||
" window.location.replace(")
|
|
||||||
.appendStringLiteral(topFilePath, '\'')
|
|
||||||
.append(");\n");
|
|
||||||
body.add(script.asContent());
|
|
||||||
Content noScript = HtmlTree.NOSCRIPT(contents.noScriptMessage);
|
|
||||||
body.add(noScript);
|
|
||||||
HtmlTree main = HtmlTree.MAIN(frame);
|
|
||||||
body.add(main);
|
|
||||||
if (configuration.windowtitle.length() > 0) {
|
|
||||||
printFramesDocument(configuration.windowtitle, body);
|
|
||||||
} else {
|
|
||||||
printFramesDocument(resources.getText("doclet.Generated_Docs_Untitled"), body);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Print the frames version of the Html file header.
|
|
||||||
* Called only when generating an HTML frames file.
|
|
||||||
*
|
|
||||||
* @param title Title of this HTML document
|
|
||||||
* @param body the body content tree to be added to the HTML document
|
|
||||||
* @throws DocFileIOException if there is an error writing the frames document
|
|
||||||
*/
|
|
||||||
private void printFramesDocument(String title, HtmlTree body) throws DocFileIOException {
|
|
||||||
Content htmlComment = contents.newPage;
|
|
||||||
Head head = new Head(path, configuration.docletVersion)
|
|
||||||
.setTimestamp(!configuration.notimestamp)
|
|
||||||
.setTitle(title)
|
|
||||||
.setDescription("frames")
|
|
||||||
.setGenerator(getGenerator(getClass()))
|
|
||||||
.setCharset(configuration.charset)
|
|
||||||
.setStylesheets(configuration.getMainStylesheet(), configuration.getAdditionalStylesheets())
|
|
||||||
.addDefaultScript(false)
|
|
||||||
.addScript(getFramesScript());
|
|
||||||
|
|
||||||
Content htmlTree = HtmlTree.HTML(configuration.getLocale().getLanguage(), head.toContent(), body);
|
|
||||||
HtmlDocument htmlDocument = new HtmlDocument(htmlComment, htmlTree);
|
|
||||||
htmlDocument.write(DocFile.createFileForOutput(configuration, path));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the frame sizes and their contents.
|
|
||||||
*
|
|
||||||
* @return a content tree for the frame details
|
|
||||||
*/
|
|
||||||
protected Content getFrameDetails() {
|
|
||||||
HtmlTree leftContainerDiv = new HtmlTree(HtmlTag.DIV);
|
|
||||||
HtmlTree rightContainerDiv = new HtmlTree(HtmlTag.DIV);
|
|
||||||
leftContainerDiv.setStyle(HtmlStyle.leftContainer);
|
|
||||||
rightContainerDiv.setStyle(HtmlStyle.rightContainer);
|
|
||||||
if (configuration.showModules && configuration.modules.size() > 1) {
|
|
||||||
addAllModulesFrameTag(leftContainerDiv);
|
|
||||||
} else if (noOfPackages > 1) {
|
|
||||||
addAllPackagesFrameTag(leftContainerDiv);
|
|
||||||
}
|
|
||||||
addAllClassesFrameTag(leftContainerDiv);
|
|
||||||
addClassFrameTag(rightContainerDiv);
|
|
||||||
HtmlTree mainContainer = HtmlTree.DIV(HtmlStyle.mainContainer, leftContainerDiv);
|
|
||||||
mainContainer.add(rightContainerDiv);
|
|
||||||
return mainContainer;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the IFRAME tag for the frame that lists all modules.
|
|
||||||
*
|
|
||||||
* @param contentTree to which the information will be added
|
|
||||||
*/
|
|
||||||
private void addAllModulesFrameTag(Content contentTree) {
|
|
||||||
HtmlTree frame = HtmlTree.IFRAME(DocPaths.MODULE_OVERVIEW_FRAME.getPath(),
|
|
||||||
"packageListFrame", resources.getText("doclet.All_Modules"));
|
|
||||||
HtmlTree leftTop = HtmlTree.DIV(HtmlStyle.leftTop, frame);
|
|
||||||
contentTree.add(leftTop);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the IFRAME tag for the frame that lists all packages.
|
|
||||||
*
|
|
||||||
* @param contentTree the content tree to which the information will be added
|
|
||||||
*/
|
|
||||||
private void addAllPackagesFrameTag(Content contentTree) {
|
|
||||||
HtmlTree frame = HtmlTree.IFRAME(DocPaths.OVERVIEW_FRAME.getPath(),
|
|
||||||
"packageListFrame", resources.getText("doclet.All_Packages"));
|
|
||||||
HtmlTree leftTop = HtmlTree.DIV(HtmlStyle.leftTop, frame);
|
|
||||||
contentTree.add(leftTop);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the IFRAME tag for the frame that lists all classes.
|
|
||||||
*
|
|
||||||
* @param contentTree the content tree to which the information will be added
|
|
||||||
*/
|
|
||||||
private void addAllClassesFrameTag(Content contentTree) {
|
|
||||||
HtmlTree frame = HtmlTree.IFRAME(DocPaths.ALLCLASSES_FRAME.getPath(),
|
|
||||||
"packageFrame", resources.getText("doclet.All_classes_and_interfaces"));
|
|
||||||
HtmlTree leftBottom = HtmlTree.DIV(HtmlStyle.leftBottom, frame);
|
|
||||||
contentTree.add(leftBottom);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the IFRAME tag for the frame that describes the class in detail.
|
|
||||||
*
|
|
||||||
* @param contentTree the content tree to which the information will be added
|
|
||||||
*/
|
|
||||||
private void addClassFrameTag(Content contentTree) {
|
|
||||||
HtmlTree frame = HtmlTree.IFRAME(configuration.topFile.getPath(), "classFrame",
|
|
||||||
resources.getText("doclet.Package_class_and_interface_descriptions"));
|
|
||||||
frame.setStyle(HtmlStyle.rightIframe);
|
|
||||||
contentTree.add(frame);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns a content tree for the SCRIPT tag for the main page(index.html).
|
|
||||||
*
|
|
||||||
* @return a content for the SCRIPT tag
|
|
||||||
*/
|
|
||||||
protected Script getFramesScript() {
|
|
||||||
return new Script("\n" +
|
|
||||||
" tmpTargetPage = \"\" + window.location.search;\n" +
|
|
||||||
" if (tmpTargetPage != \"\" && tmpTargetPage != \"undefined\")\n" +
|
|
||||||
" tmpTargetPage = tmpTargetPage.substring(1);\n" +
|
|
||||||
" if (tmpTargetPage.indexOf(\":\") != -1 || (tmpTargetPage != \"\" && !validURL(tmpTargetPage)))\n" +
|
|
||||||
" tmpTargetPage = \"undefined\";\n" +
|
|
||||||
" targetPage = tmpTargetPage;\n" +
|
|
||||||
" function validURL(url) {\n" +
|
|
||||||
" try {\n" +
|
|
||||||
" url = decodeURIComponent(url);\n" +
|
|
||||||
" }\n" +
|
|
||||||
" catch (error) {\n" +
|
|
||||||
" return false;\n" +
|
|
||||||
" }\n" +
|
|
||||||
" var pos = url.indexOf(\".html\");\n" +
|
|
||||||
" if (pos == -1 || pos != url.length - 5)\n" +
|
|
||||||
" return false;\n" +
|
|
||||||
" var allowNumber = false;\n" +
|
|
||||||
" var allowSep = false;\n" +
|
|
||||||
" var seenDot = false;\n" +
|
|
||||||
" for (var i = 0; i < url.length - 5; i++) {\n" +
|
|
||||||
" var ch = url.charAt(i);\n" +
|
|
||||||
" if ('a' <= ch && ch <= 'z' ||\n" +
|
|
||||||
" 'A' <= ch && ch <= 'Z' ||\n" +
|
|
||||||
" ch == '$' ||\n" +
|
|
||||||
" ch == '_' ||\n" +
|
|
||||||
" ch.charCodeAt(0) > 127) {\n" +
|
|
||||||
" allowNumber = true;\n" +
|
|
||||||
" allowSep = true;\n" +
|
|
||||||
" } else if ('0' <= ch && ch <= '9'\n" +
|
|
||||||
" || ch == '-') {\n" +
|
|
||||||
" if (!allowNumber)\n" +
|
|
||||||
" return false;\n" +
|
|
||||||
" } else if (ch == '/' || ch == '.') {\n" +
|
|
||||||
" if (!allowSep)\n" +
|
|
||||||
" return false;\n" +
|
|
||||||
" allowNumber = false;\n" +
|
|
||||||
" allowSep = false;\n" +
|
|
||||||
" if (ch == '.')\n" +
|
|
||||||
" seenDot = true;\n" +
|
|
||||||
" if (ch == '/' && seenDot)\n" +
|
|
||||||
" return false;\n" +
|
|
||||||
" } else {\n" +
|
|
||||||
" return false;\n" +
|
|
||||||
" }\n" +
|
|
||||||
" }\n" +
|
|
||||||
" return true;\n" +
|
|
||||||
" }\n" +
|
|
||||||
" function loadFrames() {\n" +
|
|
||||||
" if (targetPage != \"\" && targetPage != \"undefined\")\n" +
|
|
||||||
" top.classFrame.location = top.targetPage;\n" +
|
|
||||||
" }\n");
|
|
||||||
}
|
|
||||||
}
|
|
@ -87,7 +87,7 @@ public class HelpWriter extends HtmlDocletWriter {
|
|||||||
*/
|
*/
|
||||||
protected void generateHelpFile() throws DocFileIOException {
|
protected void generateHelpFile() throws DocFileIOException {
|
||||||
String title = resources.getText("doclet.Window_Help_title");
|
String title = resources.getText("doclet.Window_Help_title");
|
||||||
HtmlTree body = getBody(true, getWindowTitle(title));
|
HtmlTree body = getBody(getWindowTitle(title));
|
||||||
HtmlTree htmlTree = HtmlTree.HEADER();
|
HtmlTree htmlTree = HtmlTree.HEADER();
|
||||||
addTop(htmlTree);
|
addTop(htmlTree);
|
||||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||||
@ -132,8 +132,7 @@ public class HelpWriter extends HtmlDocletWriter {
|
|||||||
? "doclet.help.overview.modules.body"
|
? "doclet.help.overview.modules.body"
|
||||||
: "doclet.help.overview.packages.body";
|
: "doclet.help.overview.packages.body";
|
||||||
Content overviewLink = links.createLink(
|
Content overviewLink = links.createLink(
|
||||||
DocPaths.overviewSummary(configuration.frames),
|
DocPaths.INDEX, resources.getText("doclet.Overview"));
|
||||||
resources.getText("doclet.Overview"));
|
|
||||||
Content overviewBody = contents.getContent(overviewKey, overviewLink);
|
Content overviewBody = contents.getContent(overviewKey, overviewLink);
|
||||||
Content overviewPara = HtmlTree.P(overviewBody);
|
Content overviewPara = HtmlTree.P(overviewBody);
|
||||||
htmlTree.add(overviewPara);
|
htmlTree.add(overviewPara);
|
||||||
@ -299,18 +298,6 @@ public class HelpWriter extends HtmlDocletWriter {
|
|||||||
ul.add(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
|
ul.add(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Frames
|
|
||||||
if (configuration.frames) {
|
|
||||||
Content frameHead = HtmlTree.HEADING(Headings.CONTENT_HEADING,
|
|
||||||
contents.getContent("doclet.help.frames.head"));
|
|
||||||
htmlTree = HtmlTree.SECTION(frameHead);
|
|
||||||
Content framesBody = contents.getContent("doclet.help.frames.body");
|
|
||||||
Content framePara = HtmlTree.P(framesBody);
|
|
||||||
htmlTree.add(framePara);
|
|
||||||
|
|
||||||
ul.add(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Serialized Form
|
// Serialized Form
|
||||||
Content sHead = HtmlTree.HEADING(Headings.CONTENT_HEADING,
|
Content sHead = HtmlTree.HEADING(Headings.CONTENT_HEADING,
|
||||||
contents.serializedForm);
|
contents.serializedForm);
|
||||||
|
@ -196,12 +196,6 @@ public class HtmlConfiguration extends BaseConfiguration {
|
|||||||
*/
|
*/
|
||||||
public boolean createoverview = false;
|
public boolean createoverview = false;
|
||||||
|
|
||||||
/**
|
|
||||||
* Specifies whether or not frames should be generated.
|
|
||||||
* Defaults to false; can be set to true by --frames; can be set to false by --no-frames; last one wins.
|
|
||||||
*/
|
|
||||||
public boolean frames = false;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Collected set of doclint options
|
* Collected set of doclint options
|
||||||
*/
|
*/
|
||||||
@ -375,7 +369,7 @@ public class HtmlConfiguration extends BaseConfiguration {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (createoverview) {
|
if (createoverview) {
|
||||||
topFile = DocPaths.overviewSummary(frames);
|
topFile = DocPaths.INDEX;
|
||||||
} else {
|
} else {
|
||||||
if (showModules) {
|
if (showModules) {
|
||||||
topFile = DocPath.empty.resolve(docPaths.moduleSummary(modules.first()));
|
topFile = DocPath.empty.resolve(docPaths.moduleSummary(modules.first()));
|
||||||
@ -640,21 +634,6 @@ public class HtmlConfiguration extends BaseConfiguration {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
new Option(resources, "--frames") {
|
|
||||||
@Override
|
|
||||||
public boolean process(String opt, List<String> args) {
|
|
||||||
reporter.print(WARNING, resources.getText("doclet.Frames_specified", helpfile));
|
|
||||||
frames = true;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
new Option(resources, "--no-frames") {
|
|
||||||
@Override
|
|
||||||
public boolean process(String opt, List<String> args) {
|
|
||||||
frames = false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
new Hidden(resources, "-packagesheader", 1) {
|
new Hidden(resources, "-packagesheader", 1) {
|
||||||
@Override
|
@Override
|
||||||
public boolean process(String opt, List<String> args) {
|
public boolean process(String opt, List<String> args) {
|
||||||
@ -749,6 +728,13 @@ public class HtmlConfiguration extends BaseConfiguration {
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
new XOption(resources, "--no-frames") {
|
||||||
|
@Override
|
||||||
|
public boolean process(String opt, List<String> args) {
|
||||||
|
reporter.print(WARNING, resources.getText("doclet.NoFrames_specified"));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
Set<Doclet.Option> oset = new TreeSet<>();
|
Set<Doclet.Option> oset = new TreeSet<>();
|
||||||
|
@ -144,13 +144,6 @@ public class HtmlDoclet extends AbstractDoclet {
|
|||||||
DeprecatedListWriter.generate(configuration);
|
DeprecatedListWriter.generate(configuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
AllClassesFrameWriter.generate(configuration,
|
|
||||||
new IndexBuilder(configuration, nodeprecated, true));
|
|
||||||
|
|
||||||
if (configuration.frames) {
|
|
||||||
FrameOutputWriter.generate(configuration);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (configuration.createoverview) {
|
if (configuration.createoverview) {
|
||||||
if (configuration.showModules) {
|
if (configuration.showModules) {
|
||||||
ModuleIndexWriter.generate(configuration);
|
ModuleIndexWriter.generate(configuration);
|
||||||
@ -173,12 +166,10 @@ public class HtmlDoclet extends AbstractDoclet {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!configuration.frames) {
|
if (configuration.createoverview) {
|
||||||
if (configuration.createoverview) {
|
IndexRedirectWriter.generate(configuration, DocPaths.OVERVIEW_SUMMARY, DocPaths.INDEX);
|
||||||
IndexRedirectWriter.generate(configuration, DocPaths.OVERVIEW_SUMMARY, DocPaths.INDEX);
|
} else {
|
||||||
} else {
|
IndexRedirectWriter.generate(configuration);
|
||||||
IndexRedirectWriter.generate(configuration);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (configuration.helpfile.isEmpty() && !configuration.nohelp) {
|
if (configuration.helpfile.isEmpty() && !configuration.nohelp) {
|
||||||
@ -273,15 +264,8 @@ public class HtmlDoclet extends AbstractDoclet {
|
|||||||
@Override // defined by AbstractDoclet
|
@Override // defined by AbstractDoclet
|
||||||
protected void generateModuleFiles() throws DocletException {
|
protected void generateModuleFiles() throws DocletException {
|
||||||
if (configuration.showModules) {
|
if (configuration.showModules) {
|
||||||
if (configuration.frames && configuration.modules.size() > 1) {
|
|
||||||
ModuleIndexFrameWriter.generate(configuration);
|
|
||||||
}
|
|
||||||
List<ModuleElement> mdles = new ArrayList<>(configuration.modulePackages.keySet());
|
List<ModuleElement> mdles = new ArrayList<>(configuration.modulePackages.keySet());
|
||||||
for (ModuleElement mdle : mdles) {
|
for (ModuleElement mdle : mdles) {
|
||||||
if (configuration.frames && configuration.modules.size() > 1) {
|
|
||||||
ModulePackageIndexFrameWriter.generate(configuration, mdle);
|
|
||||||
ModuleFrameWriter.generate(configuration, mdle);
|
|
||||||
}
|
|
||||||
AbstractBuilder moduleSummaryBuilder =
|
AbstractBuilder moduleSummaryBuilder =
|
||||||
configuration.getBuilderFactory().getModuleSummaryBuilder(mdle);
|
configuration.getBuilderFactory().getModuleSummaryBuilder(mdle);
|
||||||
moduleSummaryBuilder.build();
|
moduleSummaryBuilder.build();
|
||||||
@ -295,18 +279,12 @@ public class HtmlDoclet extends AbstractDoclet {
|
|||||||
@Override // defined by AbstractDoclet
|
@Override // defined by AbstractDoclet
|
||||||
protected void generatePackageFiles(ClassTree classtree) throws DocletException {
|
protected void generatePackageFiles(ClassTree classtree) throws DocletException {
|
||||||
Set<PackageElement> packages = configuration.packages;
|
Set<PackageElement> packages = configuration.packages;
|
||||||
if (packages.size() > 1 && configuration.frames) {
|
|
||||||
PackageIndexFrameWriter.generate(configuration);
|
|
||||||
}
|
|
||||||
List<PackageElement> pList = new ArrayList<>(packages);
|
List<PackageElement> pList = new ArrayList<>(packages);
|
||||||
for (PackageElement pkg : pList) {
|
for (PackageElement pkg : pList) {
|
||||||
// if -nodeprecated option is set and the package is marked as
|
// if -nodeprecated option is set and the package is marked as
|
||||||
// deprecated, do not generate the package-summary.html, package-frame.html
|
// deprecated, do not generate the package-summary.html, package-frame.html
|
||||||
// and package-tree.html pages for that package.
|
// and package-tree.html pages for that package.
|
||||||
if (!(configuration.nodeprecated && utils.isDeprecated(pkg))) {
|
if (!(configuration.nodeprecated && utils.isDeprecated(pkg))) {
|
||||||
if (configuration.frames) {
|
|
||||||
PackageFrameWriter.generate(configuration, pkg);
|
|
||||||
}
|
|
||||||
AbstractBuilder packageSummaryBuilder =
|
AbstractBuilder packageSummaryBuilder =
|
||||||
configuration.getBuilderFactory().getPackageSummaryBuilder(pkg);
|
configuration.getBuilderFactory().getPackageSummaryBuilder(pkg);
|
||||||
packageSummaryBuilder.build();
|
packageSummaryBuilder.build();
|
||||||
|
@ -202,6 +202,7 @@ public class HtmlDocletWriter {
|
|||||||
this.pathToRoot = path.parent().invert();
|
this.pathToRoot = path.parent().invert();
|
||||||
this.filename = path.basename();
|
this.filename = path.basename();
|
||||||
this.docPaths = configuration.docPaths;
|
this.docPaths = configuration.docPaths;
|
||||||
|
this.mainBodyScript = new Script();
|
||||||
|
|
||||||
messages.notice("doclet.Generating_0",
|
messages.notice("doclet.Generating_0",
|
||||||
DocFile.createFileForOutput(configuration, path).getPath());
|
DocFile.createFileForOutput(configuration, path).getPath());
|
||||||
@ -374,47 +375,6 @@ public class HtmlDocletWriter {
|
|||||||
return new TagletWriterImpl(this, isFirstSentence, inSummary);
|
return new TagletWriterImpl(this, isFirstSentence, inSummary);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get Package link, with target frame.
|
|
||||||
*
|
|
||||||
* @param pkg The link will be to the "package-summary.html" page for this package
|
|
||||||
* @param target name of the target frame
|
|
||||||
* @param label tag for the link
|
|
||||||
* @return a content for the target package link
|
|
||||||
*/
|
|
||||||
public Content getTargetPackageLink(PackageElement pkg, String target,
|
|
||||||
Content label) {
|
|
||||||
return links.createLink(pathString(pkg, DocPaths.PACKAGE_SUMMARY), label, "", target);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get Module Package link, with target frame.
|
|
||||||
*
|
|
||||||
* @param pkg the PackageElement
|
|
||||||
* @param target name of the target frame
|
|
||||||
* @param label tag for the link
|
|
||||||
* @param mdle the module being documented
|
|
||||||
* @return a content for the target module packages link
|
|
||||||
*/
|
|
||||||
public Content getTargetModulePackageLink(PackageElement pkg, String target,
|
|
||||||
Content label, ModuleElement mdle) {
|
|
||||||
return links.createLink(pathString(pkg, DocPaths.PACKAGE_SUMMARY),
|
|
||||||
label, "", target);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get Module link, with target frame.
|
|
||||||
*
|
|
||||||
* @param target name of the target frame
|
|
||||||
* @param label tag for the link
|
|
||||||
* @param mdle the module being documented
|
|
||||||
* @return a content for the target module link
|
|
||||||
*/
|
|
||||||
public Content getTargetModuleLink(String target, Content label, ModuleElement mdle) {
|
|
||||||
return links.createLink(pathToRoot.resolve(
|
|
||||||
docPaths.moduleSummary(mdle)), label, "", target);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generates the HTML document tree and prints it out.
|
* Generates the HTML document tree and prints it out.
|
||||||
*
|
*
|
||||||
@ -2190,24 +2150,19 @@ public class HtmlDocletWriter {
|
|||||||
/**
|
/**
|
||||||
* Returns an HtmlTree for the BODY tag.
|
* Returns an HtmlTree for the BODY tag.
|
||||||
*
|
*
|
||||||
* @param includeScript set true if printing windowtitle script
|
|
||||||
* @param title title for the window
|
* @param title title for the window
|
||||||
* @return an HtmlTree for the BODY tag
|
* @return an HtmlTree for the BODY tag
|
||||||
*/
|
*/
|
||||||
public HtmlTree getBody(boolean includeScript, String title) {
|
public HtmlTree getBody(String title) {
|
||||||
HtmlTree body = new HtmlTree(HtmlTag.BODY);
|
HtmlTree body = new HtmlTree(HtmlTag.BODY);
|
||||||
body.put(HtmlAttr.CLASS, getBodyClass());
|
body.put(HtmlAttr.CLASS, getBodyClass());
|
||||||
|
|
||||||
// Set window title string which is later printed
|
|
||||||
this.winTitle = title;
|
this.winTitle = title;
|
||||||
// Don't print windowtitle script for overview-frame, allclasses-frame
|
// Don't print windowtitle script for overview-frame, allclasses-frame
|
||||||
// and package-frame
|
// and package-frame
|
||||||
if (includeScript) {
|
body.add(mainBodyScript.asContent());
|
||||||
this.mainBodyScript = getWinTitleScript();
|
Content noScript = HtmlTree.NOSCRIPT(HtmlTree.DIV(contents.noScriptMessage));
|
||||||
body.add(mainBodyScript.asContent());
|
body.add(noScript);
|
||||||
Content noScript = HtmlTree.NOSCRIPT(HtmlTree.DIV(contents.noScriptMessage));
|
|
||||||
body.add(noScript);
|
|
||||||
}
|
|
||||||
return body;
|
return body;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ public class IndexRedirectWriter extends HtmlDocletWriter {
|
|||||||
private void generateIndexFile() throws DocFileIOException {
|
private void generateIndexFile() throws DocFileIOException {
|
||||||
Content htmlComment = contents.newPage;
|
Content htmlComment = contents.newPage;
|
||||||
Head head = new Head(path, configuration.docletVersion)
|
Head head = new Head(path, configuration.docletVersion)
|
||||||
.setTimestamp(true)
|
.setTimestamp(!configuration.notimestamp)
|
||||||
.setDescription("index redirect")
|
.setDescription("index redirect")
|
||||||
.setGenerator(getGenerator(getClass()))
|
.setGenerator(getGenerator(getClass()))
|
||||||
.setStylesheets(configuration.getMainStylesheet(), Collections.emptyList()) // avoid reference to default stylesheet
|
.setStylesheets(configuration.getMainStylesheet(), Collections.emptyList()) // avoid reference to default stylesheet
|
||||||
|
@ -1,191 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2016, 2019, 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. Oracle designates this
|
|
||||||
* particular file as subject to the "Classpath" exception as provided
|
|
||||||
* by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
*
|
|
||||||
* 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 jdk.javadoc.internal.doclets.formats.html;
|
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
import javax.lang.model.element.ModuleElement;
|
|
||||||
import javax.lang.model.element.PackageElement;
|
|
||||||
import javax.lang.model.element.TypeElement;
|
|
||||||
import javax.lang.model.util.ElementFilter;
|
|
||||||
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class to generate file for each module contents in the left-hand bottom
|
|
||||||
* frame. This will list all the Class Kinds in the module. A click on any
|
|
||||||
* class-kind will update the right-hand frame with the clicked class-kind page.
|
|
||||||
*
|
|
||||||
* <p><b>This is NOT part of any supported API.
|
|
||||||
* If you write code that depends on this, you do so at your own risk.
|
|
||||||
* This code and its internal interfaces are subject to change or
|
|
||||||
* deletion without notice.</b>
|
|
||||||
*
|
|
||||||
* @author Bhavesh Patel
|
|
||||||
*/
|
|
||||||
public class ModuleFrameWriter extends HtmlDocletWriter {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The module being documented.
|
|
||||||
*/
|
|
||||||
private final ModuleElement mdle;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The classes to be documented. Use this to filter out classes
|
|
||||||
* that will not be documented.
|
|
||||||
*/
|
|
||||||
private SortedSet<TypeElement> documentedClasses;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor to construct ModuleFrameWriter object and to generate
|
|
||||||
* "module_name-type-frame.html" file. For example for module "java.base" this will generate file
|
|
||||||
* "java.base-type-frame.html" file.
|
|
||||||
*
|
|
||||||
* @param configuration the configuration of the doclet.
|
|
||||||
* @param moduleElement moduleElement under consideration.
|
|
||||||
*/
|
|
||||||
public ModuleFrameWriter(HtmlConfiguration configuration, ModuleElement moduleElement) {
|
|
||||||
super(configuration, configuration.docPaths.moduleTypeFrame(moduleElement));
|
|
||||||
this.mdle = moduleElement;
|
|
||||||
if (configuration.getSpecifiedPackageElements().isEmpty()) {
|
|
||||||
documentedClasses = new TreeSet<>(utils.makeGeneralPurposeComparator());
|
|
||||||
documentedClasses.addAll(configuration.getIncludedTypeElements());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generate a module type summary page for the left-hand bottom frame.
|
|
||||||
*
|
|
||||||
* @param configuration the current configuration of the doclet.
|
|
||||||
* @param moduleElement The package for which "module_name-type-frame.html" is to be generated.
|
|
||||||
* @throws DocFileIOException if there is a problem generating the module summary file
|
|
||||||
*/
|
|
||||||
public static void generate(HtmlConfiguration configuration, ModuleElement moduleElement)
|
|
||||||
throws DocFileIOException {
|
|
||||||
ModuleFrameWriter mdlgen = new ModuleFrameWriter(configuration, moduleElement);
|
|
||||||
String mdlName = moduleElement.getQualifiedName().toString();
|
|
||||||
Content mdlLabel = new StringContent(mdlName);
|
|
||||||
HtmlTree body = mdlgen.getBody(false, mdlgen.getWindowTitle(mdlName));
|
|
||||||
HtmlTree htmlTree = HtmlTree.MAIN();
|
|
||||||
DocPath moduleSummary = configuration.useModuleDirectories
|
|
||||||
? DocPaths.DOT_DOT.resolve(configuration.docPaths.moduleSummary(moduleElement))
|
|
||||||
: configuration.docPaths.moduleSummary(moduleElement);
|
|
||||||
Content heading = HtmlTree.HEADING(Headings.PAGE_TITLE_HEADING, HtmlStyle.bar,
|
|
||||||
mdlgen.links.createLink(moduleSummary, mdlLabel, "", "classFrame"));
|
|
||||||
htmlTree.add(heading);
|
|
||||||
HtmlTree div = new HtmlTree(HtmlTag.DIV);
|
|
||||||
div.setStyle(HtmlStyle.indexContainer);
|
|
||||||
mdlgen.addClassListing(div);
|
|
||||||
htmlTree.add(div);
|
|
||||||
body.add(htmlTree);
|
|
||||||
mdlgen.printHtmlDocument(
|
|
||||||
configuration.metakeywords.getMetaKeywordsForModule(moduleElement),
|
|
||||||
"module summary (frame)",
|
|
||||||
body);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add class listing for all the classes in this module. Divide class
|
|
||||||
* listing as per the class kind and generate separate listing for
|
|
||||||
* Classes, Interfaces, Exceptions and Errors.
|
|
||||||
*
|
|
||||||
* @param contentTree the content tree to which the listing will be added
|
|
||||||
*/
|
|
||||||
protected void addClassListing(HtmlTree contentTree) {
|
|
||||||
List<PackageElement> packagesIn = ElementFilter.packagesIn(mdle.getEnclosedElements());
|
|
||||||
SortedSet<TypeElement> interfaces = new TreeSet<>(utils.makeGeneralPurposeComparator());
|
|
||||||
SortedSet<TypeElement> classes = new TreeSet<>(utils.makeGeneralPurposeComparator());
|
|
||||||
SortedSet<TypeElement> enums = new TreeSet<>(utils.makeGeneralPurposeComparator());
|
|
||||||
SortedSet<TypeElement> exceptions = new TreeSet<>(utils.makeGeneralPurposeComparator());
|
|
||||||
SortedSet<TypeElement> errors = new TreeSet<>(utils.makeGeneralPurposeComparator());
|
|
||||||
SortedSet<TypeElement> annotationTypes = new TreeSet<>(utils.makeGeneralPurposeComparator());
|
|
||||||
for (PackageElement pkg : packagesIn) {
|
|
||||||
if (utils.isIncluded(pkg)) {
|
|
||||||
interfaces.addAll(utils.getInterfaces(pkg));
|
|
||||||
classes.addAll(utils.getOrdinaryClasses(pkg));
|
|
||||||
enums.addAll(utils.getEnums(pkg));
|
|
||||||
exceptions.addAll(utils.getExceptions(pkg));
|
|
||||||
errors.addAll(utils.getErrors(pkg));
|
|
||||||
annotationTypes.addAll(utils.getAnnotationTypes(pkg));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
addClassKindListing(interfaces, contents.interfaces, contentTree);
|
|
||||||
addClassKindListing(classes, contents.classes, contentTree);
|
|
||||||
addClassKindListing(enums, contents.enums, contentTree);
|
|
||||||
addClassKindListing(exceptions, contents.exceptions, contentTree);
|
|
||||||
addClassKindListing(errors, contents.errors, contentTree);
|
|
||||||
addClassKindListing(annotationTypes, contents.annotationTypes, contentTree);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add specific class kind listing. Also add label to the listing.
|
|
||||||
*
|
|
||||||
* @param list Iterable list of TypeElements
|
|
||||||
* @param labelContent content tree of the label to be added
|
|
||||||
* @param contentTree the content tree to which the class kind listing will be added
|
|
||||||
*/
|
|
||||||
protected void addClassKindListing(Iterable<TypeElement> list, Content labelContent,
|
|
||||||
HtmlTree contentTree) {
|
|
||||||
SortedSet<TypeElement> tset = utils.filterOutPrivateClasses(list, configuration.javafx);
|
|
||||||
if (!tset.isEmpty()) {
|
|
||||||
boolean printedHeader = false;
|
|
||||||
HtmlTree htmlTree = HtmlTree.SECTION();
|
|
||||||
HtmlTree ul = new HtmlTree(HtmlTag.UL);
|
|
||||||
ul.setTitle(labelContent);
|
|
||||||
for (TypeElement typeElement : tset) {
|
|
||||||
if (documentedClasses != null && !documentedClasses.contains(typeElement)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (!utils.isCoreClass(typeElement) || !configuration.isGeneratedDoc(typeElement)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (!printedHeader) {
|
|
||||||
Content heading = HtmlTree.HEADING(Headings.CONTENT_HEADING,
|
|
||||||
true, labelContent);
|
|
||||||
htmlTree.add(heading);
|
|
||||||
printedHeader = true;
|
|
||||||
}
|
|
||||||
Content arr_i_name = new StringContent(utils.getSimpleName(typeElement));
|
|
||||||
if (utils.isInterface(typeElement)) {
|
|
||||||
arr_i_name = HtmlTree.SPAN(HtmlStyle.interfaceName, arr_i_name);
|
|
||||||
}
|
|
||||||
Content link = getLink(new LinkInfoImpl(configuration,
|
|
||||||
LinkInfoImpl.Kind.ALL_CLASSES_FRAME, typeElement).label(arr_i_name).target("classFrame"));
|
|
||||||
Content li = HtmlTree.LI(link);
|
|
||||||
ul.add(li);
|
|
||||||
}
|
|
||||||
htmlTree.add(ul);
|
|
||||||
contentTree.add(htmlTree);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,189 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2013, 2019, 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. Oracle designates this
|
|
||||||
* particular file as subject to the "Classpath" exception as provided
|
|
||||||
* by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
*
|
|
||||||
* 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 jdk.javadoc.internal.doclets.formats.html;
|
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import javax.lang.model.element.ModuleElement;
|
|
||||||
import javax.lang.model.element.PackageElement;
|
|
||||||
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlAttr;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.RawHtml;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocLink;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generate the module index for the left-hand frame in the generated output.
|
|
||||||
* A click on the module name in this frame will update the page in the top
|
|
||||||
* left hand frame with the listing of packages of the clicked module.
|
|
||||||
*
|
|
||||||
* <p><b>This is NOT part of any supported API.
|
|
||||||
* If you write code that depends on this, you do so at your own risk.
|
|
||||||
* This code and its internal interfaces are subject to change or
|
|
||||||
* deletion without notice.</b>
|
|
||||||
*
|
|
||||||
* @author Bhavesh Patel
|
|
||||||
*/
|
|
||||||
public class ModuleIndexFrameWriter extends AbstractModuleIndexWriter {
|
|
||||||
/**
|
|
||||||
* The heading (h1 or h2) to use for the module list,
|
|
||||||
* set by addNavigationBarHeader depending on whether or not there
|
|
||||||
* is an additional initial heading.
|
|
||||||
*/
|
|
||||||
private HtmlTag moduleListHeading;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Construct the ModuleIndexFrameWriter object.
|
|
||||||
*
|
|
||||||
* @param configuration the configuration object
|
|
||||||
* @param filename Name of the module index file to be generated.
|
|
||||||
*/
|
|
||||||
public ModuleIndexFrameWriter(HtmlConfiguration configuration,
|
|
||||||
DocPath filename) {
|
|
||||||
super(configuration, filename);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generate the module index file named "module-overview-frame.html".
|
|
||||||
* @throws DocFileIOException
|
|
||||||
* @param configuration the configuration object
|
|
||||||
*/
|
|
||||||
public static void generate(HtmlConfiguration configuration) throws DocFileIOException {
|
|
||||||
DocPath filename = DocPaths.MODULE_OVERVIEW_FRAME;
|
|
||||||
ModuleIndexFrameWriter modulegen = new ModuleIndexFrameWriter(configuration, filename);
|
|
||||||
modulegen.buildModuleIndexFile("doclet.Window_Overview", "module overview (frame)", false);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
protected void addModulesList(Content main) {
|
|
||||||
Content heading = HtmlTree.HEADING(moduleListHeading, true,
|
|
||||||
contents.modulesLabel);
|
|
||||||
HtmlTree htmlTree = HtmlTree.DIV(HtmlStyle.indexContainer, heading);
|
|
||||||
HtmlTree ul = new HtmlTree(HtmlTag.UL);
|
|
||||||
ul.setTitle(contents.modulesLabel);
|
|
||||||
for (ModuleElement mdle: configuration.modules) {
|
|
||||||
ul.add(getModuleLink(mdle));
|
|
||||||
}
|
|
||||||
htmlTree.add(ul);
|
|
||||||
main.add(htmlTree);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns each module name as a separate link.
|
|
||||||
*
|
|
||||||
* @param mdle the module being documented
|
|
||||||
* @return content for the module link
|
|
||||||
*/
|
|
||||||
protected Content getModuleLink(ModuleElement mdle) {
|
|
||||||
Content moduleLinkContent;
|
|
||||||
Content mdlLabel = new StringContent(mdle.getQualifiedName());
|
|
||||||
moduleLinkContent = getModuleFramesHyperLink(mdle, mdlLabel, "packageListFrame");
|
|
||||||
Content li = HtmlTree.LI(moduleLinkContent);
|
|
||||||
return li;
|
|
||||||
}
|
|
||||||
|
|
||||||
private Content getModuleFramesHyperLink(ModuleElement mdle, Content label, String target) {
|
|
||||||
DocLink mdlLink = new DocLink(docPaths.moduleFrame(mdle));
|
|
||||||
DocLink mtFrameLink = new DocLink(docPaths.moduleTypeFrame(mdle));
|
|
||||||
DocLink cFrameLink = new DocLink(docPaths.moduleSummary(mdle));
|
|
||||||
HtmlTree anchor = HtmlTree.A(mdlLink.toString(), label);
|
|
||||||
String onclickStr = "updateModuleFrame('" + mtFrameLink + "','" + cFrameLink + "');";
|
|
||||||
anchor.put(HtmlAttr.TARGET, target);
|
|
||||||
anchor.put(HtmlAttr.ONCLICK, onclickStr);
|
|
||||||
return anchor;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
protected void addNavigationBarHeader(Content header) {
|
|
||||||
String headerContent = !configuration.packagesheader.isEmpty() ? configuration.packagesheader
|
|
||||||
: configuration.header;
|
|
||||||
if (!headerContent.isEmpty()) {
|
|
||||||
Content heading = HtmlTree.HEADING(Headings.PAGE_TITLE_HEADING, true,
|
|
||||||
HtmlStyle.bar, new RawHtml(replaceDocRootDir(headerContent)));
|
|
||||||
header.add(heading);
|
|
||||||
moduleListHeading = Headings.IndexFrames.MODULE_HEADING;
|
|
||||||
} else {
|
|
||||||
moduleListHeading = Headings.PAGE_TITLE_HEADING;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Do nothing as there is no overview information in this page.
|
|
||||||
*/
|
|
||||||
protected void addOverviewHeader(Content body) {
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds "All Classes" link for the top of the left-hand frame page to the
|
|
||||||
* documentation tree.
|
|
||||||
*
|
|
||||||
* @param ul the Content object to which the all classes link should be added
|
|
||||||
*/
|
|
||||||
protected void addAllClassesLink(Content ul) {
|
|
||||||
Content linkContent = links.createLink(DocPaths.ALLCLASSES_FRAME,
|
|
||||||
contents.allClassesLabel, "", "packageFrame");
|
|
||||||
Content li = HtmlTree.LI(linkContent);
|
|
||||||
ul.add(li);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds "All Packages" link for the top of the left-hand frame page to the
|
|
||||||
* documentation tree.
|
|
||||||
*
|
|
||||||
* @param ul the Content object to which the all packages link should be added
|
|
||||||
*/
|
|
||||||
protected void addAllPackagesLink(Content ul) {
|
|
||||||
Content linkContent = links.createLink(DocPaths.OVERVIEW_FRAME,
|
|
||||||
contents.allPackagesLabel, "", "packageListFrame");
|
|
||||||
Content li = HtmlTree.LI(linkContent);
|
|
||||||
ul.add(li);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
protected void addNavigationBarFooter(Content footer) {
|
|
||||||
Content p = HtmlTree.P(Contents.SPACE);
|
|
||||||
footer.add(p);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void addModulePackagesList(Map<ModuleElement, Set<PackageElement>> modules, String text,
|
|
||||||
String tableSummary, Content main, ModuleElement mdle) {
|
|
||||||
}
|
|
||||||
}
|
|
@ -44,8 +44,7 @@ import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
|
|||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
|
import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate the module index page "overview-summary.html" for the right-hand
|
* Generate the module index page "index.html".
|
||||||
* frame.
|
|
||||||
*
|
*
|
||||||
* <p><b>This is NOT part of any supported API.
|
* <p><b>This is NOT part of any supported API.
|
||||||
* If you write code that depends on this, you do so at your own risk.
|
* If you write code that depends on this, you do so at your own risk.
|
||||||
@ -66,15 +65,15 @@ public class ModuleIndexWriter extends AbstractModuleIndexWriter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate the module index page for the right-hand frame.
|
* Generate the module index page.
|
||||||
*
|
*
|
||||||
* @param configuration the current configuration of the doclet.
|
* @param configuration the current configuration of the doclet.
|
||||||
* @throws DocFileIOException if there is a problem generating the module index page
|
* @throws DocFileIOException if there is a problem generating the module index page
|
||||||
*/
|
*/
|
||||||
public static void generate(HtmlConfiguration configuration) throws DocFileIOException {
|
public static void generate(HtmlConfiguration configuration) throws DocFileIOException {
|
||||||
DocPath filename = DocPaths.overviewSummary(configuration.frames);
|
DocPath filename = DocPaths.INDEX;
|
||||||
ModuleIndexWriter mdlgen = new ModuleIndexWriter(configuration, filename);
|
ModuleIndexWriter mdlgen = new ModuleIndexWriter(configuration, filename);
|
||||||
mdlgen.buildModuleIndexFile("doclet.Window_Overview_Summary", "module index", true);
|
mdlgen.buildModuleIndexFile("doclet.Window_Overview_Summary", "module index");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -95,15 +94,6 @@ public class ModuleIndexWriter extends AbstractModuleIndexWriter {
|
|||||||
* @param main the document tree to which the modules list will be added
|
* @param main the document tree to which the modules list will be added
|
||||||
*/
|
*/
|
||||||
protected void addIndexContents(Content header, Content main) {
|
protected void addIndexContents(Content header, Content main) {
|
||||||
HtmlTree htmltree = HtmlTree.NAV();
|
|
||||||
htmltree.setStyle(HtmlStyle.indexNav);
|
|
||||||
HtmlTree ul = new HtmlTree(HtmlTag.UL);
|
|
||||||
addAllClassesLink(ul);
|
|
||||||
if (configuration.showModules) {
|
|
||||||
addAllModulesLink(ul);
|
|
||||||
}
|
|
||||||
htmltree.add(ul);
|
|
||||||
header.add(htmltree);
|
|
||||||
addModulesList(main);
|
addModulesList(main);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,245 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2013, 2019, 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. Oracle designates this
|
|
||||||
* particular file as subject to the "Classpath" exception as provided
|
|
||||||
* by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
*
|
|
||||||
* 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 jdk.javadoc.internal.doclets.formats.html;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import javax.lang.model.element.ModuleElement;
|
|
||||||
import javax.lang.model.element.PackageElement;
|
|
||||||
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.RawHtml;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generate the module package index for the left-hand frame in the generated output.
|
|
||||||
* A click on the package name in this frame will update the page in the bottom
|
|
||||||
* left hand frame with the listing of contents of the clicked module package.
|
|
||||||
*
|
|
||||||
* <p><b>This is NOT part of any supported API.
|
|
||||||
* If you write code that depends on this, you do so at your own risk.
|
|
||||||
* This code and its internal interfaces are subject to change or
|
|
||||||
* deletion without notice.</b>
|
|
||||||
*
|
|
||||||
* @author Bhavesh Patel
|
|
||||||
*/
|
|
||||||
public class ModulePackageIndexFrameWriter extends AbstractModuleIndexWriter {
|
|
||||||
/**
|
|
||||||
* The heading (h1 or h2) to use for the module packages list,
|
|
||||||
* set by addNavigationBarHeader depending on whether or not there
|
|
||||||
* is an additional initial heading.
|
|
||||||
*/
|
|
||||||
private HtmlTag modulePackagesListHeading;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Construct the ModulePackageIndexFrameWriter object.
|
|
||||||
*
|
|
||||||
* @param configuration the configuration object
|
|
||||||
* @param filename Name of the package index file to be generated.
|
|
||||||
*/
|
|
||||||
public ModulePackageIndexFrameWriter(HtmlConfiguration configuration, DocPath filename) {
|
|
||||||
super(configuration, filename);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generate the module package index file.
|
|
||||||
* @throws DocFileIOException
|
|
||||||
* @param configuration the configuration object
|
|
||||||
* @param mdle the module being documented
|
|
||||||
*/
|
|
||||||
public static void generate(HtmlConfiguration configuration, ModuleElement mdle) throws DocFileIOException {
|
|
||||||
DocPath filename = configuration.docPaths.moduleFrame(mdle);
|
|
||||||
ModulePackageIndexFrameWriter modpackgen = new ModulePackageIndexFrameWriter(configuration, filename);
|
|
||||||
modpackgen.buildModulePackagesIndexFile("doclet.Window_Overview",
|
|
||||||
getDescription("module package index", mdle) + " (frame)",
|
|
||||||
false,
|
|
||||||
mdle);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
protected void addModulePackagesList(Map<ModuleElement, Set<PackageElement>> modules, String text,
|
|
||||||
String tableSummary, Content main, ModuleElement mdle) {
|
|
||||||
Content profNameContent = new StringContent(mdle.getQualifiedName().toString());
|
|
||||||
Content heading = HtmlTree.HEADING(modulePackagesListHeading, true,
|
|
||||||
getTargetModuleLink("classFrame", profNameContent, mdle));
|
|
||||||
heading.add(Contents.SPACE);
|
|
||||||
heading.add(contents.packagesLabel);
|
|
||||||
HtmlTree htmlTree = HtmlTree.DIV(HtmlStyle.indexContainer, heading);
|
|
||||||
HtmlTree ul = new HtmlTree(HtmlTag.UL);
|
|
||||||
ul.setTitle(contents.packagesLabel);
|
|
||||||
List<PackageElement> packages = new ArrayList<>(modules.get(mdle));
|
|
||||||
for (PackageElement pkg : packages) {
|
|
||||||
if ((!(configuration.nodeprecated && utils.isDeprecated(pkg)))) {
|
|
||||||
ul.add(getPackage(pkg, mdle));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
htmlTree.add(ul);
|
|
||||||
main.add(htmlTree);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
protected void addModulePackagesList(Set<ModuleElement> modules, String text,
|
|
||||||
String tableSummary, Content body, ModuleElement mdle) {
|
|
||||||
Content moduleNameContent = new StringContent(mdle.getQualifiedName().toString());
|
|
||||||
Content heading = HtmlTree.HEADING(modulePackagesListHeading, true,
|
|
||||||
getTargetModuleLink("classFrame", moduleNameContent, mdle));
|
|
||||||
heading.add(Contents.SPACE);
|
|
||||||
heading.add(contents.packagesLabel);
|
|
||||||
HtmlTree htmlTree = HtmlTree.MAIN(HtmlStyle.indexContainer, heading);
|
|
||||||
HtmlTree ul = new HtmlTree(HtmlTag.UL);
|
|
||||||
ul.setTitle(contents.packagesLabel);
|
|
||||||
Set<PackageElement> modulePackages = configuration.modulePackages.get(mdle);
|
|
||||||
for (PackageElement pkg: modulePackages) {
|
|
||||||
if ((!(configuration.nodeprecated && utils.isDeprecated(pkg)))) {
|
|
||||||
ul.add(getPackage(pkg, mdle));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
htmlTree.add(ul);
|
|
||||||
body.add(htmlTree);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns each package name as a separate link.
|
|
||||||
*
|
|
||||||
* @param pkg PackageElement
|
|
||||||
* @param mdle the module being documented
|
|
||||||
* @return content for the package link
|
|
||||||
*/
|
|
||||||
protected Content getPackage(PackageElement pkg, ModuleElement mdle) {
|
|
||||||
Content packageLinkContent;
|
|
||||||
Content pkgLabel;
|
|
||||||
if (!pkg.isUnnamed()) {
|
|
||||||
pkgLabel = getPackageLabel(utils.getPackageName(pkg));
|
|
||||||
packageLinkContent = links.createLink(pathString(pkg,
|
|
||||||
DocPaths.PACKAGE_FRAME), pkgLabel, "",
|
|
||||||
"packageFrame");
|
|
||||||
} else {
|
|
||||||
pkgLabel = new StringContent("<unnamed package>");
|
|
||||||
packageLinkContent = links.createLink(DocPaths.PACKAGE_FRAME,
|
|
||||||
pkgLabel, "", "packageFrame");
|
|
||||||
}
|
|
||||||
Content li = HtmlTree.LI(packageLinkContent);
|
|
||||||
return li;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
protected void addNavigationBarHeader(Content header) {
|
|
||||||
String headerContent = !configuration.packagesheader.isEmpty() ? configuration.packagesheader
|
|
||||||
: configuration.header;
|
|
||||||
if (!headerContent.isEmpty()) {
|
|
||||||
Content heading = HtmlTree.HEADING(Headings.PAGE_TITLE_HEADING, true,
|
|
||||||
HtmlStyle.bar, new RawHtml(replaceDocRootDir(headerContent)));
|
|
||||||
header.add(heading);
|
|
||||||
modulePackagesListHeading = Headings.IndexFrames.PACKAGE_HEADING;
|
|
||||||
} else {
|
|
||||||
modulePackagesListHeading = Headings.PAGE_TITLE_HEADING;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Do nothing as there is no overview information in this page.
|
|
||||||
*/
|
|
||||||
protected void addOverviewHeader(Content body) {
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Do nothing as there is no modules list on this page.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
protected void addModulesList(Content body) {
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds "All Classes" link for the top of the left-hand frame page to the
|
|
||||||
* documentation tree.
|
|
||||||
*
|
|
||||||
* @param ul the Content object to which the all classes link should be added
|
|
||||||
*/
|
|
||||||
protected void addAllClassesLink(Content ul) {
|
|
||||||
DocPath allClassesFrame = configuration.useModuleDirectories
|
|
||||||
? DocPaths.DOT_DOT.resolve(DocPaths.ALLCLASSES_FRAME)
|
|
||||||
: DocPaths.ALLCLASSES_FRAME;
|
|
||||||
Content linkContent = links.createLink(allClassesFrame,
|
|
||||||
contents.allClassesLabel, "", "packageFrame");
|
|
||||||
Content li = HtmlTree.LI(linkContent);
|
|
||||||
ul.add(li);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds "All Packages" link for the top of the left-hand frame page to the
|
|
||||||
* documentation tree.
|
|
||||||
*
|
|
||||||
* @param ul the Content object to which the all packages link should be added
|
|
||||||
*/
|
|
||||||
protected void addAllPackagesLink(Content ul) {
|
|
||||||
DocPath overviewFrame = configuration.useModuleDirectories
|
|
||||||
? DocPaths.DOT_DOT.resolve(DocPaths.OVERVIEW_FRAME)
|
|
||||||
: DocPaths.OVERVIEW_FRAME;
|
|
||||||
Content linkContent = links.createLink(overviewFrame,
|
|
||||||
contents.allPackagesLabel, "", "packageListFrame");
|
|
||||||
Content li = HtmlTree.LI(linkContent);
|
|
||||||
ul.add(li);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds "All Modules" link for the top of the left-hand frame page to the
|
|
||||||
* documentation tree.
|
|
||||||
*
|
|
||||||
* @param ul the Content object to which the all modules link should be added
|
|
||||||
*/
|
|
||||||
protected void addAllModulesLink(Content ul) {
|
|
||||||
DocPath moduleOverviewFrame = configuration.useModuleDirectories
|
|
||||||
? DocPaths.DOT_DOT.resolve(DocPaths.MODULE_OVERVIEW_FRAME)
|
|
||||||
: DocPaths.MODULE_OVERVIEW_FRAME;
|
|
||||||
Content linkContent = links.createLink(moduleOverviewFrame,
|
|
||||||
contents.allModulesLabel, "", "packageListFrame");
|
|
||||||
Content li = HtmlTree.LI(linkContent);
|
|
||||||
ul.add(li);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
protected void addNavigationBarFooter(Content footer) {
|
|
||||||
Content p = HtmlTree.P(Contents.SPACE);
|
|
||||||
footer.add(p);
|
|
||||||
}
|
|
||||||
}
|
|
@ -194,7 +194,7 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Content getModuleHeader(String heading) {
|
public Content getModuleHeader(String heading) {
|
||||||
HtmlTree bodyTree = getBody(true, getWindowTitle(mdle.getQualifiedName().toString()));
|
HtmlTree bodyTree = getBody(getWindowTitle(mdle.getQualifiedName().toString()));
|
||||||
HtmlTree htmlTree = HtmlTree.HEADER();
|
HtmlTree htmlTree = HtmlTree.HEADER();
|
||||||
addTop(htmlTree);
|
addTop(htmlTree);
|
||||||
navBar.setDisplaySummaryModuleDescLink(!utils.getFullBody(mdle).isEmpty() && !configuration.nocomment);
|
navBar.setDisplaySummaryModuleDescLink(!utils.getFullBody(mdle).isEmpty() && !configuration.nocomment);
|
||||||
|
@ -1,196 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 1998, 2019, 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. Oracle designates this
|
|
||||||
* particular file as subject to the "Classpath" exception as provided
|
|
||||||
* by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
*
|
|
||||||
* 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 jdk.javadoc.internal.doclets.formats.html;
|
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
import javax.lang.model.element.PackageElement;
|
|
||||||
import javax.lang.model.element.TypeElement;
|
|
||||||
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.BaseConfiguration;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class to generate file for each package contents in the left-hand bottom
|
|
||||||
* frame. This will list all the Class Kinds in the package. A click on any
|
|
||||||
* class-kind will update the right-hand frame with the clicked class-kind page.
|
|
||||||
*
|
|
||||||
* <p><b>This is NOT part of any supported API.
|
|
||||||
* If you write code that depends on this, you do so at your own risk.
|
|
||||||
* This code and its internal interfaces are subject to change or
|
|
||||||
* deletion without notice.</b>
|
|
||||||
*
|
|
||||||
* @author Atul M Dambalkar
|
|
||||||
* @author Bhavesh Patel (Modified)
|
|
||||||
*/
|
|
||||||
public class PackageFrameWriter extends HtmlDocletWriter {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The package being documented.
|
|
||||||
*/
|
|
||||||
private final PackageElement packageElement;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The classes to be documented. Use this to filter out classes
|
|
||||||
* that will not be documented.
|
|
||||||
*/
|
|
||||||
private SortedSet<TypeElement> documentedClasses;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor to construct PackageFrameWriter object and to generate
|
|
||||||
* "package-frame.html" file in the respective package directory.
|
|
||||||
* For example for package "java.lang" this will generate file
|
|
||||||
* "package-frame.html" file in the "java/lang" directory. It will also
|
|
||||||
* create "java/lang" directory in the current or the destination directory
|
|
||||||
* if it doesn't exist.
|
|
||||||
*
|
|
||||||
* @param configuration the configuration of the doclet.
|
|
||||||
* @param packageElement PackageElement under consideration.
|
|
||||||
*/
|
|
||||||
public PackageFrameWriter(HtmlConfiguration configuration, PackageElement packageElement) {
|
|
||||||
super(configuration,
|
|
||||||
configuration.docPaths.forPackage(packageElement).resolve(DocPaths.PACKAGE_FRAME));
|
|
||||||
this.packageElement = packageElement;
|
|
||||||
if (configuration.getSpecifiedPackageElements().isEmpty()) {
|
|
||||||
documentedClasses = new TreeSet<>(utils.makeGeneralPurposeComparator());
|
|
||||||
documentedClasses.addAll(configuration.getIncludedTypeElements());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generate a package summary page for the left-hand bottom frame. Construct
|
|
||||||
* the PackageFrameWriter object and then use it generate the file.
|
|
||||||
*
|
|
||||||
* @param configuration the current configuration of the doclet.
|
|
||||||
* @param packageElement The package for which "pacakge-frame.html" is to be generated.
|
|
||||||
* @throws DocFileIOException if there is a problem generating the package summary page
|
|
||||||
*/
|
|
||||||
public static void generate(HtmlConfiguration configuration, PackageElement packageElement)
|
|
||||||
throws DocFileIOException {
|
|
||||||
PackageFrameWriter packgen = new PackageFrameWriter(configuration, packageElement);
|
|
||||||
String pkgName = configuration.utils.getPackageName(packageElement);
|
|
||||||
HtmlTree body = packgen.getBody(false, packgen.getWindowTitle(pkgName));
|
|
||||||
Content pkgNameContent = new StringContent(pkgName);
|
|
||||||
HtmlTree htmlTree = HtmlTree.MAIN();
|
|
||||||
Content heading = HtmlTree.HEADING(Headings.PAGE_TITLE_HEADING, HtmlStyle.bar,
|
|
||||||
packgen.getTargetPackageLink(packageElement, "classFrame", pkgNameContent));
|
|
||||||
htmlTree.add(heading);
|
|
||||||
HtmlTree div = new HtmlTree(HtmlTag.DIV);
|
|
||||||
div.setStyle(HtmlStyle.indexContainer);
|
|
||||||
packgen.addClassListing(div);
|
|
||||||
htmlTree.add(div);
|
|
||||||
body.add(htmlTree);
|
|
||||||
packgen.printHtmlDocument(
|
|
||||||
configuration.metakeywords.getMetaKeywords(packageElement),
|
|
||||||
getDescription("package summary (frame)", packageElement),
|
|
||||||
body);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add class listing for all the classes in this package. Divide class
|
|
||||||
* listing as per the class kind and generate separate listing for
|
|
||||||
* Classes, Interfaces, Exceptions and Errors.
|
|
||||||
*
|
|
||||||
* @param contentTree the content tree to which the listing will be added
|
|
||||||
*/
|
|
||||||
protected void addClassListing(HtmlTree contentTree) {
|
|
||||||
BaseConfiguration config = configuration;
|
|
||||||
if (utils.isSpecified(packageElement)) {
|
|
||||||
addClassKindListing(utils.getInterfaces(packageElement),
|
|
||||||
contents.interfaces, contentTree);
|
|
||||||
addClassKindListing(utils.getOrdinaryClasses(packageElement),
|
|
||||||
contents.classes, contentTree);
|
|
||||||
addClassKindListing(utils.getEnums(packageElement),
|
|
||||||
contents.enums, contentTree);
|
|
||||||
addClassKindListing(utils.getExceptions(packageElement),
|
|
||||||
contents.exceptions, contentTree);
|
|
||||||
addClassKindListing(utils.getErrors(packageElement),
|
|
||||||
contents.errors, contentTree);
|
|
||||||
addClassKindListing(utils.getAnnotationTypes(packageElement),
|
|
||||||
contents.annotationTypes, contentTree);
|
|
||||||
} else {
|
|
||||||
addClassKindListing(config.typeElementCatalog.interfaces(packageElement),
|
|
||||||
contents.interfaces, contentTree);
|
|
||||||
addClassKindListing(config.typeElementCatalog.ordinaryClasses(packageElement),
|
|
||||||
contents.classes, contentTree);
|
|
||||||
addClassKindListing(config.typeElementCatalog.enums(packageElement),
|
|
||||||
contents.enums, contentTree);
|
|
||||||
addClassKindListing(config.typeElementCatalog.exceptions(packageElement),
|
|
||||||
contents.exceptions, contentTree);
|
|
||||||
addClassKindListing(config.typeElementCatalog.errors(packageElement),
|
|
||||||
contents.errors, contentTree);
|
|
||||||
addClassKindListing(config.typeElementCatalog.annotationTypes(packageElement),
|
|
||||||
contents.annotationTypes, contentTree);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add specific class kind listing. Also add label to the listing.
|
|
||||||
*
|
|
||||||
* @param list list of specific class kinds, namely Class or Interface or Exception or Error
|
|
||||||
* @param labelContent content tree of the label to be added
|
|
||||||
* @param contentTree the content tree to which the class kind listing will be added
|
|
||||||
*/
|
|
||||||
protected void addClassKindListing(Iterable<TypeElement> list, Content labelContent,
|
|
||||||
HtmlTree contentTree) {
|
|
||||||
SortedSet<TypeElement> tset = utils.filterOutPrivateClasses(list, configuration.javafx);
|
|
||||||
if(!tset.isEmpty()) {
|
|
||||||
boolean printedHeader = false;
|
|
||||||
HtmlTree htmlTree = HtmlTree.SECTION();
|
|
||||||
HtmlTree ul = new HtmlTree(HtmlTag.UL);
|
|
||||||
ul.setTitle(labelContent);
|
|
||||||
for (TypeElement typeElement : tset) {
|
|
||||||
if (documentedClasses != null && !documentedClasses.contains(typeElement)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (!utils.isCoreClass(typeElement) || !configuration.isGeneratedDoc(typeElement)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (!printedHeader) {
|
|
||||||
Content heading = HtmlTree.HEADING(Headings.CONTENT_HEADING,
|
|
||||||
true, labelContent);
|
|
||||||
htmlTree.add(heading);
|
|
||||||
printedHeader = true;
|
|
||||||
}
|
|
||||||
Content arr_i_name = new StringContent(utils.getSimpleName(typeElement));
|
|
||||||
if (utils.isInterface(typeElement))
|
|
||||||
arr_i_name = HtmlTree.SPAN(HtmlStyle.interfaceName, arr_i_name);
|
|
||||||
Content link = getLink(new LinkInfoImpl(configuration,
|
|
||||||
LinkInfoImpl.Kind.PACKAGE_FRAME, typeElement).label(arr_i_name).target("classFrame"));
|
|
||||||
Content li = HtmlTree.LI(link);
|
|
||||||
ul.add(li);
|
|
||||||
}
|
|
||||||
htmlTree.add(ul);
|
|
||||||
contentTree.add(htmlTree);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,191 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 1998, 2019, 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. Oracle designates this
|
|
||||||
* particular file as subject to the "Classpath" exception as provided
|
|
||||||
* by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
*
|
|
||||||
* 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 jdk.javadoc.internal.doclets.formats.html;
|
|
||||||
|
|
||||||
import javax.lang.model.element.PackageElement;
|
|
||||||
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.RawHtml;
|
|
||||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
|
|
||||||
import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generate the package index for the left-hand frame in the generated output.
|
|
||||||
* A click on the package name in this frame will update the page in the bottom
|
|
||||||
* left hand frame with the listing of contents of the clicked package.
|
|
||||||
*
|
|
||||||
* <p><b>This is NOT part of any supported API.
|
|
||||||
* If you write code that depends on this, you do so at your own risk.
|
|
||||||
* This code and its internal interfaces are subject to change or
|
|
||||||
* deletion without notice.</b>
|
|
||||||
*
|
|
||||||
* @author Atul M Dambalkar
|
|
||||||
*/
|
|
||||||
public class PackageIndexFrameWriter extends AbstractPackageIndexWriter {
|
|
||||||
/**
|
|
||||||
* The heading (h1 or h2) to use for the module list,
|
|
||||||
* set by addNavigationBarHeader depending on whether or not there
|
|
||||||
* is an additional initial heading.
|
|
||||||
*/
|
|
||||||
private HtmlTag packageListHeading;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Construct the PackageIndexFrameWriter object.
|
|
||||||
*
|
|
||||||
* @param filename Name of the package index file to be generated.
|
|
||||||
*/
|
|
||||||
public PackageIndexFrameWriter(HtmlConfiguration configuration, DocPath filename) {
|
|
||||||
super(configuration, filename);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generate the package index file named "overview-frame.html".
|
|
||||||
* @throws DocFileIOException
|
|
||||||
*/
|
|
||||||
public static void generate(HtmlConfiguration configuration) throws DocFileIOException {
|
|
||||||
DocPath filename = DocPaths.OVERVIEW_FRAME;
|
|
||||||
PackageIndexFrameWriter packgen = new PackageIndexFrameWriter(configuration, filename);
|
|
||||||
packgen.buildPackageIndexFile("doclet.Window_Overview",
|
|
||||||
"package index (frame)",
|
|
||||||
false);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
protected void addPackagesList(Content main) {
|
|
||||||
Content heading = HtmlTree.HEADING(packageListHeading, true,
|
|
||||||
contents.packagesLabel);
|
|
||||||
HtmlTree htmlTree = HtmlTree.DIV(HtmlStyle.indexContainer, heading);
|
|
||||||
HtmlTree ul = new HtmlTree(HtmlTag.UL);
|
|
||||||
ul.setTitle(contents.packagesLabel);
|
|
||||||
for (PackageElement aPackage : packages) {
|
|
||||||
// Do not list the package if -nodeprecated option is set and the
|
|
||||||
// package is marked as deprecated.
|
|
||||||
if (aPackage != null &&
|
|
||||||
(!(configuration.nodeprecated && utils.isDeprecated(aPackage)))) {
|
|
||||||
ul.add(getPackage(aPackage));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
htmlTree.add(ul);
|
|
||||||
main.add(htmlTree);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns each package name as a separate link.
|
|
||||||
*
|
|
||||||
* @param pe PackageElement
|
|
||||||
* @return content for the package link
|
|
||||||
*/
|
|
||||||
protected Content getPackage(PackageElement pe) {
|
|
||||||
Content packageLinkContent;
|
|
||||||
Content packageLabel;
|
|
||||||
if (pe.isUnnamed()) {
|
|
||||||
packageLabel = new StringContent("<unnamed package>");
|
|
||||||
packageLinkContent = links.createLink(DocPaths.PACKAGE_FRAME,
|
|
||||||
packageLabel, "", "packageFrame");
|
|
||||||
} else {
|
|
||||||
packageLabel = getPackageLabel(pe.getQualifiedName());
|
|
||||||
packageLinkContent = links.createLink(pathString(pe,
|
|
||||||
DocPaths.PACKAGE_FRAME), packageLabel, "",
|
|
||||||
"packageFrame");
|
|
||||||
}
|
|
||||||
Content li = HtmlTree.LI(packageLinkContent);
|
|
||||||
return li;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
protected void addNavigationBarHeader(Content header) {
|
|
||||||
Content headerContent;
|
|
||||||
if (configuration.packagesheader.length() > 0) {
|
|
||||||
headerContent = new RawHtml(replaceDocRootDir(configuration.packagesheader));
|
|
||||||
} else {
|
|
||||||
headerContent = new RawHtml(replaceDocRootDir(configuration.header));
|
|
||||||
}
|
|
||||||
if (!headerContent.isEmpty()) {
|
|
||||||
Content heading = HtmlTree.HEADING(Headings.PAGE_TITLE_HEADING, true,
|
|
||||||
HtmlStyle.bar, headerContent);
|
|
||||||
header.add(heading);
|
|
||||||
packageListHeading = Headings.IndexFrames.PACKAGE_HEADING;
|
|
||||||
} else {
|
|
||||||
packageListHeading = Headings.PAGE_TITLE_HEADING;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Do nothing as there is no overview information in this page.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
protected void addOverviewHeader(Content body) {
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds "All Classes" link for the top of the left-hand frame page to the
|
|
||||||
* documentation tree.
|
|
||||||
*
|
|
||||||
* @param ul the Content object to which the "All Classes" link should be added
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
protected void addAllClassesLink(Content ul) {
|
|
||||||
Content linkContent = links.createLink(DocPaths.ALLCLASSES_FRAME,
|
|
||||||
contents.allClassesLabel, "", "packageFrame");
|
|
||||||
Content li = HtmlTree.LI(linkContent);
|
|
||||||
ul.add(li);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds "All Modules" link for the top of the left-hand frame page to the
|
|
||||||
* documentation tree.
|
|
||||||
*
|
|
||||||
* @param ul the Content object to which the "All Modules" link should be added
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
protected void addAllModulesLink(Content ul) {
|
|
||||||
Content linkContent = links.createLink(DocPaths.MODULE_OVERVIEW_FRAME,
|
|
||||||
contents.allModulesLabel, "", "packageListFrame");
|
|
||||||
Content li = HtmlTree.LI(linkContent);
|
|
||||||
ul.add(li);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
protected void addNavigationBarFooter(Content footer) {
|
|
||||||
Content p = HtmlTree.P(Contents.SPACE);
|
|
||||||
footer.add(p);
|
|
||||||
}
|
|
||||||
}
|
|
@ -42,9 +42,7 @@ import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
|
|||||||
import jdk.javadoc.internal.doclets.toolkit.util.Group;
|
import jdk.javadoc.internal.doclets.toolkit.util.Group;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate the package index page "overview-summary.html" for the right-hand
|
* Generate the package index page "index.html".
|
||||||
* frame. A click on the package name on this page will update the same frame
|
|
||||||
* with the "package-summary.html" file for the clicked package.
|
|
||||||
*
|
*
|
||||||
* <p><b>This is NOT part of any supported API.
|
* <p><b>This is NOT part of any supported API.
|
||||||
* If you write code that depends on this, you do so at your own risk.
|
* If you write code that depends on this, you do so at your own risk.
|
||||||
@ -70,15 +68,15 @@ public class PackageIndexWriter extends AbstractPackageIndexWriter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate the package index page for the right-hand frame.
|
* Generate the package index page.
|
||||||
*
|
*
|
||||||
* @param configuration the current configuration of the doclet.
|
* @param configuration the current configuration of the doclet.
|
||||||
* @throws DocFileIOException if there is a problem generating the package index page
|
* @throws DocFileIOException if there is a problem generating the package index page
|
||||||
*/
|
*/
|
||||||
public static void generate(HtmlConfiguration configuration) throws DocFileIOException {
|
public static void generate(HtmlConfiguration configuration) throws DocFileIOException {
|
||||||
DocPath filename = DocPaths.overviewSummary(configuration.frames);
|
DocPath filename = DocPaths.INDEX;
|
||||||
PackageIndexWriter packgen = new PackageIndexWriter(configuration, filename);
|
PackageIndexWriter packgen = new PackageIndexWriter(configuration, filename);
|
||||||
packgen.buildPackageIndexFile("doclet.Window_Overview_Summary", "package index", true);
|
packgen.buildPackageIndexFile("doclet.Window_Overview_Summary", "package index");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -131,7 +131,7 @@ public class PackageTreeWriter extends AbstractTreeWriter {
|
|||||||
protected HtmlTree getPackageTreeHeader() {
|
protected HtmlTree getPackageTreeHeader() {
|
||||||
String packageName = packageElement.isUnnamed() ? "" : utils.getPackageName(packageElement);
|
String packageName = packageElement.isUnnamed() ? "" : utils.getPackageName(packageElement);
|
||||||
String title = packageName + " " + resources.getText("doclet.Window_Class_Hierarchy");
|
String title = packageName + " " + resources.getText("doclet.Window_Class_Hierarchy");
|
||||||
HtmlTree bodyTree = getBody(true, getWindowTitle(title));
|
HtmlTree bodyTree = getBody(getWindowTitle(title));
|
||||||
HtmlTree htmlTree = HtmlTree.HEADER();
|
HtmlTree htmlTree = HtmlTree.HEADER();
|
||||||
addTop(htmlTree);
|
addTop(htmlTree);
|
||||||
Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(packageElement),
|
Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(packageElement),
|
||||||
|
@ -237,7 +237,7 @@ public class PackageUseWriter extends SubWriterHolderWriter {
|
|||||||
String packageText = resources.getText("doclet.Package");
|
String packageText = resources.getText("doclet.Package");
|
||||||
String name = packageElement.isUnnamed() ? "" : utils.getPackageName(packageElement);
|
String name = packageElement.isUnnamed() ? "" : utils.getPackageName(packageElement);
|
||||||
String title = resources.getText("doclet.Window_ClassUse_Header", packageText, name);
|
String title = resources.getText("doclet.Window_ClassUse_Header", packageText, name);
|
||||||
HtmlTree bodyTree = getBody(true, getWindowTitle(title));
|
HtmlTree bodyTree = getBody(getWindowTitle(title));
|
||||||
HtmlTree htmlTree = HtmlTree.HEADER();
|
HtmlTree htmlTree = HtmlTree.HEADER();
|
||||||
addTop(htmlTree);
|
addTop(htmlTree);
|
||||||
Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(packageElement),
|
Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(packageElement),
|
||||||
|
@ -105,7 +105,7 @@ public class PackageWriterImpl extends HtmlDocletWriter
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Content getPackageHeader(String heading) {
|
public Content getPackageHeader(String heading) {
|
||||||
HtmlTree bodyTree = getBody(true, getWindowTitle(utils.getPackageName(packageElement)));
|
HtmlTree bodyTree = getBody(getWindowTitle(utils.getPackageName(packageElement)));
|
||||||
HtmlTree htmlTree = HtmlTree.HEADER();
|
HtmlTree htmlTree = HtmlTree.HEADER();
|
||||||
addTop(htmlTree);
|
addTop(htmlTree);
|
||||||
Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(packageElement),
|
Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(packageElement),
|
||||||
|
@ -78,7 +78,7 @@ public class SerializedFormWriterImpl extends SubWriterHolderWriter
|
|||||||
* @return the body content tree
|
* @return the body content tree
|
||||||
*/
|
*/
|
||||||
public Content getHeader(String header) {
|
public Content getHeader(String header) {
|
||||||
HtmlTree bodyTree = getBody(true, getWindowTitle(header));
|
HtmlTree bodyTree = getBody(getWindowTitle(header));
|
||||||
HtmlTree htmlTree = HtmlTree.HEADER();
|
HtmlTree htmlTree = HtmlTree.HEADER();
|
||||||
addTop(htmlTree);
|
addTop(htmlTree);
|
||||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||||
|
@ -92,7 +92,7 @@ public class SingleIndexWriter extends AbstractIndexWriter {
|
|||||||
*/
|
*/
|
||||||
protected void generateIndexFile() throws DocFileIOException {
|
protected void generateIndexFile() throws DocFileIOException {
|
||||||
String title = resources.getText("doclet.Window_Single_Index");
|
String title = resources.getText("doclet.Window_Single_Index");
|
||||||
HtmlTree body = getBody(true, getWindowTitle(title));
|
HtmlTree body = getBody(getWindowTitle(title));
|
||||||
HtmlTree header = HtmlTree.HEADER();
|
HtmlTree header = HtmlTree.HEADER();
|
||||||
addTop(header);
|
addTop(header);
|
||||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||||
|
@ -120,7 +120,7 @@ public class SplitIndexWriter extends AbstractIndexWriter {
|
|||||||
protected void generateIndexFile(Character unicode) throws DocFileIOException {
|
protected void generateIndexFile(Character unicode) throws DocFileIOException {
|
||||||
String title = resources.getText("doclet.Window_Split_Index",
|
String title = resources.getText("doclet.Window_Split_Index",
|
||||||
unicode.toString());
|
unicode.toString());
|
||||||
HtmlTree body = getBody(true, getWindowTitle(title));
|
HtmlTree body = getBody(getWindowTitle(title));
|
||||||
HtmlTree header = HtmlTree.HEADER();
|
HtmlTree header = HtmlTree.HEADER();
|
||||||
addTop(header);
|
addTop(header);
|
||||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||||
|
@ -175,7 +175,7 @@ public class TreeWriter extends AbstractTreeWriter {
|
|||||||
*/
|
*/
|
||||||
protected HtmlTree getTreeHeader() {
|
protected HtmlTree getTreeHeader() {
|
||||||
String title = resources.getText("doclet.Window_Class_Hierarchy");
|
String title = resources.getText("doclet.Window_Class_Hierarchy");
|
||||||
HtmlTree bodyTree = getBody(true, getWindowTitle(title));
|
HtmlTree bodyTree = getBody(getWindowTitle(title));
|
||||||
HtmlTree htmlTree = HtmlTree.HEADER();
|
HtmlTree htmlTree = HtmlTree.HEADER();
|
||||||
addTop(htmlTree);
|
addTop(htmlTree);
|
||||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||||
|
@ -824,7 +824,7 @@ public class Navigation {
|
|||||||
|
|
||||||
private void addOverviewLink(Content tree) {
|
private void addOverviewLink(Content tree) {
|
||||||
if (configuration.createoverview) {
|
if (configuration.createoverview) {
|
||||||
tree.add(HtmlTree.LI(links.createLink(pathToRoot.resolve(DocPaths.overviewSummary(configuration.frames)),
|
tree.add(HtmlTree.LI(links.createLink(pathToRoot.resolve(DocPaths.INDEX),
|
||||||
contents.overviewLabel, "", "")));
|
contents.overviewLabel, "", "")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -930,27 +930,6 @@ public class Navigation {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Add "FRAMES" link, to switch to the frame version of the output.
|
|
||||||
*
|
|
||||||
* @param tree the content tree to which the link will be added
|
|
||||||
*/
|
|
||||||
private void addNavShowLists(Content tree) {
|
|
||||||
DocLink dl = new DocLink(pathToRoot.resolve(DocPaths.INDEX), path.getPath(), null);
|
|
||||||
Content framesContent = links.createLink(dl, contents.framesLabel, "", "_top");
|
|
||||||
tree.add(HtmlTree.LI(framesContent));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add "NO FRAMES" link, to switch to the non-frame version of the output.
|
|
||||||
*
|
|
||||||
* @param tree the content tree to which the link will be added
|
|
||||||
*/
|
|
||||||
private void addNavHideLists(Content tree) {
|
|
||||||
Content noFramesContent = links.createLink(path.basename(), contents.noFramesLabel, "", "_top");
|
|
||||||
tree.add(HtmlTree.LI(noFramesContent));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void addSearch(Content tree) {
|
private void addSearch(Content tree) {
|
||||||
String searchValueId = "search";
|
String searchValueId = "search";
|
||||||
String reset = "reset";
|
String reset = "reset";
|
||||||
@ -1018,15 +997,6 @@ public class Navigation {
|
|||||||
ulNavDetail.setStyle(HtmlStyle.subNavList);
|
ulNavDetail.setStyle(HtmlStyle.subNavList);
|
||||||
addDetailLinks(ulNavDetail);
|
addDetailLinks(ulNavDetail);
|
||||||
div.add(ulNavDetail);
|
div.add(ulNavDetail);
|
||||||
HtmlTree ulFrames = new HtmlTree(HtmlTag.UL);
|
|
||||||
ulFrames.setStyle(HtmlStyle.navList);
|
|
||||||
if (!configuration.nonavbar) {
|
|
||||||
if (configuration.frames) {
|
|
||||||
addNavShowLists(ulFrames);
|
|
||||||
addNavHideLists(ulFrames);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
div.add(ulFrames);
|
|
||||||
subDiv.add(div);
|
subDiv.add(div);
|
||||||
if (top && configuration.createindex) {
|
if (top && configuration.createindex) {
|
||||||
addSearch(subDiv);
|
addSearch(subDiv);
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
doclet.build_version=Standard Doclet version {0}
|
doclet.build_version=Standard Doclet version {0}
|
||||||
doclet.Contents=Contents
|
doclet.Contents=Contents
|
||||||
doclet.Overview=Overview
|
doclet.Overview=Overview
|
||||||
doclet.Window_Overview=Overview List
|
|
||||||
doclet.Window_Overview_Summary=Overview
|
doclet.Window_Overview_Summary=Overview
|
||||||
doclet.Element=Element
|
doclet.Element=Element
|
||||||
doclet.Package=Package
|
doclet.Package=Package
|
||||||
@ -167,10 +166,6 @@ doclet.help.index.head=\
|
|||||||
doclet.help.index.body=\
|
doclet.help.index.body=\
|
||||||
The {0} contains an alphabetic index of all classes, interfaces, constructors, methods, \
|
The {0} contains an alphabetic index of all classes, interfaces, constructors, methods, \
|
||||||
and fields, as well as lists of all packages and all classes.
|
and fields, as well as lists of all packages and all classes.
|
||||||
doclet.help.frames.head=\
|
|
||||||
Frames/No Frames
|
|
||||||
doclet.help.frames.body=\
|
|
||||||
These links show and hide the HTML frames. All pages are available with or without frames.
|
|
||||||
doclet.help.serial_form.body=\
|
doclet.help.serial_form.body=\
|
||||||
Each serializable or externalizable class has a description of its serialization fields and \
|
Each serializable or externalizable class has a description of its serialization fields and \
|
||||||
methods. This information is of interest to re-implementors, not to developers using the API. \
|
methods. This information is of interest to re-implementors, not to developers using the API. \
|
||||||
@ -446,9 +441,7 @@ doclet.usage.xdoclint-package.description=\
|
|||||||
of the given package. Prefix the package specifier with - to\n\
|
of the given package. Prefix the package specifier with - to\n\
|
||||||
disable checks for the specified packages.
|
disable checks for the specified packages.
|
||||||
|
|
||||||
# L10N: do not localize the option names --frames
|
# L10N: do not localize the option names --no-frames
|
||||||
doclet.Frames_specified=\
|
doclet.NoFrames_specified=\
|
||||||
You have specified to generate frames, by using the --frames option.\n\
|
The --no-frames option is no longer required and may be removed\n\
|
||||||
The default is currently to not generate frames and the support for \n\
|
in a future release.
|
||||||
frames will be removed in a future release.\n\
|
|
||||||
To suppress this warning, remove the --frames option and avoid the use of frames.
|
|
||||||
|
@ -124,8 +124,6 @@ doclet.modules=modules
|
|||||||
doclet.All_Classes=All Classes
|
doclet.All_Classes=All Classes
|
||||||
doclet.All_Superinterfaces=All Superinterfaces:
|
doclet.All_Superinterfaces=All Superinterfaces:
|
||||||
doclet.All_Implemented_Interfaces=All Implemented Interfaces:
|
doclet.All_Implemented_Interfaces=All Implemented Interfaces:
|
||||||
doclet.All_classes_and_interfaces=All classes and interfaces (except non-static nested types)
|
|
||||||
doclet.Package_class_and_interface_descriptions=Package, class and interface descriptions
|
|
||||||
doclet.Interface=Interface
|
doclet.Interface=Interface
|
||||||
doclet.Class=Class
|
doclet.Class=Class
|
||||||
doclet.AnnotationType=Annotation Type
|
doclet.AnnotationType=Annotation Type
|
||||||
|
@ -150,10 +150,6 @@ function updateTabs(type) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateModuleFrame(pFrame, cFrame) {
|
|
||||||
top.packageFrame.location = pFrame;
|
|
||||||
top.classFrame.location = cFrame;
|
|
||||||
}
|
|
||||||
function switchTab(e) {
|
function switchTab(e) {
|
||||||
if (e.keyCode == 37 || e.keyCode == 38) {
|
if (e.keyCode == 37 || e.keyCode == 38) {
|
||||||
$("[aria-selected=true]").prev().click().focus();
|
$("[aria-selected=true]").prev().click().focus();
|
||||||
|
@ -51,25 +51,12 @@ public class DocPaths {
|
|||||||
|
|
||||||
public static final DocPath DOT_DOT = DocPath.create("..");
|
public static final DocPath DOT_DOT = DocPath.create("..");
|
||||||
|
|
||||||
/** The name of the file for all classes, without using frames, when --no-frames is specified. */
|
|
||||||
public static final DocPath ALLCLASSES = DocPath.create("allclasses.html");
|
|
||||||
|
|
||||||
/** The name of the file for all classes, using frames. */
|
|
||||||
public static final DocPath ALLCLASSES_FRAME = DocPath.create("allclasses-frame.html");
|
|
||||||
|
|
||||||
/** The name of the file for all classes index. */
|
/** The name of the file for all classes index. */
|
||||||
public static final DocPath ALLCLASSES_INDEX = DocPath.create("allclasses-index.html");
|
public static final DocPath ALLCLASSES_INDEX = DocPath.create("allclasses-index.html");
|
||||||
|
|
||||||
/** The name of the file for all packages index. */
|
/** The name of the file for all packages index. */
|
||||||
public static final DocPath ALLPACKAGES_INDEX = DocPath.create("allpackages-index.html");
|
public static final DocPath ALLPACKAGES_INDEX = DocPath.create("allpackages-index.html");
|
||||||
|
|
||||||
/** The name of the file for all classes, without using frames. */
|
|
||||||
public static final DocPath ALLCLASSES_NOFRAME = DocPath.create("allclasses-noframe.html");
|
|
||||||
|
|
||||||
public static DocPath AllClasses(boolean frames) {
|
|
||||||
return frames ? ALLCLASSES_NOFRAME : ALLCLASSES;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** The name of the sub-directory for storing class usage info. */
|
/** The name of the sub-directory for storing class usage info. */
|
||||||
public static final DocPath CLASS_USE = DocPath.create("class-use");
|
public static final DocPath CLASS_USE = DocPath.create("class-use");
|
||||||
|
|
||||||
@ -163,22 +150,12 @@ public class DocPaths {
|
|||||||
/** The name of the module search index js file. */
|
/** The name of the module search index js file. */
|
||||||
public static final DocPath MODULE_SEARCH_INDEX_JS = DocPath.create("module-search-index.js");
|
public static final DocPath MODULE_SEARCH_INDEX_JS = DocPath.create("module-search-index.js");
|
||||||
|
|
||||||
/** The name of the file for the overview frame. */
|
|
||||||
public static final DocPath OVERVIEW_FRAME = DocPath.create("overview-frame.html");
|
|
||||||
|
|
||||||
/** The name of the file for the overview summary. */
|
/** The name of the file for the overview summary. */
|
||||||
public static final DocPath OVERVIEW_SUMMARY = DocPath.create("overview-summary.html");
|
public static final DocPath OVERVIEW_SUMMARY = DocPath.create("overview-summary.html");
|
||||||
|
|
||||||
public static DocPath overviewSummary(boolean frames) {
|
|
||||||
return frames ? OVERVIEW_SUMMARY : INDEX;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** The name of the file for the overview tree. */
|
/** The name of the file for the overview tree. */
|
||||||
public static final DocPath OVERVIEW_TREE = DocPath.create("overview-tree.html");
|
public static final DocPath OVERVIEW_TREE = DocPath.create("overview-tree.html");
|
||||||
|
|
||||||
/** The name of the file for the package frame. */
|
|
||||||
public static final DocPath PACKAGE_FRAME = DocPath.create("package-frame.html");
|
|
||||||
|
|
||||||
/** The name of the file for the package list. This is to support the legacy mode. */
|
/** The name of the file for the package list. This is to support the legacy mode. */
|
||||||
public static final DocPath PACKAGE_LIST = DocPath.create("package-list");
|
public static final DocPath PACKAGE_LIST = DocPath.create("package-list");
|
||||||
|
|
||||||
@ -305,15 +282,6 @@ public class DocPaths {
|
|||||||
return createModulePath(mdle, "doc-files");
|
return createModulePath(mdle, "doc-files");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* The path for the file for a module's frame page.
|
|
||||||
* @param mdle the module
|
|
||||||
* @return the path
|
|
||||||
*/
|
|
||||||
public DocPath moduleFrame(ModuleElement mdle) {
|
|
||||||
return createModulePath(mdle, "frame.html");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The path for the file for a module's summary page.
|
* The path for the file for a module's summary page.
|
||||||
* @param mdle the module
|
* @param mdle the module
|
||||||
@ -332,15 +300,6 @@ public class DocPaths {
|
|||||||
return createModulePath(mdleName, "summary.html");
|
return createModulePath(mdleName, "summary.html");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* The path for the file for a module's type frame page.
|
|
||||||
* @param mdle the module
|
|
||||||
* @return the path
|
|
||||||
*/
|
|
||||||
public DocPath moduleTypeFrame(ModuleElement mdle) {
|
|
||||||
return createModulePath(mdle, "type-frame.html");
|
|
||||||
}
|
|
||||||
|
|
||||||
private DocPath createModulePath(ModuleElement mdle, String path) {
|
private DocPath createModulePath(ModuleElement mdle, String path) {
|
||||||
return DocPath.create(mdle.getQualifiedName() + moduleSeparator + path);
|
return DocPath.create(mdle.getQualifiedName() + moduleSeparator + path);
|
||||||
}
|
}
|
||||||
@ -349,9 +308,6 @@ public class DocPaths {
|
|||||||
return DocPath.create(moduleName + moduleSeparator + path);
|
return DocPath.create(moduleName + moduleSeparator + path);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** The name of the file for the module overview frame. */
|
|
||||||
public static final DocPath MODULE_OVERVIEW_FRAME = DocPath.create("module-overview-frame.html");
|
|
||||||
|
|
||||||
/** The name of the sub-package from which resources are read. */
|
/** The name of the sub-package from which resources are read. */
|
||||||
public static final DocPath RESOURCES = DocPath.create("resources");
|
public static final DocPath RESOURCES = DocPath.create("resources");
|
||||||
|
|
||||||
|
@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2002, 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 p1;
|
|
||||||
|
|
||||||
public class C1 {
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2002, 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 p2;
|
|
||||||
|
|
||||||
public class C2 {
|
|
||||||
}
|
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -46,7 +46,6 @@ public class AccessH1 extends JavadocTester {
|
|||||||
public void test() {
|
public void test() {
|
||||||
javadoc("-d", "out",
|
javadoc("-d", "out",
|
||||||
"-doctitle", "Document Title",
|
"-doctitle", "Document Title",
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"p1", "p2");
|
"p1", "p2");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
@ -58,7 +57,7 @@ public class AccessH1 extends JavadocTester {
|
|||||||
+ "}");
|
+ "}");
|
||||||
|
|
||||||
// Test the doc title in the overview page
|
// Test the doc title in the overview page
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<h1 class=\"title\">Document Title</h1>");
|
"<h1 class=\"title\">Document Title</h1>");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -48,7 +48,6 @@ public class AccessSummary extends JavadocTester {
|
|||||||
@Test
|
@Test
|
||||||
public void testAccessSummary() {
|
public void testAccessSummary() {
|
||||||
javadoc("-d", "out",
|
javadoc("-d", "out",
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"p1", "p2");
|
"p1", "p2");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
@ -56,7 +55,7 @@ public class AccessSummary extends JavadocTester {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void checkSummary(boolean found) {
|
void checkSummary(boolean found) {
|
||||||
checkOutput("overview-summary.html", found,
|
checkOutput("index.html", found,
|
||||||
"summary=\"Package Summary table, listing packages, and an explanation\"");
|
"summary=\"Package Summary table, listing packages, and an explanation\"");
|
||||||
|
|
||||||
// Test that the summary attribute appears or not
|
// Test that the summary attribute appears or not
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -57,7 +57,6 @@ public class DocRootSlash extends JavadocTester {
|
|||||||
javadoc("-d", "out",
|
javadoc("-d", "out",
|
||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"-overview", (srcdir + "/overview.html"),
|
"-overview", (srcdir + "/overview.html"),
|
||||||
"--frames",
|
|
||||||
"-header", "<A HREF=\"{@docroot}/element-list\">{@docroot}</A> <A HREF=\"{@docRoot}/help-doc.html\">{@docRoot}</A>",
|
"-header", "<A HREF=\"{@docroot}/element-list\">{@docroot}</A> <A HREF=\"{@docRoot}/help-doc.html\">{@docRoot}</A>",
|
||||||
"-sourcepath", srcdir,
|
"-sourcepath", srcdir,
|
||||||
"p1", "p2");
|
"p1", "p2");
|
||||||
@ -65,13 +64,7 @@ public class DocRootSlash extends JavadocTester {
|
|||||||
checkFiles(
|
checkFiles(
|
||||||
"p1/C1.html",
|
"p1/C1.html",
|
||||||
"p1/package-summary.html",
|
"p1/package-summary.html",
|
||||||
"overview-summary.html");
|
"index.html");
|
||||||
|
|
||||||
// Bug 4633447: Special test for overview-frame.html
|
|
||||||
// Find two strings in file "overview-frame.html"
|
|
||||||
checkOutput("overview-frame.html", true,
|
|
||||||
"<A HREF=\"./element-list\">",
|
|
||||||
"<A HREF=\"./help-doc.html\">");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkFiles(String... filenameArray) {
|
void checkFiles(String... filenameArray) {
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
* @bug 4645058 4747738 4855054 8024756 8141492 8196202 8205593
|
* @bug 4645058 4747738 4855054 8024756 8141492 8196202 8205593 8215599
|
||||||
* @summary Javascript IE load error when linked by -linkoffline
|
* @summary Javascript IE load error when linked by -linkoffline
|
||||||
* Window title shouldn't change when loading left frames (javascript)
|
* Window title shouldn't change when loading left frames (javascript)
|
||||||
* @author dkramer
|
* @author dkramer
|
||||||
@ -46,7 +46,6 @@ public class JavascriptWinTitle extends JavadocTester {
|
|||||||
public void test() {
|
public void test() {
|
||||||
javadoc("-d", "out",
|
javadoc("-d", "out",
|
||||||
"-source", "8",
|
"-source", "8",
|
||||||
"--frames",
|
|
||||||
"-doctitle", "Document Title",
|
"-doctitle", "Document Title",
|
||||||
"-windowtitle", "Window Title",
|
"-windowtitle", "Window Title",
|
||||||
"-overview", testSrc("overview.html"),
|
"-overview", testSrc("overview.html"),
|
||||||
@ -54,26 +53,13 @@ public class JavascriptWinTitle extends JavadocTester {
|
|||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"p1", "p2");
|
"p1", "p2");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<script type=\"text/javascript\">",
|
"<script type=\"text/javascript\">",
|
||||||
"<body class=\"package-index\">");
|
"<body class=\"package-index\">");
|
||||||
|
|
||||||
// Test that "onload" is not present in BODY tag:
|
// Test that "onload" is not present in BODY tag:
|
||||||
checkOutput("p1/package-summary.html", true, "<body class=\"package-declaration\">");
|
checkOutput("p1/package-summary.html", true, "<body class=\"package-declaration\">");
|
||||||
checkOutput("overview-frame.html", true, "<body class=\"package-index-frame\">");
|
|
||||||
checkOutput("allclasses-frame.html", true, "<body class=\"all-classes-frame\">");
|
|
||||||
checkOutput("p1/package-frame.html", true, "<body class=\"package-frame\">");
|
|
||||||
|
|
||||||
// Test that win title javascript is followed by NOSCRIPT code.
|
checkOutput("p1/C.html", true, "<title>C (Window Title)</title>");
|
||||||
checkOutput("p1/C.html", true,
|
|
||||||
"<script type=\"text/javascript\"><!--\n"
|
|
||||||
+ " try {\n"
|
|
||||||
+ " if (location.href.indexOf('is-external=true') == -1) {\n"
|
|
||||||
+ " parent.document.title=\"C (Window Title)\";\n"
|
|
||||||
+ " }\n"
|
|
||||||
+ " }\n"
|
|
||||||
+ " catch(err) {\n"
|
|
||||||
+ " }\n"
|
|
||||||
+ "//-->\n");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,6 @@ public class MetaTag extends JavadocTester {
|
|||||||
javadoc("-d", "out-1",
|
javadoc("-d", "out-1",
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-keywords",
|
"-keywords",
|
||||||
"--frames",
|
|
||||||
"-doctitle", "Sample Packages",
|
"-doctitle", "Sample Packages",
|
||||||
"p1", "p2");
|
"p1", "p2");
|
||||||
|
|
||||||
@ -69,7 +68,6 @@ public class MetaTag extends JavadocTester {
|
|||||||
javadoc("-d", "out-2",
|
javadoc("-d", "out-2",
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-notimestamp",
|
"-notimestamp",
|
||||||
"--frames",
|
|
||||||
"-doctitle", "Sample Packages",
|
"-doctitle", "Sample Packages",
|
||||||
"p1", "p2");
|
"p1", "p2");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
@ -89,7 +87,7 @@ public class MetaTag extends JavadocTester {
|
|||||||
checkOutput("p1/package-summary.html", found,
|
checkOutput("p1/package-summary.html", found,
|
||||||
"<meta name=\"keywords\" content=\"p1 package\">");
|
"<meta name=\"keywords\" content=\"p1 package\">");
|
||||||
|
|
||||||
checkOutput("overview-summary.html", found,
|
checkOutput("index.html", found,
|
||||||
"<meta name=\"keywords\" content=\"Overview, Sample Packages\">");
|
"<meta name=\"keywords\" content=\"Overview, Sample Packages\">");
|
||||||
|
|
||||||
// NOTE: Hopefully, this regression test is not run at midnight. If the output
|
// NOTE: Hopefully, this regression test is not run at midnight. If the output
|
||||||
@ -97,7 +95,7 @@ public class MetaTag extends JavadocTester {
|
|||||||
// so make sure the date has not changed since the test started
|
// so make sure the date has not changed since the test started
|
||||||
String date = date();
|
String date = date();
|
||||||
if (date.equals(startDate)) {
|
if (date.equals(startDate)) {
|
||||||
checkOutput("overview-summary.html", found,
|
checkOutput("index.html", found,
|
||||||
"<meta name=\"" + metaNameDate + "\" content=\"" + date + "\">");
|
"<meta name=\"" + metaNameDate + "\" content=\"" + date + "\">");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,95 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2002, 2018, 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @test
|
|
||||||
* @bug 4766385 8196202
|
|
||||||
* @summary Test that the header option for upper left frame
|
|
||||||
* is present for three sets of options: (1) -header,
|
|
||||||
* (2) -packagesheader, and (3) -header -packagesheader
|
|
||||||
* @author dkramer
|
|
||||||
* @library ../../lib
|
|
||||||
* @modules jdk.javadoc/jdk.javadoc.internal.tool
|
|
||||||
* @build javadoc.tester.*
|
|
||||||
* @run main PackagesHeader
|
|
||||||
*/
|
|
||||||
|
|
||||||
import javadoc.tester.JavadocTester;
|
|
||||||
|
|
||||||
public class PackagesHeader extends JavadocTester {
|
|
||||||
|
|
||||||
public static void main(String... args) throws Exception {
|
|
||||||
JavadocTester tester = new PackagesHeader();
|
|
||||||
tester.runTests();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testHeader() {
|
|
||||||
// First test with -header only
|
|
||||||
javadoc("-d", "out-header",
|
|
||||||
"-header", "Main Frame Header",
|
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
|
||||||
"p1", "p2");
|
|
||||||
checkExit(Exit.OK);
|
|
||||||
|
|
||||||
// Test that the -header shows up in the packages frame
|
|
||||||
checkOutput("overview-frame.html", true,
|
|
||||||
"Main Frame Header");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testPackagesHeader() {
|
|
||||||
// Second test with -packagesheader only
|
|
||||||
javadoc("-d", "out-packages-header",
|
|
||||||
"-packagesheader", "Packages Frame Header",
|
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
|
||||||
"p1", "p2");
|
|
||||||
checkExit(Exit.OK);
|
|
||||||
|
|
||||||
// Test that the -packagesheader string shows
|
|
||||||
// up in the packages frame
|
|
||||||
checkOutput("overview-frame.html", true,
|
|
||||||
"Packages Frame Header");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testBothHeaders() {
|
|
||||||
// Third test with both -packagesheader and -header
|
|
||||||
javadoc("-d", "out-both",
|
|
||||||
"-packagesheader", "Packages Frame Header",
|
|
||||||
"-header", "Main Frame Header",
|
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
|
||||||
"p1", "p2");
|
|
||||||
checkExit(Exit.OK);
|
|
||||||
|
|
||||||
// Test that the both headers show up and are different
|
|
||||||
checkOutput("overview-frame.html", true,
|
|
||||||
"Packages Frame Header");
|
|
||||||
|
|
||||||
checkOutput("overview-summary.html", true,
|
|
||||||
"Main Frame Header");
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2002, 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 p1;
|
|
||||||
|
|
||||||
public class C1 {
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2002, 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 p2;
|
|
||||||
|
|
||||||
public class C2 {
|
|
||||||
}
|
|
@ -51,14 +51,10 @@ public class ValidHtml extends JavadocTester {
|
|||||||
"-doctitle", "Document Title",
|
"-doctitle", "Document Title",
|
||||||
"-windowtitle", "Window Title",
|
"-windowtitle", "Window Title",
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"-overview", testSrc("overview.html"),
|
"-overview", testSrc("overview.html"),
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"p1", "p2");
|
"p1", "p2");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
// Test for IFRAME element:
|
|
||||||
checkOutput("index.html", true,
|
|
||||||
"<iframe");
|
|
||||||
// Test the table elements are in the correct order:
|
// Test the table elements are in the correct order:
|
||||||
checkOutput("p1/package-use.html", true,
|
checkOutput("p1/package-use.html", true,
|
||||||
"</td>\n"
|
"</td>\n"
|
||||||
@ -73,8 +69,5 @@ public class ValidHtml extends JavadocTester {
|
|||||||
checkOutput("overview-summary.html", true, doctype);
|
checkOutput("overview-summary.html", true, doctype);
|
||||||
checkOutput("p1/package-summary.html", true, doctype);
|
checkOutput("p1/package-summary.html", true, doctype);
|
||||||
checkOutput("p1/C.html", true, doctype);
|
checkOutput("p1/C.html", true, doctype);
|
||||||
checkOutput("overview-frame.html", true, doctype);
|
|
||||||
checkOutput("allclasses-frame.html", true, doctype);
|
|
||||||
checkOutput("p1/package-frame.html", true, doctype);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -49,21 +49,17 @@ public class WindowTitles extends JavadocTester {
|
|||||||
// Test for all cases except the split index page
|
// Test for all cases except the split index page
|
||||||
javadoc("-d", "out-1",
|
javadoc("-d", "out-1",
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"p1", "p2");
|
"p1", "p2");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
checkFiles(false, "allclasses-noframe.html");
|
checkFiles(false, "allclasses-noframe.html");
|
||||||
|
|
||||||
checkTitle("overview-summary.html", "Overview");
|
checkTitle("index.html", "Overview");
|
||||||
checkTitle("overview-tree.html", "Class Hierarchy");
|
checkTitle("overview-tree.html", "Class Hierarchy");
|
||||||
checkTitle("overview-frame.html", "Overview List");
|
|
||||||
checkTitle("p1/package-summary.html", "p1");
|
checkTitle("p1/package-summary.html", "p1");
|
||||||
checkTitle("p1/package-frame.html", "p1");
|
|
||||||
checkTitle("p1/package-tree.html", "p1 Class Hierarchy");
|
checkTitle("p1/package-tree.html", "p1 Class Hierarchy");
|
||||||
checkTitle("p1/package-use.html", "Uses of Package p1");
|
checkTitle("p1/package-use.html", "Uses of Package p1");
|
||||||
checkTitle("p1/C1.html", "C1");
|
checkTitle("p1/C1.html", "C1");
|
||||||
checkTitle("allclasses-frame.html", "All Classes");
|
|
||||||
checkTitle("constant-values.html", "Constant Field Values");
|
checkTitle("constant-values.html", "Constant Field Values");
|
||||||
checkTitle("deprecated-list.html", "Deprecated List");
|
checkTitle("deprecated-list.html", "Deprecated List");
|
||||||
checkTitle("serialized-form.html", "Serialized Form");
|
checkTitle("serialized-form.html", "Serialized Form");
|
||||||
|
@ -1,78 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2016, 2018, 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @test
|
|
||||||
* @bug 8071982 8196202
|
|
||||||
* @summary Test for package-frame.html.
|
|
||||||
* @library ../../lib
|
|
||||||
* @modules jdk.javadoc/jdk.javadoc.internal.tool
|
|
||||||
* @build javadoc.tester.*
|
|
||||||
* @run main TestClassDocCatalog
|
|
||||||
*/
|
|
||||||
|
|
||||||
import javadoc.tester.JavadocTester;
|
|
||||||
|
|
||||||
public class TestClassDocCatalog extends JavadocTester {
|
|
||||||
|
|
||||||
public static void main(String... args) throws Exception {
|
|
||||||
TestClassDocCatalog tester = new TestClassDocCatalog();
|
|
||||||
tester.runTests();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void test() {
|
|
||||||
javadoc("-d", "out",
|
|
||||||
"--frames",
|
|
||||||
testSrc("pkg1/EmptyAnnotation.java"),
|
|
||||||
testSrc("pkg1/EmptyClass.java"),
|
|
||||||
testSrc("pkg1/EmptyEnum.java"),
|
|
||||||
testSrc("pkg1/EmptyError.java"),
|
|
||||||
testSrc("pkg1/EmptyException.java"),
|
|
||||||
testSrc("pkg1/EmptyInterface.java"),
|
|
||||||
testSrc("pkg2/EmptyAnnotation.java"),
|
|
||||||
testSrc("pkg2/EmptyClass.java"),
|
|
||||||
testSrc("pkg2/EmptyEnum.java"),
|
|
||||||
testSrc("pkg2/EmptyError.java"),
|
|
||||||
testSrc("pkg2/EmptyException.java"),
|
|
||||||
testSrc("pkg2/EmptyInterface.java"));
|
|
||||||
checkExit(Exit.OK);
|
|
||||||
|
|
||||||
checkOutput("overview-frame.html", true,
|
|
||||||
"<li><a href=\"pkg1/package-frame.html\" target=\"packageFrame\">pkg1</a>"
|
|
||||||
+ "</li>\n<li><a href=\"pkg2/package-frame.html\" target=\"packageFrame\">pkg2</a></li>");
|
|
||||||
|
|
||||||
checkOutput("pkg1/package-frame.html", true,
|
|
||||||
"<li><a href=\"EmptyInterface.html\" title=\"interface in pkg1\" "
|
|
||||||
+ "target=\"classFrame\"><span class=\"interfaceName\">EmptyInterface"
|
|
||||||
+ "</span></a></li>",
|
|
||||||
"<li><a href=\"EmptyClass.html\" title=\"class in pkg1\" "
|
|
||||||
+ "target=\"classFrame\">EmptyClass</a></li>",
|
|
||||||
"<li><a href=\"EmptyEnum.html\" title=\"enum in pkg1\" "
|
|
||||||
+ "target=\"classFrame\">EmptyEnum</a></li>",
|
|
||||||
"<li><a href=\"EmptyError.html\" title=\"class in pkg1\" "
|
|
||||||
+ "target=\"classFrame\">EmptyError</a></li>",
|
|
||||||
"<li><a href=\"EmptyAnnotation.html\" title=\"annotation in pkg1\""
|
|
||||||
+ " target=\"classFrame\">EmptyAnnotation</a></li>");
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,29 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2016, 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;
|
|
||||||
|
|
||||||
import java.lang.annotation.Documented;
|
|
||||||
|
|
||||||
@Documented public @interface EmptyAnnotation {
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2016, 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 class EmptyClass {
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2016, 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 enum EmptyEnum {
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2016, 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 class EmptyError extends Error {
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2016, 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 class EmptyException extends Exception {
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2016, 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 interface EmptyInterface {
|
|
||||||
}
|
|
@ -1,29 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2016, 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 pkg2;
|
|
||||||
|
|
||||||
import java.lang.annotation.Documented;
|
|
||||||
|
|
||||||
@Documented public @interface EmptyAnnotation {
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2016, 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 pkg2;
|
|
||||||
|
|
||||||
public class EmptyClass {
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2016, 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 pkg2;
|
|
||||||
|
|
||||||
public enum EmptyEnum {
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2016, 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 pkg2;
|
|
||||||
|
|
||||||
public class EmptyError extends Error {
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2016, 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 pkg2;
|
|
||||||
|
|
||||||
public class EmptyException extends Exception {
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2016, 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 pkg2;
|
|
||||||
|
|
||||||
public interface EmptyInterface {
|
|
||||||
}
|
|
@ -1,431 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2016, 2019, 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @test
|
|
||||||
* @bug 8162353 8164747 8173707 8196202 8204303 8184205
|
|
||||||
* @summary javadoc should provide a way to disable use of frames
|
|
||||||
* @library /tools/lib ../../lib
|
|
||||||
* @modules
|
|
||||||
* jdk.compiler/com.sun.tools.javac.api
|
|
||||||
* jdk.compiler/com.sun.tools.javac.main
|
|
||||||
* jdk.javadoc/jdk.javadoc.internal.tool
|
|
||||||
* @build toolbox.ModuleBuilder toolbox.ToolBox
|
|
||||||
* @build javadoc.tester.*
|
|
||||||
* @run main TestFramesNoFrames
|
|
||||||
*/
|
|
||||||
|
|
||||||
import java.io.*;
|
|
||||||
import java.lang.annotation.Annotation;
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
|
||||||
import java.lang.reflect.Method;
|
|
||||||
import java.nio.file.*;
|
|
||||||
import java.util.*;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import toolbox.ModuleBuilder;
|
|
||||||
import toolbox.ToolBox;
|
|
||||||
|
|
||||||
import javadoc.tester.JavadocTester;
|
|
||||||
|
|
||||||
public class TestFramesNoFrames extends JavadocTester {
|
|
||||||
|
|
||||||
public static void main(String... args) throws Exception {
|
|
||||||
TestFramesNoFrames tester = new TestFramesNoFrames();
|
|
||||||
tester.generateSource();
|
|
||||||
tester.runTests();
|
|
||||||
}
|
|
||||||
|
|
||||||
ToolBox tb = new ToolBox();
|
|
||||||
Path gensrcModules = Paths.get("gensrc/modules");
|
|
||||||
Path gensrcPackages = Paths.get("gensrc/packages");
|
|
||||||
|
|
||||||
void generateSource() throws IOException {
|
|
||||||
String[] modules = { "", "m1", "m2", "m3" };
|
|
||||||
String[] packages = { "p1", "p2", "p3" };
|
|
||||||
String[] classes = { "C1", "C2", "C3" };
|
|
||||||
for (String m: modules) {
|
|
||||||
ModuleBuilder mb = m.equals("") ? null : new ModuleBuilder(tb, m);
|
|
||||||
for (String p: packages) {
|
|
||||||
Path pkgRoot;
|
|
||||||
if (m.equals("")) {
|
|
||||||
pkgRoot = gensrcPackages;
|
|
||||||
} else {
|
|
||||||
pkgRoot = gensrcModules.resolve(m);
|
|
||||||
mb.exports(m + p);
|
|
||||||
}
|
|
||||||
for (String c: classes) {
|
|
||||||
tb.writeJavaFiles(pkgRoot,
|
|
||||||
"package " + (m + p) + ";\n"
|
|
||||||
+ "/** class " + (m + p + c).toUpperCase() + ". */\n"
|
|
||||||
+ "public class " + (m + p + c).toUpperCase() + " { }"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!m.equals("")) {
|
|
||||||
mb.write(gensrcModules);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
tb.writeFile("overview.html",
|
|
||||||
"<html><body>This is the overview file</body></html>");
|
|
||||||
}
|
|
||||||
|
|
||||||
enum FrameKind {
|
|
||||||
DEFAULT(),
|
|
||||||
FRAMES("--frames"),
|
|
||||||
NO_FRAMES("--no-frames");
|
|
||||||
FrameKind(String... opts) {
|
|
||||||
this.opts = Arrays.asList(opts);
|
|
||||||
}
|
|
||||||
final List<String> opts;
|
|
||||||
}
|
|
||||||
|
|
||||||
enum OverviewKind {
|
|
||||||
DEFAULT(),
|
|
||||||
OVERVIEW("-overview", "overview.html"),
|
|
||||||
NO_OVERVIEW("-nooverview");
|
|
||||||
OverviewKind(String... opts) {
|
|
||||||
this.opts = Arrays.asList(opts);
|
|
||||||
}
|
|
||||||
final List<String> opts;
|
|
||||||
}
|
|
||||||
|
|
||||||
enum HtmlKind {
|
|
||||||
HTML5("-html5");
|
|
||||||
HtmlKind(String... opts) {
|
|
||||||
this.opts = Arrays.asList(opts);
|
|
||||||
}
|
|
||||||
final List<String> opts;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void runTests() throws Exception {
|
|
||||||
for (Method m : getClass().getDeclaredMethods()) {
|
|
||||||
Annotation a = m.getAnnotation(Test.class);
|
|
||||||
if (a != null) {
|
|
||||||
for (FrameKind fk : FrameKind.values()) {
|
|
||||||
for (OverviewKind ok : OverviewKind.values()) {
|
|
||||||
try {
|
|
||||||
out.println("Running test " + m.getName() + " " + fk + " " + ok);
|
|
||||||
Path base = Paths.get(m.getName() + "_" + fk + "_" + ok);
|
|
||||||
Files.createDirectories(base);
|
|
||||||
m.invoke(this, new Object[]{base, fk, ok});
|
|
||||||
} catch (InvocationTargetException e) {
|
|
||||||
Throwable cause = e.getCause();
|
|
||||||
throw (cause instanceof Exception) ? ((Exception)cause) : e;
|
|
||||||
}
|
|
||||||
out.println();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
printSummary();
|
|
||||||
}
|
|
||||||
|
|
||||||
void javadoc(Path outDir, FrameKind fKind, OverviewKind oKind, String... rest) {
|
|
||||||
List<String> args = new ArrayList<>();
|
|
||||||
args.add("-d");
|
|
||||||
args.add(outDir.toString());
|
|
||||||
args.addAll(fKind.opts);
|
|
||||||
args.addAll(oKind.opts);
|
|
||||||
args.addAll(Arrays.asList(rest));
|
|
||||||
javadoc(args.toArray(new String[0]));
|
|
||||||
checkExit(Exit.OK);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testClass(Path base, FrameKind fKind, OverviewKind oKind) throws Exception {
|
|
||||||
javadoc(base, fKind, oKind, gensrcPackages.resolve("p1/P1C1.java").toString());
|
|
||||||
|
|
||||||
new Checker(fKind, oKind)
|
|
||||||
.classes("p1.P1C1")
|
|
||||||
.check();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testClasses(Path base, FrameKind fKind, OverviewKind oKind) throws IOException {
|
|
||||||
javadoc(base, fKind, oKind,
|
|
||||||
gensrcPackages.resolve("p1/P1C1.java").toString(),
|
|
||||||
gensrcPackages.resolve("p1/P1C2.java").toString(),
|
|
||||||
gensrcPackages.resolve("p1/P1C3.java").toString());
|
|
||||||
|
|
||||||
new Checker(fKind, oKind)
|
|
||||||
.classes("p1.P1C1", "p1.P1C2", "p1.P1C3")
|
|
||||||
.check();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testPackage(Path base, FrameKind fKind, OverviewKind oKind) throws IOException {
|
|
||||||
javadoc(base, fKind, oKind,
|
|
||||||
"-sourcepath", gensrcPackages.toString(),
|
|
||||||
"p1");
|
|
||||||
|
|
||||||
new Checker(fKind, oKind)
|
|
||||||
.classes("p1.P1C1", "p1.P1C2", "p1.P1C3")
|
|
||||||
.check();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testPackages(Path base, FrameKind fKind, OverviewKind oKind) throws IOException {
|
|
||||||
javadoc(base, fKind, oKind,
|
|
||||||
"-sourcepath", gensrcPackages.toString(),
|
|
||||||
"p1", "p2", "p3");
|
|
||||||
|
|
||||||
new Checker(fKind, oKind)
|
|
||||||
.classes("p1.P1C1", "p1.P1C2", "p1.P1C3",
|
|
||||||
"p2.P2C1", "p2.P2C2", "p2.P2C3",
|
|
||||||
"p3.P3C1", "p3.P3C2", "p3.P3C3")
|
|
||||||
.check();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testModules(Path base, FrameKind fKind, OverviewKind oKind) throws IOException {
|
|
||||||
javadoc(base, fKind, oKind,
|
|
||||||
"--module-source-path", gensrcModules.toString(),
|
|
||||||
"--module", "m1,m2,m3");
|
|
||||||
|
|
||||||
new Checker(fKind, oKind)
|
|
||||||
.classes("m1/m1p1.M1P1C1", "m1/m1p1.M1P1C2", "m1/m1p1.M1P1C3",
|
|
||||||
"m2/m2p1.M2P1C1", "m2/m2p1.M2P1C2", "m2/m2p1.M2P1C3",
|
|
||||||
"m3/m3p1.M3P1C1", "m3/m3p1.M3P1C2", "m3/m3p1.M3P1C3")
|
|
||||||
.check();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Check the contents of the generated output, according to the
|
|
||||||
* specified options.
|
|
||||||
*/
|
|
||||||
class Checker {
|
|
||||||
private final FrameKind fKind;
|
|
||||||
private final OverviewKind oKind;
|
|
||||||
List<String> classes;
|
|
||||||
|
|
||||||
private boolean frames;
|
|
||||||
private boolean overview;
|
|
||||||
private static final String framesWarning
|
|
||||||
= "javadoc: warning - You have specified to generate frames, by using the --frames option.\n"
|
|
||||||
+ "The default is currently to not generate frames and the support for \n"
|
|
||||||
+ "frames will be removed in a future release.\n"
|
|
||||||
+ "To suppress this warning, remove the --frames option and avoid the use of frames.";
|
|
||||||
|
|
||||||
Checker(FrameKind fKind, OverviewKind oKind) {
|
|
||||||
this.fKind = fKind;
|
|
||||||
this.oKind = oKind;
|
|
||||||
}
|
|
||||||
|
|
||||||
Checker classes(String... classes) {
|
|
||||||
this.classes = Arrays.asList(classes);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
void check() throws IOException {
|
|
||||||
switch (fKind) {
|
|
||||||
case FRAMES:
|
|
||||||
frames = true;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case DEFAULT:
|
|
||||||
case NO_FRAMES:
|
|
||||||
frames = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (oKind) {
|
|
||||||
case DEFAULT:
|
|
||||||
overview = (getPackageCount() > 1);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case OVERVIEW:
|
|
||||||
overview = true;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NO_OVERVIEW:
|
|
||||||
overview = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
out.println("Checker: " + fKind + " " + oKind
|
|
||||||
+ ": frames:" + frames + " overview:" + overview);
|
|
||||||
|
|
||||||
checkAllClassesFiles();
|
|
||||||
checkFrameFiles();
|
|
||||||
checkOverviewSummary();
|
|
||||||
|
|
||||||
checkIndex();
|
|
||||||
checkNavBar();
|
|
||||||
checkHelpDoc();
|
|
||||||
|
|
||||||
checkWarning();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void checkAllClassesFiles() {
|
|
||||||
// these files are only generated in frames mode
|
|
||||||
checkFiles(frames,
|
|
||||||
"allclasses-frame.html");
|
|
||||||
|
|
||||||
checkFiles(false,
|
|
||||||
"allclasses.html");
|
|
||||||
|
|
||||||
checkFiles(false,
|
|
||||||
"allclasses-noframe.html");
|
|
||||||
|
|
||||||
if (frames) {
|
|
||||||
checkOutput("allclasses-frame.html", true,
|
|
||||||
classes.stream()
|
|
||||||
.map(c -> "title=\"class in " + packagePart(c) + "\" target=\"classFrame\">" + classPart(c) + "</a>")
|
|
||||||
.toArray(String[]::new));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void checkFrameFiles() {
|
|
||||||
// these files are all only generated in frames mode
|
|
||||||
|
|
||||||
// <module>/module-frame.html and <module>/module-type-frame.html files
|
|
||||||
checkFiles(frames, classes.stream()
|
|
||||||
.filter(c -> isInModule(c))
|
|
||||||
.map(c -> modulePart(c))
|
|
||||||
.flatMap(m -> Arrays.asList(
|
|
||||||
m + "/module-frame.html",
|
|
||||||
m + "/module-type-frame.html").stream())
|
|
||||||
.collect(Collectors.toSet()));
|
|
||||||
|
|
||||||
// <package>/package-frame.html files
|
|
||||||
checkFiles(frames, classes.stream()
|
|
||||||
.map(c -> (isInModule(c) ? (modulePart(c) + "/") : "")
|
|
||||||
+ packagePart(c)
|
|
||||||
+ "/package-frame.html")
|
|
||||||
.collect(Collectors.toSet()));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void checkHelpDoc() {
|
|
||||||
// the Help page only describes Frame/NoFrames in frames mode
|
|
||||||
checkOutput("help-doc.html", frames,
|
|
||||||
"<h2>Frames/No Frames</h2>");
|
|
||||||
}
|
|
||||||
|
|
||||||
private void checkIndex() {
|
|
||||||
// the index.html page only contains frames and Javascript to default to no-frames view,
|
|
||||||
// in frames mode
|
|
||||||
checkOutput("index.html", frames,
|
|
||||||
"<iframe ",
|
|
||||||
"</iframe>",
|
|
||||||
"<body class=\"frames\" onload=\"loadFrames()\">\n"
|
|
||||||
+ "<script type=\"text/javascript\">\n"
|
|
||||||
+ "if (targetPage == \"\" || targetPage == \"undefined\")");
|
|
||||||
|
|
||||||
// the index.html contains the overview if one
|
|
||||||
// has been given, and not in frames mode
|
|
||||||
checkOutput("index.html", !frames && oKind == OverviewKind.OVERVIEW,
|
|
||||||
"This is the overview file");
|
|
||||||
|
|
||||||
// the index.html file contains a summary table
|
|
||||||
// if an overview was generated and not in frames mode
|
|
||||||
checkOutput("index.html", !frames && overview,
|
|
||||||
"<div class=\"overviewSummary\">\n<table");
|
|
||||||
|
|
||||||
// the index.html file contains a redirect if
|
|
||||||
// no frames and no overview
|
|
||||||
checkOutput("index.html", !frames && !overview,
|
|
||||||
"<meta http-equiv=\"Refresh\" content=\"0;",
|
|
||||||
"<script type=\"text/javascript\">window.location.replace(");
|
|
||||||
|
|
||||||
if (!frames && !overview) {
|
|
||||||
checkOutput("index.html", true,
|
|
||||||
"<noscript>\n<meta http-equiv=\"Refresh\" content=\"0;");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void checkNavBar() {
|
|
||||||
// the files containing a navigation bar should only
|
|
||||||
// contain FRAMES/NO-FRAMES links in frames mode
|
|
||||||
List<String> navbarFiles = new ArrayList<>();
|
|
||||||
navbarFiles.addAll(classes.stream()
|
|
||||||
.map(c -> (isInModule(c) ? (modulePart(c) + "/") : "")
|
|
||||||
+ toHtml(packageClassPart(c)))
|
|
||||||
.collect(Collectors.toSet()));
|
|
||||||
for (String f : navbarFiles) {
|
|
||||||
checkOutput(f, frames,
|
|
||||||
"target=\"_top\">Frames</a>",
|
|
||||||
"target=\"_top\">No Frames</a>");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void checkOverviewSummary() {
|
|
||||||
// To accommodate the historical behavior of generating
|
|
||||||
// overview-summary.html in frames mode, the file
|
|
||||||
// will still be generated in no-frames mode,
|
|
||||||
// but will be a redirect to index.html
|
|
||||||
checkFiles(overview,
|
|
||||||
"overview-summary.html");
|
|
||||||
if (overview) {
|
|
||||||
checkOutput("overview-summary.html", !frames,
|
|
||||||
"<link rel=\"canonical\" href=\"index.html\">",
|
|
||||||
"<script type=\"text/javascript\">window.location.replace('index.html')</script>",
|
|
||||||
"<meta http-equiv=\"Refresh\" content=\"0;index.html\">",
|
|
||||||
"<p><a href=\"index.html\">index.html</a></p>");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void checkWarning() {
|
|
||||||
checkOutput(Output.OUT, frames, framesWarning);
|
|
||||||
}
|
|
||||||
|
|
||||||
private long getPackageCount() {
|
|
||||||
return this.classes.stream()
|
|
||||||
.filter(name -> name.contains("."))
|
|
||||||
.map(name -> name.substring(0, name.lastIndexOf(".")))
|
|
||||||
.distinct()
|
|
||||||
.count();
|
|
||||||
}
|
|
||||||
|
|
||||||
private String classPart(String className) {
|
|
||||||
int lastDot = className.lastIndexOf(".");
|
|
||||||
return className.substring(lastDot + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
private String packagePart(String className) {
|
|
||||||
int slash = className.indexOf("/");
|
|
||||||
int lastDot = className.lastIndexOf(".");
|
|
||||||
return className.substring(slash + 1, lastDot);
|
|
||||||
}
|
|
||||||
|
|
||||||
private String packageClassPart(String className) {
|
|
||||||
int slash = className.indexOf("/");
|
|
||||||
return className.substring(slash + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean isInModule(String className) {
|
|
||||||
return className.contains("/");
|
|
||||||
}
|
|
||||||
|
|
||||||
private String modulePart(String className) {
|
|
||||||
int slash = className.indexOf("/");
|
|
||||||
return className.substring(0, slash);
|
|
||||||
}
|
|
||||||
|
|
||||||
private String toHtml(String className) {
|
|
||||||
return className.replace(".", "/") + ".html";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -43,7 +43,6 @@ public class TestGeneratedBy extends JavadocTester {
|
|||||||
@Test
|
@Test
|
||||||
public void testTimestamp() {
|
public void testTimestamp() {
|
||||||
javadoc("-d", "out-timestamp",
|
javadoc("-d", "out-timestamp",
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"pkg");
|
"pkg");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
@ -56,7 +55,6 @@ public class TestGeneratedBy extends JavadocTester {
|
|||||||
public void testNoTimestamp() {
|
public void testNoTimestamp() {
|
||||||
javadoc("-d", "out-notimestamp",
|
javadoc("-d", "out-notimestamp",
|
||||||
"-notimestamp",
|
"-notimestamp",
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"pkg");
|
"pkg");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
@ -69,10 +67,8 @@ public class TestGeneratedBy extends JavadocTester {
|
|||||||
checkTimestamps(timestamp,
|
checkTimestamps(timestamp,
|
||||||
"pkg/MyClass.html",
|
"pkg/MyClass.html",
|
||||||
"pkg/package-summary.html",
|
"pkg/package-summary.html",
|
||||||
"pkg/package-frame.html",
|
|
||||||
"pkg/package-tree.html",
|
"pkg/package-tree.html",
|
||||||
"constant-values.html",
|
"constant-values.html",
|
||||||
"allclasses-frame.html",
|
|
||||||
"overview-tree.html",
|
"overview-tree.html",
|
||||||
"deprecated-list.html",
|
"deprecated-list.html",
|
||||||
"serialized-form.html",
|
"serialized-form.html",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -59,13 +59,12 @@ public class TestGroupName extends JavadocTester {
|
|||||||
"package p3; public class C3 { }");
|
"package p3; public class C3 { }");
|
||||||
|
|
||||||
javadoc("-d", base.resolve("out").toString(),
|
javadoc("-d", base.resolve("out").toString(),
|
||||||
"--frames",
|
|
||||||
"-sourcepath", src.toString(),
|
"-sourcepath", src.toString(),
|
||||||
"-group", "abc < & > def", "p1",
|
"-group", "abc < & > def", "p1",
|
||||||
"p1", "p2", "p3");
|
"p1", "p2", "p3");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
|
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<button role=\"tab\" aria-selected=\"false\" aria-controls=\"overviewSummary_tabpanel\""
|
"<button role=\"tab\" aria-selected=\"false\" aria-controls=\"overviewSummary_tabpanel\""
|
||||||
+ " tabindex=\"-1\" onkeydown=\"switchTab(event)\" id=\"t1\" class=\"tableTab\""
|
+ " tabindex=\"-1\" onkeydown=\"switchTab(event)\" id=\"t1\" class=\"tableTab\""
|
||||||
+ " onclick=\"show(1);\">abc < & > def</button>",
|
+ " onclick=\"show(1);\">abc < & > def</button>",
|
||||||
@ -94,14 +93,13 @@ public class TestGroupName extends JavadocTester {
|
|||||||
"package pc3; public class CC3 { }");
|
"package pc3; public class CC3 { }");
|
||||||
|
|
||||||
javadoc("-d", base.resolve("out").toString(),
|
javadoc("-d", base.resolve("out").toString(),
|
||||||
"--frames",
|
|
||||||
"--module-source-path", src.toString(),
|
"--module-source-path", src.toString(),
|
||||||
"-group", "abc < & > def", "ma",
|
"-group", "abc < & > def", "ma",
|
||||||
"--module", "ma,mb,mc");
|
"--module", "ma,mb,mc");
|
||||||
|
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
|
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<button role=\"tab\" aria-selected=\"false\" aria-controls=\"overviewSummary_tabpanel\""
|
"<button role=\"tab\" aria-selected=\"false\" aria-controls=\"overviewSummary_tabpanel\""
|
||||||
+ " tabindex=\"-1\" onkeydown=\"switchTab(event)\" id=\"t2\" class=\"tableTab\""
|
+ " tabindex=\"-1\" onkeydown=\"switchTab(event)\" id=\"t2\" class=\"tableTab\""
|
||||||
+ " onclick=\"show(2);\">Other Modules</button>",
|
+ " onclick=\"show(2);\">Other Modules</button>",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -62,7 +62,6 @@ public class TestGroupOption extends JavadocTester {
|
|||||||
// Make sure that the headers of group that is defined using patterns are printed.
|
// Make sure that the headers of group that is defined using patterns are printed.
|
||||||
public void test2() {
|
public void test2() {
|
||||||
javadoc("-d", "out-2",
|
javadoc("-d", "out-2",
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-group", "Group pkg*", "pkg*",
|
"-group", "Group pkg*", "pkg*",
|
||||||
"-group", "Group abc*", "abc*",
|
"-group", "Group abc*", "abc*",
|
||||||
@ -71,8 +70,8 @@ public class TestGroupOption extends JavadocTester {
|
|||||||
"pkg1", "pkg2", "pkg3", "abc1", "abc2", "abc3", "other", testSrc("InUnnamedPackage.java"));
|
"pkg1", "pkg2", "pkg3", "abc1", "abc2", "abc3", "other", testSrc("InUnnamedPackage.java"));
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
|
|
||||||
checkOutput("overview-summary.html", true, "Group pkg*", "Group abc*", "Other Packages");
|
checkOutput("index.html", true, "Group pkg*", "Group abc*", "Other Packages");
|
||||||
checkOutput("overview-summary.html", false, "Empty group", "Group a*");
|
checkOutput("index.html", false, "Empty group", "Group a*");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -47,7 +47,6 @@ public class TestHeadings extends JavadocTester {
|
|||||||
javadoc("-d", "out",
|
javadoc("-d", "out",
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"-header", "Test Files",
|
"-header", "Test Files",
|
||||||
"pkg1", "pkg2");
|
"pkg1", "pkg2");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
@ -93,13 +92,8 @@ public class TestHeadings extends JavadocTester {
|
|||||||
+ "pkg1.C1</a> extends java.lang.Object implements Serializable</h3>",
|
+ "pkg1.C1</a> extends java.lang.Object implements Serializable</h3>",
|
||||||
"<h4>Serialized Fields</h4>");
|
"<h4>Serialized Fields</h4>");
|
||||||
|
|
||||||
// Overview Frame
|
|
||||||
checkOutput("overview-frame.html", true,
|
|
||||||
"<h1 title=\"Test Files\" class=\"bar\">Test Files</h1>",
|
|
||||||
"<title>Overview List</title>");
|
|
||||||
|
|
||||||
// Overview Summary
|
// Overview Summary
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<title>Overview</title>");
|
"<title>Overview</title>");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -46,7 +46,6 @@ public class TestHiddenTag extends JavadocTester {
|
|||||||
@Test
|
@Test
|
||||||
public void test1() {
|
public void test1() {
|
||||||
javadoc("-d", "out1",
|
javadoc("-d", "out1",
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-package",
|
"-package",
|
||||||
"pkg1");
|
"pkg1");
|
||||||
@ -91,8 +90,6 @@ public class TestHiddenTag extends JavadocTester {
|
|||||||
"invisibleMethod",
|
"invisibleMethod",
|
||||||
"A.InvisibleInner");
|
"A.InvisibleInner");
|
||||||
|
|
||||||
checkOutput("pkg1/package-frame.html", false, "A.InvisibleInner");
|
|
||||||
|
|
||||||
checkOutput("pkg1/package-summary.html", false, "A.InvisibleInner");
|
checkOutput("pkg1/package-summary.html", false, "A.InvisibleInner");
|
||||||
|
|
||||||
checkOutput("pkg1/package-tree.html", false, "A.InvisibleInner");
|
checkOutput("pkg1/package-tree.html", false, "A.InvisibleInner");
|
||||||
|
@ -69,32 +69,12 @@ public class TestHtmlLandmarkRegions extends JavadocTester {
|
|||||||
javadoc("-d", outDir.toString(),
|
javadoc("-d", outDir.toString(),
|
||||||
"-doctitle", "Document Title",
|
"-doctitle", "Document Title",
|
||||||
"-header", "Test Header",
|
"-header", "Test Header",
|
||||||
"--frames",
|
|
||||||
"--module-source-path", srcDir.toString(),
|
"--module-source-path", srcDir.toString(),
|
||||||
"--module", "m1,m2");
|
"--module", "m1,m2");
|
||||||
|
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
|
|
||||||
checkOrder("module-overview-frame.html",
|
checkOrder("index.html",
|
||||||
"<header role=\"banner\">\n"
|
|
||||||
+ "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
|
|
||||||
+ "<nav role=\"navigation\" class=\"indexNav\">",
|
|
||||||
"<main role=\"main\">\n"
|
|
||||||
+ "<div class=\"indexContainer\">\n"
|
|
||||||
+ "<h2 title=\"Modules\">Modules</h2>\n"
|
|
||||||
+ "<ul title=\"Modules\">",
|
|
||||||
"<footer role=\"contentinfo\">");
|
|
||||||
|
|
||||||
checkOrder("m1/module-frame.html",
|
|
||||||
"<header role=\"banner\">\n"
|
|
||||||
+ "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
|
|
||||||
+ "<nav role=\"navigation\" class=\"indexNav\">",
|
|
||||||
"<main role=\"main\">\n"
|
|
||||||
+ "<div class=\"indexContainer\">\n"
|
|
||||||
+ "<h2 title=\"m1\"><a href=\"module-summary.html\" target=\"classFrame\">m1</a> Packages</h2>",
|
|
||||||
"<footer role=\"contentinfo\">");
|
|
||||||
|
|
||||||
checkOrder("overview-summary.html",
|
|
||||||
"<header role=\"banner\">\n"
|
"<header role=\"banner\">\n"
|
||||||
+ "<nav role=\"navigation\">",
|
+ "<nav role=\"navigation\">",
|
||||||
"<main role=\"main\">\n"
|
"<main role=\"main\">\n"
|
||||||
@ -113,13 +93,12 @@ public class TestHtmlLandmarkRegions extends JavadocTester {
|
|||||||
javadoc("-d", outDir.toString(),
|
javadoc("-d", outDir.toString(),
|
||||||
"-doctitle", "Document Title",
|
"-doctitle", "Document Title",
|
||||||
"-header", "Test Header",
|
"-header", "Test Header",
|
||||||
"--frames",
|
|
||||||
"-sourcepath", srcDir.toString(),
|
"-sourcepath", srcDir.toString(),
|
||||||
"pkg1", "pkg2");
|
"pkg1", "pkg2");
|
||||||
|
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
|
|
||||||
checkOrder("overview-summary.html",
|
checkOrder("index.html",
|
||||||
"<header role=\"banner\">\n"
|
"<header role=\"banner\">\n"
|
||||||
+ "<nav role=\"navigation\">",
|
+ "<nav role=\"navigation\">",
|
||||||
"<main role=\"main\">\n"
|
"<main role=\"main\">\n"
|
||||||
@ -127,15 +106,6 @@ public class TestHtmlLandmarkRegions extends JavadocTester {
|
|||||||
+ "<h1 class=\"title\">Document Title</h1>",
|
+ "<h1 class=\"title\">Document Title</h1>",
|
||||||
"<footer role=\"contentinfo\">\n" +
|
"<footer role=\"contentinfo\">\n" +
|
||||||
"<nav role=\"navigation\">");
|
"<nav role=\"navigation\">");
|
||||||
|
|
||||||
checkOrder("overview-frame.html",
|
|
||||||
"<header role=\"banner\">\n"
|
|
||||||
+ "<h1 title=\"Test Header\" class=\"bar\">Test Header</h1>\n"
|
|
||||||
+ "<nav role=\"navigation\" class=\"indexNav\">",
|
|
||||||
"<main role=\"main\">\n"
|
|
||||||
+ "<div class=\"indexContainer\">\n"
|
|
||||||
+ "<h2 title=\"Packages\">Packages</h2>",
|
|
||||||
"<footer role=\"contentinfo\">");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -46,7 +46,6 @@ public class TestHtmlTableStyles extends JavadocTester {
|
|||||||
javadoc("-d", "out",
|
javadoc("-d", "out",
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"pkg1", "pkg2");
|
"pkg1", "pkg2");
|
||||||
checkExit(Exit.ERROR);
|
checkExit(Exit.ERROR);
|
||||||
checkOutput(Output.OUT, true,
|
checkOutput(Output.OUT, true,
|
||||||
@ -68,7 +67,7 @@ public class TestHtmlTableStyles extends JavadocTester {
|
|||||||
checkOutput("pkg1/class-use/TestTable.html", true,
|
checkOutput("pkg1/class-use/TestTable.html", true,
|
||||||
"<div class=\"useSummary\">\n<table>");
|
"<div class=\"useSummary\">\n<table>");
|
||||||
|
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<div class=\"overviewSummary\">\n<table>");
|
"<div class=\"overviewSummary\">\n<table>");
|
||||||
|
|
||||||
checkOutput("deprecated-list.html", true,
|
checkOutput("deprecated-list.html", true,
|
||||||
|
@ -52,7 +52,6 @@ public class TestHtmlTableTags extends JavadocTester {
|
|||||||
javadoc("-d", "out",
|
javadoc("-d", "out",
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"pkg1", "pkg2");
|
"pkg1", "pkg2");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
|
|
||||||
@ -129,7 +128,7 @@ public class TestHtmlTableTags extends JavadocTester {
|
|||||||
"<div class=\"constantsSummary\">\n<table>");
|
"<div class=\"constantsSummary\">\n<table>");
|
||||||
|
|
||||||
// Overview Summary
|
// Overview Summary
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<div class=\"overviewSummary\">\n<table>");
|
"<div class=\"overviewSummary\">\n<table>");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -240,7 +239,7 @@ public class TestHtmlTableTags extends JavadocTester {
|
|||||||
+ "constant fields, and values\">");
|
+ "constant fields, and values\">");
|
||||||
|
|
||||||
// Overview Summary
|
// Overview Summary
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<div class=\"overviewSummary\">\n"
|
"<div class=\"overviewSummary\">\n"
|
||||||
+ "<table summary=\"Package Summary table, listing packages, and an explanation\">");
|
+ "<table summary=\"Package Summary table, listing packages, and an explanation\">");
|
||||||
}
|
}
|
||||||
@ -353,7 +352,7 @@ public class TestHtmlTableTags extends JavadocTester {
|
|||||||
+ "C1</a></span><span class=\"tabEnd\"> </span></caption>");
|
+ "C1</a></span><span class=\"tabEnd\"> </span></caption>");
|
||||||
|
|
||||||
// Overview Summary
|
// Overview Summary
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<caption><span>Packages</span><span class=\"tabEnd\"> </span></caption>");
|
"<caption><span>Packages</span><span class=\"tabEnd\"> </span></caption>");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -469,7 +468,7 @@ public class TestHtmlTableTags extends JavadocTester {
|
|||||||
+ "<th class=\"colLast\" scope=\"col\">Value</th>");
|
+ "<th class=\"colLast\" scope=\"col\">Value</th>");
|
||||||
|
|
||||||
// Overview Summary
|
// Overview Summary
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<th class=\"colFirst\" scope=\"col\">"
|
"<th class=\"colFirst\" scope=\"col\">"
|
||||||
+ "Package</th>\n"
|
+ "Package</th>\n"
|
||||||
+ "<th class=\"colLast\" scope=\"col\""
|
+ "<th class=\"colLast\" scope=\"col\""
|
||||||
|
@ -47,7 +47,6 @@ public class TestHtmlVersion extends JavadocTester {
|
|||||||
javadoc("-d", "out-1",
|
javadoc("-d", "out-1",
|
||||||
"-private",
|
"-private",
|
||||||
"-linksource",
|
"-linksource",
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-use",
|
"-use",
|
||||||
"pkg", "pkg1", "pkg2", "pkg3");
|
"pkg", "pkg1", "pkg2", "pkg3");
|
||||||
@ -69,29 +68,8 @@ public class TestHtmlVersion extends JavadocTester {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void html5Output() {
|
void html5Output() {
|
||||||
// Test for overview-frame page
|
|
||||||
checkOutput("overview-frame.html", true,
|
|
||||||
"<!DOCTYPE HTML>",
|
|
||||||
"<meta name=\"dc.created\"",
|
|
||||||
"<nav role=\"navigation\" class=\"indexNav\">\n"
|
|
||||||
+ "<ul>\n"
|
|
||||||
+ "<li><a href=\"allclasses-frame.html\" target=\"packageFrame\">All Classes</a></li>",
|
|
||||||
"<main role=\"main\">\n"
|
|
||||||
+ "<div class=\"indexContainer\">\n"
|
|
||||||
+ "<h1 title=\"Packages\">Packages</h1>");
|
|
||||||
|
|
||||||
// Test for allclasses-frame page
|
|
||||||
checkOutput("allclasses-frame.html", true,
|
|
||||||
"<!DOCTYPE HTML>",
|
|
||||||
"<meta name=\"dc.created\"",
|
|
||||||
"<main role=\"main\">\n"
|
|
||||||
+ "<h1 class=\"bar\">All Classes</h1>\n"
|
|
||||||
+ "<div class=\"indexContainer\">\n"
|
|
||||||
+ "<ul>\n"
|
|
||||||
+ "<li>");
|
|
||||||
|
|
||||||
// Test for overview-summary page
|
// Test for overview-summary page
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<!DOCTYPE HTML>",
|
"<!DOCTYPE HTML>",
|
||||||
"<meta name=\"dc.created\"",
|
"<meta name=\"dc.created\"",
|
||||||
"<a id=\"navbar.top.firstrow\">\n"
|
"<a id=\"navbar.top.firstrow\">\n"
|
||||||
@ -108,25 +86,6 @@ public class TestHtmlVersion extends JavadocTester {
|
|||||||
+ "<nav role=\"navigation\">\n"
|
+ "<nav role=\"navigation\">\n"
|
||||||
+ "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
|
+ "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
|
||||||
|
|
||||||
// Test for package-frame page
|
|
||||||
checkOutput("pkg/package-frame.html", true,
|
|
||||||
"<!DOCTYPE HTML>",
|
|
||||||
"<meta name=\"dc.created\"",
|
|
||||||
"<main role=\"main\">\n"
|
|
||||||
+ "<h1 class=\"bar\"><a href=\"package-summary.html\" target=\"classFrame\">pkg</a></h1>",
|
|
||||||
"<section role=\"region\">\n"
|
|
||||||
+ "<h2 title=\"Interfaces\">Interfaces</h2>",
|
|
||||||
"<section role=\"region\">\n"
|
|
||||||
+ "<h2 title=\"Classes\">Classes</h2>",
|
|
||||||
"<section role=\"region\">\n"
|
|
||||||
+ "<h2 title=\"Enums\">Enums</h2>",
|
|
||||||
"<section role=\"region\">\n"
|
|
||||||
+ "<h2 title=\"Exceptions\">Exceptions</h2>",
|
|
||||||
"<section role=\"region\">\n"
|
|
||||||
+ "<h2 title=\"Errors\">Errors</h2>",
|
|
||||||
"<section role=\"region\">\n"
|
|
||||||
+ "<h2 title=\"Annotation Types\">Annotation Types</h2>");
|
|
||||||
|
|
||||||
// Test for package-summary page
|
// Test for package-summary page
|
||||||
checkOutput("pkg/package-summary.html", true,
|
checkOutput("pkg/package-summary.html", true,
|
||||||
"<!DOCTYPE HTML>",
|
"<!DOCTYPE HTML>",
|
||||||
@ -586,44 +545,9 @@ public class TestHtmlVersion extends JavadocTester {
|
|||||||
"<footer role=\"contentinfo\">\n"
|
"<footer role=\"contentinfo\">\n"
|
||||||
+ "<nav role=\"navigation\">\n"
|
+ "<nav role=\"navigation\">\n"
|
||||||
+ "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
|
+ "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
|
||||||
|
|
||||||
// Test for main index page
|
|
||||||
checkOutput("index.html", true,
|
|
||||||
"<!DOCTYPE HTML>",
|
|
||||||
"<link rel=\"stylesheet\" type=\"text/css\" href=\"stylesheet.css\" title=\"Style\">",
|
|
||||||
"<body class=\"frames\" onload=\"loadFrames()\">\n"
|
|
||||||
+ "<script type=\"text/javascript\">\n"
|
|
||||||
+ "if (targetPage == \"\" || targetPage == \"undefined\")\n"
|
|
||||||
+ " window.location.replace('overview-summary.html');\n"
|
|
||||||
+ "</script>\n"
|
|
||||||
+ "<noscript>JavaScript is disabled on your browser.</noscript>\n"
|
|
||||||
+ "<main role=\"main\">\n"
|
|
||||||
+ "<div class=\"mainContainer\">\n"
|
|
||||||
+ "<div class=\"leftContainer\">\n"
|
|
||||||
+ "<div class=\"leftTop\">\n"
|
|
||||||
+ "<iframe src=\"overview-frame.html\" name=\"packageListFrame\" title=\"All Packages\"></iframe>\n"
|
|
||||||
+ "</div>");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void html5NegatedOutput() {
|
void html5NegatedOutput() {
|
||||||
// Negated test for overview-frame page
|
|
||||||
checkOutput("overview-frame.html", false,
|
|
||||||
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
|
|
||||||
"<meta name=\"date\"",
|
|
||||||
"<div class=\"indexNav\">\n"
|
|
||||||
+ "<ul>\n"
|
|
||||||
+ "<li><a href=\"allclasses-frame.html\" target=\"packageFrame\">All Classes</a></li>",
|
|
||||||
"<main class=\"indexContainer\">\n"
|
|
||||||
+ "<h2 title=\"Packages\">Packages</h2>");
|
|
||||||
|
|
||||||
// Negated test for allclasses-frame page
|
|
||||||
checkOutput("allclasses-frame.html", false,
|
|
||||||
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
|
|
||||||
"<meta name=\"date\"",
|
|
||||||
"<main class=\"indexContainer\">\n"
|
|
||||||
+ "<ul>\n"
|
|
||||||
+ "<li>");
|
|
||||||
|
|
||||||
// Negated test for overview-summary page
|
// Negated test for overview-summary page
|
||||||
checkOutput("overview-summary.html", false,
|
checkOutput("overview-summary.html", false,
|
||||||
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
|
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
|
||||||
@ -637,13 +561,6 @@ public class TestHtmlVersion extends JavadocTester {
|
|||||||
+ "<div class=\"fixedNav\">\n"
|
+ "<div class=\"fixedNav\">\n"
|
||||||
+ "<!-- ========= START OF TOP NAVBAR ======= -->");
|
+ "<!-- ========= START OF TOP NAVBAR ======= -->");
|
||||||
|
|
||||||
// Negated test for package-frame page
|
|
||||||
checkOutput("pkg/package-frame.html", false,
|
|
||||||
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
|
|
||||||
"<meta name=\"date\"",
|
|
||||||
"<body>\n"
|
|
||||||
+ "<h1 class=\"bar\"><a href=\"package-summary.html\" target=\"classFrame\">pkg</a></h1>");
|
|
||||||
|
|
||||||
// Negated test for package-summary page
|
// Negated test for package-summary page
|
||||||
checkOutput("pkg/package-summary.html", false,
|
checkOutput("pkg/package-summary.html", false,
|
||||||
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
|
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -46,15 +46,10 @@ public class TestIndex extends JavadocTester {
|
|||||||
@Test
|
@Test
|
||||||
public void test() {
|
public void test() {
|
||||||
javadoc("-d", "out",
|
javadoc("-d", "out",
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"pkg", testSrc("NoPackage.java"));
|
"pkg", testSrc("NoPackage.java"));
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
|
|
||||||
checkOutput("index.html", true,
|
|
||||||
"<iframe src=\"overview-summary.html\" name=\"classFrame\" title=\""
|
|
||||||
+ "Package, class and interface descriptions\" class=\"rightIframe\">");
|
|
||||||
|
|
||||||
//Test index-all.html
|
//Test index-all.html
|
||||||
checkOutput("index-all.html", true,
|
checkOutput("index-all.html", true,
|
||||||
"<a href=\"pkg/C.html\" title=\"class in pkg\"><span class=\"typeNameLink\">C</span></a>"
|
"<a href=\"pkg/C.html\" title=\"class in pkg\"><span class=\"typeNameLink\">C</span></a>"
|
||||||
|
@ -87,14 +87,13 @@ public class TestIndexWithModules extends JavadocTester {
|
|||||||
Path out = base.resolve("out");
|
Path out = base.resolve("out");
|
||||||
javadoc("-d", out.toString(),
|
javadoc("-d", out.toString(),
|
||||||
"--module-source-path", src.toString(),
|
"--module-source-path", src.toString(),
|
||||||
"--module", "m1,m3,m4",
|
"--module", "m1,m3,m4");
|
||||||
"--frames");
|
|
||||||
|
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
|
|
||||||
checkOutput("index.html", true,
|
checkOutput("overview-summary.html", true,
|
||||||
"window.location.replace('overview-summary.html')");
|
"window.location.replace('index.html')");
|
||||||
checkOrder("overview-summary.html",
|
checkOrder("index.html",
|
||||||
"Modules",
|
"Modules",
|
||||||
"<a href=\"m1/module-summary.html\">m1</a>",
|
"<a href=\"m1/module-summary.html\">m1</a>",
|
||||||
"<a href=\"m3/module-summary.html\">m3</a>",
|
"<a href=\"m3/module-summary.html\">m3</a>",
|
||||||
|
@ -44,88 +44,20 @@ public class TestJavascript extends JavadocTester {
|
|||||||
@Test
|
@Test
|
||||||
public void test() {
|
public void test() {
|
||||||
javadoc("-d", "out",
|
javadoc("-d", "out",
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"pkg", testSrc("TestJavascript.java"));
|
"pkg", testSrc("TestJavascript.java"));
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
|
|
||||||
checkOutput("pkg/C.html", true,
|
checkOutput("pkg/C.html", true,
|
||||||
"<a href=\"../index.html?pkg/C.html\" target=\"_top\">Frames</a>",
|
|
||||||
"<script type=\"text/javascript\"><!--\n"
|
"<script type=\"text/javascript\"><!--\n"
|
||||||
+ "$('.navPadding').css('padding-top', $('.fixedNav').css(\"height\"));\n"
|
+ "$('.navPadding').css('padding-top', $('.fixedNav').css(\"height\"));\n"
|
||||||
+ "//-->\n"
|
+ "//-->\n"
|
||||||
+ "</script>");
|
+ "</script>");
|
||||||
|
|
||||||
checkOutput("TestJavascript.html", true,
|
|
||||||
"<a href=\"index.html?TestJavascript.html\" target=\"_top\">Frames</a>");
|
|
||||||
|
|
||||||
checkOutput("index.html", true,
|
checkOutput("index.html", true,
|
||||||
"<script type=\"text/javascript\">\n"
|
"<script type=\"text/javascript\"><!--\n"
|
||||||
+ " tmpTargetPage = \"\" + window.location.search;\n"
|
+ "$('.navPadding').css('padding-top', $('.fixedNav').css(\"height\"));\n"
|
||||||
+ " if (tmpTargetPage != \"\" && tmpTargetPage != \"undefined\")\n"
|
+ "//-->\n");
|
||||||
+ " tmpTargetPage = tmpTargetPage.substring(1);\n"
|
|
||||||
+ " if (tmpTargetPage.indexOf(\":\") != -1 || (tmpTargetPage != \"\" && !validURL(tmpTargetPage)))\n"
|
|
||||||
+ " tmpTargetPage = \"undefined\";\n"
|
|
||||||
+ " targetPage = tmpTargetPage;\n"
|
|
||||||
+ " function validURL(url) {\n"
|
|
||||||
+ " try {\n"
|
|
||||||
+ " url = decodeURIComponent(url);\n"
|
|
||||||
+ " }\n"
|
|
||||||
+ " catch (error) {\n"
|
|
||||||
+ " return false;\n"
|
|
||||||
+ " }\n"
|
|
||||||
+ " var pos = url.indexOf(\".html\");\n"
|
|
||||||
+ " if (pos == -1 || pos != url.length - 5)\n"
|
|
||||||
+ " return false;\n"
|
|
||||||
+ " var allowNumber = false;\n"
|
|
||||||
+ " var allowSep = false;\n"
|
|
||||||
+ " var seenDot = false;\n"
|
|
||||||
+ " for (var i = 0; i < url.length - 5; i++) {\n"
|
|
||||||
+ " var ch = url.charAt(i);\n"
|
|
||||||
+ " if ('a' <= ch && ch <= 'z' ||\n"
|
|
||||||
+ " 'A' <= ch && ch <= 'Z' ||\n"
|
|
||||||
+ " ch == '$' ||\n"
|
|
||||||
+ " ch == '_' ||\n"
|
|
||||||
+ " ch.charCodeAt(0) > 127) {\n"
|
|
||||||
+ " allowNumber = true;\n"
|
|
||||||
+ " allowSep = true;\n"
|
|
||||||
+ " } else if ('0' <= ch && ch <= '9'\n"
|
|
||||||
+ " || ch == '-') {\n"
|
|
||||||
+ " if (!allowNumber)\n"
|
|
||||||
+ " return false;\n"
|
|
||||||
+ " } else if (ch == '/' || ch == '.') {\n"
|
|
||||||
+ " if (!allowSep)\n"
|
|
||||||
+ " return false;\n"
|
|
||||||
+ " allowNumber = false;\n"
|
|
||||||
+ " allowSep = false;\n"
|
|
||||||
+ " if (ch == '.')\n"
|
|
||||||
+ " seenDot = true;\n"
|
|
||||||
+ " if (ch == '/' && seenDot)\n"
|
|
||||||
+ " return false;\n"
|
|
||||||
+ " } else {\n"
|
|
||||||
+ " return false;\n"
|
|
||||||
+ " }\n"
|
|
||||||
+ " }\n"
|
|
||||||
+ " return true;\n"
|
|
||||||
+ " }\n"
|
|
||||||
+ " function loadFrames() {\n"
|
|
||||||
+ " if (targetPage != \"\" && targetPage != \"undefined\")\n"
|
|
||||||
+ " top.classFrame.location = top.targetPage;\n"
|
|
||||||
+ " }\n"
|
|
||||||
+ "</script>");
|
|
||||||
|
|
||||||
checkOutput("index.html", true,
|
|
||||||
"<body class=\"frames\" onload=\"loadFrames()\"");
|
|
||||||
|
|
||||||
//Make sure title javascript only runs if is-external is not true
|
|
||||||
checkOutput("pkg/C.html", true,
|
|
||||||
" try {\n"
|
|
||||||
+ " if (location.href.indexOf('is-external=true') == -1) {\n"
|
|
||||||
+ " parent.document.title=\"C\";\n"
|
|
||||||
+ " }\n"
|
|
||||||
+ " }\n"
|
|
||||||
+ " catch(err) {\n"
|
|
||||||
+ " }");
|
|
||||||
|
|
||||||
checkOutput("script.js", true,
|
checkOutput("script.js", true,
|
||||||
"$(window).resize(function() {\n"
|
"$(window).resize(function() {\n"
|
||||||
|
@ -57,7 +57,6 @@ public class TestMetadata extends JavadocTester {
|
|||||||
tester.runTests();
|
tester.runTests();
|
||||||
}
|
}
|
||||||
|
|
||||||
enum Frames { NO_FRAMES, FRAMES };
|
|
||||||
enum Index { SINGLE, SPLIT };
|
enum Index { SINGLE, SPLIT };
|
||||||
enum Source { PACKAGES, MODULES };
|
enum Source { PACKAGES, MODULES };
|
||||||
|
|
||||||
@ -68,16 +67,14 @@ public class TestMetadata extends JavadocTester {
|
|||||||
public void runTests() throws Exception {
|
public void runTests() throws Exception {
|
||||||
for (Source s : Source.values()) {
|
for (Source s : Source.values()) {
|
||||||
Path src = genSource(s);
|
Path src = genSource(s);
|
||||||
for (Frames f : Frames.values()) {
|
|
||||||
for (Index i : Index.values()) {
|
for (Index i : Index.values()) {
|
||||||
List<String> args = new ArrayList<>();
|
List<String> args = new ArrayList<>();
|
||||||
args.add("-d");
|
args.add("-d");
|
||||||
args.add(String.format("out-%s-%s-%s", s, f, i));
|
args.add(String.format("out-%s-%s", s, i));
|
||||||
args.add("-use");
|
args.add("-use");
|
||||||
if (s != Source.MODULES) {
|
if (s != Source.MODULES) {
|
||||||
args.add("-linksource"); // broken, with modules: JDK-8219060
|
args.add("-linksource"); // broken, with modules: JDK-8219060
|
||||||
}
|
}
|
||||||
args.add(f == Frames.NO_FRAMES ? "--no-frames" : "--frames");
|
|
||||||
if (i == Index.SPLIT) {
|
if (i == Index.SPLIT) {
|
||||||
args.add("-splitIndex");
|
args.add("-splitIndex");
|
||||||
}
|
}
|
||||||
@ -116,7 +113,6 @@ public class TestMetadata extends JavadocTester {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
checking ("all generators");
|
checking ("all generators");
|
||||||
@ -143,7 +139,6 @@ public class TestMetadata extends JavadocTester {
|
|||||||
final Pattern nl = Pattern.compile("[\\r\\n]+");
|
final Pattern nl = Pattern.compile("[\\r\\n]+");
|
||||||
final Pattern bodyPattern = Pattern.compile("<body [^>]*class=\"([^\"]+)\"");
|
final Pattern bodyPattern = Pattern.compile("<body [^>]*class=\"([^\"]+)\"");
|
||||||
final Set<String> allBodyClasses = Set.of(
|
final Set<String> allBodyClasses = Set.of(
|
||||||
"all-classes-frame",
|
|
||||||
"all-classes-index",
|
"all-classes-index",
|
||||||
"all-packages-index",
|
"all-packages-index",
|
||||||
"class-declaration",
|
"class-declaration",
|
||||||
@ -151,18 +146,12 @@ public class TestMetadata extends JavadocTester {
|
|||||||
"constants-summary",
|
"constants-summary",
|
||||||
"deprecated-list",
|
"deprecated-list",
|
||||||
"doc-file",
|
"doc-file",
|
||||||
"frames",
|
|
||||||
"help",
|
"help",
|
||||||
"index-redirect",
|
"index-redirect",
|
||||||
"module-declaration",
|
"module-declaration",
|
||||||
"module-frame",
|
|
||||||
"module-index",
|
"module-index",
|
||||||
"module-index-frame",
|
|
||||||
"module-package-index-frame",
|
|
||||||
"package-declaration",
|
"package-declaration",
|
||||||
"package-frame",
|
|
||||||
"package-index",
|
"package-index",
|
||||||
"package-index-frame",
|
|
||||||
"package-tree",
|
"package-tree",
|
||||||
"package-use",
|
"package-use",
|
||||||
"serialized-form",
|
"serialized-form",
|
||||||
@ -216,7 +205,6 @@ public class TestMetadata extends JavadocTester {
|
|||||||
final Pattern contentPattern = Pattern.compile("content=\"([^\"]+)\">");
|
final Pattern contentPattern = Pattern.compile("content=\"([^\"]+)\">");
|
||||||
final Pattern generatorPattern = Pattern.compile("content=\"javadoc/([^\"]+)\">");
|
final Pattern generatorPattern = Pattern.compile("content=\"javadoc/([^\"]+)\">");
|
||||||
final Set<String> allGenerators = Set.of(
|
final Set<String> allGenerators = Set.of(
|
||||||
"AllClassesFrameWriter",
|
|
||||||
"AllClassesIndexWriter",
|
"AllClassesIndexWriter",
|
||||||
"AllPackagesIndexWriter",
|
"AllPackagesIndexWriter",
|
||||||
"AnnotationTypeWriterImpl",
|
"AnnotationTypeWriterImpl",
|
||||||
@ -225,16 +213,10 @@ public class TestMetadata extends JavadocTester {
|
|||||||
"ConstantsSummaryWriterImpl",
|
"ConstantsSummaryWriterImpl",
|
||||||
"DeprecatedListWriter",
|
"DeprecatedListWriter",
|
||||||
"DocFileWriter",
|
"DocFileWriter",
|
||||||
"FrameOutputWriter",
|
|
||||||
"HelpWriter",
|
"HelpWriter",
|
||||||
"IndexRedirectWriter",
|
"IndexRedirectWriter",
|
||||||
"ModuleFrameWriter",
|
|
||||||
"ModuleIndexFrameWriter",
|
|
||||||
"ModuleIndexWriter",
|
"ModuleIndexWriter",
|
||||||
"ModulePackageIndexFrameWriter",
|
|
||||||
"ModuleWriterImpl",
|
"ModuleWriterImpl",
|
||||||
"PackageFrameWriter",
|
|
||||||
"PackageIndexFrameWriter",
|
|
||||||
"PackageIndexWriter",
|
"PackageIndexWriter",
|
||||||
"PackageTreeWriter",
|
"PackageTreeWriter",
|
||||||
"PackageUseWriter",
|
"PackageUseWriter",
|
||||||
@ -323,16 +305,6 @@ public class TestMetadata extends JavadocTester {
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch (generator) {
|
switch (generator) {
|
||||||
case "AllClassesFrameWriter":
|
|
||||||
case "FrameOutputWriter":
|
|
||||||
case "ModuleFrameWriter":
|
|
||||||
case "ModuleIndexFrameWriter":
|
|
||||||
case "ModulePackageIndexFrameWriter":
|
|
||||||
case "PackageFrameWriter":
|
|
||||||
case "PackageIndexFrameWriter":
|
|
||||||
check(generator, content, content.contains("frame"));
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "AllClassesIndexWriter":
|
case "AllClassesIndexWriter":
|
||||||
case "AllPackagesIndexWriter":
|
case "AllPackagesIndexWriter":
|
||||||
case "ModuleIndexWriter":
|
case "ModuleIndexWriter":
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -83,26 +83,17 @@ public class TestModuleDirs extends JavadocTester {
|
|||||||
|
|
||||||
javadoc("-d", base.resolve("api").toString(),
|
javadoc("-d", base.resolve("api").toString(),
|
||||||
"-quiet",
|
"-quiet",
|
||||||
"--frames",
|
|
||||||
"--module-source-path", src.toString(),
|
"--module-source-path", src.toString(),
|
||||||
"--no-module-directories",
|
"--no-module-directories",
|
||||||
"--module", "ma,mb");
|
"--module", "ma,mb");
|
||||||
|
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
checkFiles(true,
|
checkFiles(true,
|
||||||
"ma-frame.html",
|
|
||||||
"ma-summary.html",
|
"ma-summary.html",
|
||||||
"pa/package-summary.html");
|
"pa/package-summary.html");
|
||||||
checkFiles(false,
|
checkFiles(false,
|
||||||
"ma/module-frame.html",
|
|
||||||
"ma/module-summary.html",
|
"ma/module-summary.html",
|
||||||
"ma/pa/package-summary.html");
|
"ma/pa/package-summary.html");
|
||||||
checkOutput("ma-frame.html", true,
|
|
||||||
"<ul>\n"
|
|
||||||
+ "<li><a href=\"allclasses-frame.html\" target=\"packageFrame\">All Classes</a></li>\n"
|
|
||||||
+ "<li><a href=\"overview-frame.html\" target=\"packageListFrame\">All Packages</a></li>\n"
|
|
||||||
+ "<li><a href=\"module-overview-frame.html\" target=\"packageListFrame\">All Modules</a></li>\n"
|
|
||||||
+ "</ul>\n");
|
|
||||||
checkOutput("ma-summary.html", false,
|
checkOutput("ma-summary.html", false,
|
||||||
"<ul class=\"navList\" id=\"allclasses_navbar_top\">\n"
|
"<ul class=\"navList\" id=\"allclasses_navbar_top\">\n"
|
||||||
+ "<li><a href=\"allclasses-noframe.html\">All Classes</a></li>\n"
|
+ "<li><a href=\"allclasses-noframe.html\">All Classes</a></li>\n"
|
||||||
@ -127,25 +118,16 @@ public class TestModuleDirs extends JavadocTester {
|
|||||||
|
|
||||||
javadoc("-d", base.resolve("api").toString(),
|
javadoc("-d", base.resolve("api").toString(),
|
||||||
"-quiet",
|
"-quiet",
|
||||||
"--frames",
|
|
||||||
"--module-source-path", src.toString(),
|
"--module-source-path", src.toString(),
|
||||||
"--module", "ma,mb");
|
"--module", "ma,mb");
|
||||||
|
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
checkFiles(false,
|
checkFiles(false,
|
||||||
"ma-frame.html",
|
|
||||||
"ma-summary.html",
|
"ma-summary.html",
|
||||||
"pa/package-summary.html");
|
"pa/package-summary.html");
|
||||||
checkFiles(true,
|
checkFiles(true,
|
||||||
"ma/module-frame.html",
|
|
||||||
"ma/module-summary.html",
|
"ma/module-summary.html",
|
||||||
"ma/pa/package-summary.html");
|
"ma/pa/package-summary.html");
|
||||||
checkOutput("ma/module-frame.html", true,
|
|
||||||
"<ul>\n"
|
|
||||||
+ "<li><a href=\"../allclasses-frame.html\" target=\"packageFrame\">All Classes</a></li>\n"
|
|
||||||
+ "<li><a href=\"../overview-frame.html\" target=\"packageListFrame\">All Packages</a></li>\n"
|
|
||||||
+ "<li><a href=\"../module-overview-frame.html\" target=\"packageListFrame\">All Modules</a></li>\n"
|
|
||||||
+ "</ul>\n");
|
|
||||||
checkOutput("ma/module-summary.html", false,
|
checkOutput("ma/module-summary.html", false,
|
||||||
"<ul class=\"navList\" id=\"allclasses_navbar_top\">\n"
|
"<ul class=\"navList\" id=\"allclasses_navbar_top\">\n"
|
||||||
+ "<li><a href=\"../allclasses-noframe.html\">All Classes</a></li>\n"
|
+ "<li><a href=\"../allclasses-noframe.html\">All Classes</a></li>\n"
|
||||||
|
@ -53,7 +53,6 @@ public class TestModules extends JavadocTester {
|
|||||||
"-use",
|
"-use",
|
||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"-overview", testSrc("overview.html"),
|
"-overview", testSrc("overview.html"),
|
||||||
"--frames",
|
|
||||||
"--module-source-path", testSrc,
|
"--module-source-path", testSrc,
|
||||||
"--module", "moduleA,moduleB",
|
"--module", "moduleA,moduleB",
|
||||||
"testpkgmdlA", "testpkgmdlB");
|
"testpkgmdlA", "testpkgmdlB");
|
||||||
@ -62,11 +61,8 @@ public class TestModules extends JavadocTester {
|
|||||||
checkHtml5NoDescription(false);
|
checkHtml5NoDescription(false);
|
||||||
checkHtml5OverviewSummaryModules();
|
checkHtml5OverviewSummaryModules();
|
||||||
checkModuleLink();
|
checkModuleLink();
|
||||||
checkModuleClickThroughLinks();
|
|
||||||
checkModuleClickThrough(true);
|
|
||||||
checkModuleFilesAndLinks(true);
|
checkModuleFilesAndLinks(true);
|
||||||
checkModulesInSearch(true);
|
checkModulesInSearch(true);
|
||||||
checkOverviewFrame(true);
|
|
||||||
checkAllPkgsAllClasses(true);
|
checkAllPkgsAllClasses(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -79,7 +75,6 @@ public class TestModules extends JavadocTester {
|
|||||||
"-nocomment",
|
"-nocomment",
|
||||||
"-use",
|
"-use",
|
||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"--frames",
|
|
||||||
"-overview", testSrc("overview.html"),
|
"-overview", testSrc("overview.html"),
|
||||||
"--module-source-path", testSrc,
|
"--module-source-path", testSrc,
|
||||||
"--module", "moduleA,moduleB",
|
"--module", "moduleA,moduleB",
|
||||||
@ -89,7 +84,6 @@ public class TestModules extends JavadocTester {
|
|||||||
checkHtml5NoDescription(true);
|
checkHtml5NoDescription(true);
|
||||||
checkModuleLink();
|
checkModuleLink();
|
||||||
checkModuleFilesAndLinks(true);
|
checkModuleFilesAndLinks(true);
|
||||||
checkOverviewFrame(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -99,7 +93,6 @@ public class TestModules extends JavadocTester {
|
|||||||
public void testHtml5UnnamedModule() {
|
public void testHtml5UnnamedModule() {
|
||||||
javadoc("-d", "out-html5-nomodule",
|
javadoc("-d", "out-html5-nomodule",
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"-overview", testSrc("overview.html"),
|
"-overview", testSrc("overview.html"),
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"testpkgnomodule", "testpkgnomodule1");
|
"testpkgnomodule", "testpkgnomodule1");
|
||||||
@ -107,7 +100,6 @@ public class TestModules extends JavadocTester {
|
|||||||
checkHtml5OverviewSummaryPackages();
|
checkHtml5OverviewSummaryPackages();
|
||||||
checkModuleFilesAndLinks(false);
|
checkModuleFilesAndLinks(false);
|
||||||
checkModulesInSearch(false);
|
checkModulesInSearch(false);
|
||||||
checkOverviewFrame(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -165,13 +157,11 @@ public class TestModules extends JavadocTester {
|
|||||||
public void testModuleFilesAndLinks() {
|
public void testModuleFilesAndLinks() {
|
||||||
javadoc("-d", "out-modulelinks",
|
javadoc("-d", "out-modulelinks",
|
||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"--frames",
|
|
||||||
"--module-source-path", testSrc,
|
"--module-source-path", testSrc,
|
||||||
"--module", "moduleA,moduleB",
|
"--module", "moduleA,moduleB",
|
||||||
"testpkgmdlA", "testpkgmdlB");
|
"testpkgmdlA", "testpkgmdlB");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
checkModuleFilesAndLinks(true);
|
checkModuleFilesAndLinks(true);
|
||||||
checkOverviewFrame(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -215,7 +205,6 @@ public class TestModules extends JavadocTester {
|
|||||||
"-author",
|
"-author",
|
||||||
"-version",
|
"-version",
|
||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"--frames",
|
|
||||||
"-tag", "regular:a:Regular Tag:",
|
"-tag", "regular:a:Regular Tag:",
|
||||||
"-tag", "moduletag:s:Module Tag:",
|
"-tag", "moduletag:s:Module Tag:",
|
||||||
"--module-source-path", testSrc,
|
"--module-source-path", testSrc,
|
||||||
@ -225,8 +214,6 @@ public class TestModules extends JavadocTester {
|
|||||||
checkModuleModeCommon();
|
checkModuleModeCommon();
|
||||||
checkModuleModeApi(true);
|
checkModuleModeApi(true);
|
||||||
checkModuleModeAll(false);
|
checkModuleModeAll(false);
|
||||||
checkModuleFrameFiles(true);
|
|
||||||
checkAllModulesLink(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -240,7 +227,6 @@ public class TestModules extends JavadocTester {
|
|||||||
"-author",
|
"-author",
|
||||||
"-version",
|
"-version",
|
||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"--frames",
|
|
||||||
"-tag", "regular:a:Regular Tag:",
|
"-tag", "regular:a:Regular Tag:",
|
||||||
"-tag", "moduletag:s:Module Tag:",
|
"-tag", "moduletag:s:Module Tag:",
|
||||||
"--module-source-path", testSrc,
|
"--module-source-path", testSrc,
|
||||||
@ -250,8 +236,6 @@ public class TestModules extends JavadocTester {
|
|||||||
checkModuleModeCommon();
|
checkModuleModeCommon();
|
||||||
checkModuleModeApi(false);
|
checkModuleModeApi(false);
|
||||||
checkModuleModeAll(true);
|
checkModuleModeAll(true);
|
||||||
checkModuleFrameFiles(true);
|
|
||||||
checkAllModulesLink(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -289,12 +273,10 @@ public class TestModules extends JavadocTester {
|
|||||||
@Test
|
@Test
|
||||||
public void testSingleModuleSinglePkg() {
|
public void testSingleModuleSinglePkg() {
|
||||||
javadoc("-d", "out-singlemod",
|
javadoc("-d", "out-singlemod",
|
||||||
"--frames",
|
|
||||||
"--module-source-path", testSrc,
|
"--module-source-path", testSrc,
|
||||||
"--module", "moduleC",
|
"--module", "moduleC",
|
||||||
"testpkgmdlC");
|
"testpkgmdlC");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
checkModuleFrameFiles(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -305,12 +287,10 @@ public class TestModules extends JavadocTester {
|
|||||||
javadoc("-d", "out-singlemodmultiplepkg",
|
javadoc("-d", "out-singlemodmultiplepkg",
|
||||||
"--show-module-contents=all",
|
"--show-module-contents=all",
|
||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"--frames",
|
|
||||||
"--module-source-path", testSrc,
|
"--module-source-path", testSrc,
|
||||||
"--module", "moduleB",
|
"--module", "moduleB",
|
||||||
"testpkg2mdlB", "testpkgmdlB");
|
"testpkg2mdlB", "testpkgmdlB");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
checkAllModulesLink(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -321,7 +301,6 @@ public class TestModules extends JavadocTester {
|
|||||||
javadoc("-d", "out-group",
|
javadoc("-d", "out-group",
|
||||||
"--show-module-contents=all",
|
"--show-module-contents=all",
|
||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"--frames",
|
|
||||||
"-tag", "regular:a:Regular Tag:",
|
"-tag", "regular:a:Regular Tag:",
|
||||||
"-tag", "moduletag:s:Module Tag:",
|
"-tag", "moduletag:s:Module Tag:",
|
||||||
"--module-source-path", testSrc,
|
"--module-source-path", testSrc,
|
||||||
@ -345,7 +324,6 @@ public class TestModules extends JavadocTester {
|
|||||||
javadoc("-d", "out-groupOrder",
|
javadoc("-d", "out-groupOrder",
|
||||||
"--show-module-contents=all",
|
"--show-module-contents=all",
|
||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"--frames",
|
|
||||||
"-tag", "regular:a:Regular Tag:",
|
"-tag", "regular:a:Regular Tag:",
|
||||||
"-tag", "moduletag:s:Module Tag:",
|
"-tag", "moduletag:s:Module Tag:",
|
||||||
"--module-source-path", testSrc,
|
"--module-source-path", testSrc,
|
||||||
@ -368,7 +346,6 @@ public class TestModules extends JavadocTester {
|
|||||||
javadoc("-d", "out-groupnomodule",
|
javadoc("-d", "out-groupnomodule",
|
||||||
"-use",
|
"-use",
|
||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"--frames",
|
|
||||||
"-overview", testSrc("overview.html"),
|
"-overview", testSrc("overview.html"),
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-group", "Package Group 0", "testpkgnomodule",
|
"-group", "Package Group 0", "testpkgnomodule",
|
||||||
@ -388,7 +365,6 @@ public class TestModules extends JavadocTester {
|
|||||||
javadoc("-d", "out-groupPkgOrder",
|
javadoc("-d", "out-groupPkgOrder",
|
||||||
"-use",
|
"-use",
|
||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"--frames",
|
|
||||||
"-overview", testSrc("overview.html"),
|
"-overview", testSrc("overview.html"),
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-group", "Z Group", "testpkgnomodule",
|
"-group", "Z Group", "testpkgnomodule",
|
||||||
@ -406,7 +382,6 @@ public class TestModules extends JavadocTester {
|
|||||||
javadoc("-d", "out-groupsinglemodule",
|
javadoc("-d", "out-groupsinglemodule",
|
||||||
"-use",
|
"-use",
|
||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"--frames",
|
|
||||||
"--module-source-path", testSrc,
|
"--module-source-path", testSrc,
|
||||||
"-group", "Module Group B", "moduleB*",
|
"-group", "Module Group B", "moduleB*",
|
||||||
"--module", "moduleB",
|
"--module", "moduleB",
|
||||||
@ -423,7 +398,6 @@ public class TestModules extends JavadocTester {
|
|||||||
javadoc("-d", "out-modulename",
|
javadoc("-d", "out-modulename",
|
||||||
"-use",
|
"-use",
|
||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"--frames",
|
|
||||||
"--module-source-path", testSrc,
|
"--module-source-path", testSrc,
|
||||||
"--module", "moduleB,test.moduleFullName",
|
"--module", "moduleB,test.moduleFullName",
|
||||||
"testpkg2mdlB", "testpkgmdlB", "testpkgmdlfullname");
|
"testpkg2mdlB", "testpkgmdlB", "testpkgmdlfullname");
|
||||||
@ -464,7 +438,7 @@ public class TestModules extends JavadocTester {
|
|||||||
+ "</a>\n"
|
+ "</a>\n"
|
||||||
+ "<div class=\"block\">This is a test description for the moduleB module. Search "
|
+ "<div class=\"block\">This is a test description for the moduleB module. Search "
|
||||||
+ "word <a id=\"search_word\" class=\"searchTagResult\">search_word</a> with no description.</div>");
|
+ "word <a id=\"search_word\" class=\"searchTagResult\">search_word</a> with no description.</div>");
|
||||||
checkOutput("overview-summary.html", found,
|
checkOutput("index.html", found,
|
||||||
"</script>\n"
|
"</script>\n"
|
||||||
+ "<div class=\"contentContainer\">\n"
|
+ "<div class=\"contentContainer\">\n"
|
||||||
+ "<div class=\"block\">The overview summary page header.</div>\n"
|
+ "<div class=\"block\">The overview summary page header.</div>\n"
|
||||||
@ -473,7 +447,7 @@ public class TestModules extends JavadocTester {
|
|||||||
+ "<div class=\"overviewSummary\">\n"
|
+ "<div class=\"overviewSummary\">\n"
|
||||||
+ "<table summary=\"Module Summary table, listing modules, and an explanation\">\n"
|
+ "<table summary=\"Module Summary table, listing modules, and an explanation\">\n"
|
||||||
+ "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>");
|
+ "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>");
|
||||||
checkOutput("overview-summary.html", false,
|
checkOutput("index.html", false,
|
||||||
"</table>\n"
|
"</table>\n"
|
||||||
+ "</div>\n"
|
+ "</div>\n"
|
||||||
+ "<div class=\"contentContainer\">\n"
|
+ "<div class=\"contentContainer\">\n"
|
||||||
@ -523,7 +497,7 @@ public class TestModules extends JavadocTester {
|
|||||||
+ "</a>\n"
|
+ "</a>\n"
|
||||||
+ "<div class=\"block\">This is a test description for the moduleB module. Search "
|
+ "<div class=\"block\">This is a test description for the moduleB module. Search "
|
||||||
+ "word <a id=\"search_word\" class=\"searchTagResult\">search_word</a> with no description.</div>");
|
+ "word <a id=\"search_word\" class=\"searchTagResult\">search_word</a> with no description.</div>");
|
||||||
checkOutput("overview-summary.html", found,
|
checkOutput("index.html", found,
|
||||||
"</nav>\n"
|
"</nav>\n"
|
||||||
+ "</header>\n"
|
+ "</header>\n"
|
||||||
+ "<main role=\"main\">\n"
|
+ "<main role=\"main\">\n"
|
||||||
@ -533,7 +507,7 @@ public class TestModules extends JavadocTester {
|
|||||||
+ "<div class=\"contentContainer\">\n"
|
+ "<div class=\"contentContainer\">\n"
|
||||||
+ "<div class=\"overviewSummary\">\n<table>\n"
|
+ "<div class=\"overviewSummary\">\n<table>\n"
|
||||||
+ "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>");
|
+ "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>");
|
||||||
checkOutput("overview-summary.html", false,
|
checkOutput("index.html", false,
|
||||||
"</table>\n"
|
"</table>\n"
|
||||||
+ "</div>\n"
|
+ "</div>\n"
|
||||||
+ "</main>\n"
|
+ "</main>\n"
|
||||||
@ -564,7 +538,7 @@ public class TestModules extends JavadocTester {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void checkModuleLink() {
|
void checkModuleLink() {
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<li>Module</li>");
|
"<li>Module</li>");
|
||||||
checkOutput("moduleA/module-summary.html", true,
|
checkOutput("moduleA/module-summary.html", true,
|
||||||
"<li class=\"navBarCell1Rev\">Module</li>");
|
"<li class=\"navBarCell1Rev\">Module</li>");
|
||||||
@ -619,7 +593,7 @@ public class TestModules extends JavadocTester {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void checkOverviewSummaryModules() {
|
void checkOverviewSummaryModules() {
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<div class=\"overviewSummary\">\n"
|
"<div class=\"overviewSummary\">\n"
|
||||||
+ "<table summary=\"Module Summary table, listing modules, and an explanation\">\n"
|
+ "<table summary=\"Module Summary table, listing modules, and an explanation\">\n"
|
||||||
+ "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>\n"
|
+ "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>\n"
|
||||||
@ -642,7 +616,7 @@ public class TestModules extends JavadocTester {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void checkOverviewSummaryPackages() {
|
void checkOverviewSummaryPackages() {
|
||||||
checkOutput("overview-summary.html", false,
|
checkOutput("index.html", false,
|
||||||
"<div class=\"overviewSummary\">\n"
|
"<div class=\"overviewSummary\">\n"
|
||||||
+ "<table summary=\"Module Summary table, listing modules, and an explanation\">\n"
|
+ "<table summary=\"Module Summary table, listing modules, and an explanation\">\n"
|
||||||
+ "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>\n"
|
+ "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>\n"
|
||||||
@ -661,7 +635,7 @@ public class TestModules extends JavadocTester {
|
|||||||
+ "<div class=\"overviewSummary\">\n"
|
+ "<div class=\"overviewSummary\">\n"
|
||||||
+ "<table summary=\"Package Summary table, listing packages, and an explanation\">\n"
|
+ "<table summary=\"Package Summary table, listing packages, and an explanation\">\n"
|
||||||
+ "<caption><span>Packages</span><span class=\"tabEnd\"> </span></caption>");
|
+ "<caption><span>Packages</span><span class=\"tabEnd\"> </span></caption>");
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<div class=\"overviewSummary\">\n"
|
"<div class=\"overviewSummary\">\n"
|
||||||
+ "<table summary=\"Package Summary table, listing packages, and an explanation\">\n"
|
+ "<table summary=\"Package Summary table, listing packages, and an explanation\">\n"
|
||||||
+ "<caption><span>Packages</span><span class=\"tabEnd\"> </span></caption>\n"
|
+ "<caption><span>Packages</span><span class=\"tabEnd\"> </span></caption>\n"
|
||||||
@ -682,7 +656,7 @@ public class TestModules extends JavadocTester {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void checkHtml5OverviewSummaryModules() {
|
void checkHtml5OverviewSummaryModules() {
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<div class=\"overviewSummary\">\n"
|
"<div class=\"overviewSummary\">\n"
|
||||||
+ "<table>\n"
|
+ "<table>\n"
|
||||||
+ "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>\n"
|
+ "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>\n"
|
||||||
@ -705,7 +679,7 @@ public class TestModules extends JavadocTester {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void checkHtml5OverviewSummaryPackages() {
|
void checkHtml5OverviewSummaryPackages() {
|
||||||
checkOutput("overview-summary.html", false,
|
checkOutput("index.html", false,
|
||||||
"<div class=\"overviewSummary\">\n"
|
"<div class=\"overviewSummary\">\n"
|
||||||
+ "<table>\n"
|
+ "<table>\n"
|
||||||
+ "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>\n"
|
+ "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>\n"
|
||||||
@ -728,7 +702,7 @@ public class TestModules extends JavadocTester {
|
|||||||
+ "<div class=\"overviewSummary\">\n"
|
+ "<div class=\"overviewSummary\">\n"
|
||||||
+ "<table>\n"
|
+ "<table>\n"
|
||||||
+ "<caption><span>Packages</span><span class=\"tabEnd\"> </span></caption>");
|
+ "<caption><span>Packages</span><span class=\"tabEnd\"> </span></caption>");
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<div class=\"overviewSummary\">\n<table>\n"
|
"<div class=\"overviewSummary\">\n<table>\n"
|
||||||
+ "<caption><span>Packages</span><span class=\"tabEnd\"> </span></caption>\n"
|
+ "<caption><span>Packages</span><span class=\"tabEnd\"> </span></caption>\n"
|
||||||
+ "<thead>\n"
|
+ "<thead>\n"
|
||||||
@ -861,27 +835,6 @@ public class TestModules extends JavadocTester {
|
|||||||
+ "</a>");
|
+ "</a>");
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkModuleClickThroughLinks() {
|
|
||||||
checkOutput("module-overview-frame.html", true,
|
|
||||||
"<li><a href=\"moduleA/module-frame.html\" target=\"packageListFrame\" "
|
|
||||||
+ "onclick=\"updateModuleFrame('moduleA/module-type-frame.html','moduleA/module-summary.html');"
|
|
||||||
+ "\">moduleA</a></li>",
|
|
||||||
"<li><a href=\"moduleB/module-frame.html\" target=\"packageListFrame\" "
|
|
||||||
+ "onclick=\"updateModuleFrame('moduleB/module-type-frame.html','moduleB/module-summary.html');"
|
|
||||||
+ "\">moduleB</a></li>");
|
|
||||||
checkOutput("script.js", true,
|
|
||||||
"function updateModuleFrame(pFrame, cFrame) {\n"
|
|
||||||
+ " top.packageFrame.location = pFrame;\n"
|
|
||||||
+ " top.classFrame.location = cFrame;\n"
|
|
||||||
+ "}");
|
|
||||||
}
|
|
||||||
|
|
||||||
void checkModuleClickThrough(boolean found) {
|
|
||||||
checkFiles(found,
|
|
||||||
"moduleA/module-type-frame.html",
|
|
||||||
"moduleB/module-type-frame.html");
|
|
||||||
}
|
|
||||||
|
|
||||||
void checkModuleFilesAndLinks(boolean found) {
|
void checkModuleFilesAndLinks(boolean found) {
|
||||||
checkFileAndOutput("moduleA/testpkgmdlA/package-summary.html", found,
|
checkFileAndOutput("moduleA/testpkgmdlA/package-summary.html", found,
|
||||||
"<li><a href=\"../module-summary.html\">Module</a></li>",
|
"<li><a href=\"../module-summary.html\">Module</a></li>",
|
||||||
@ -897,26 +850,7 @@ public class TestModules extends JavadocTester {
|
|||||||
"<div class=\"subTitle\"><span class=\"packageLabelInType\">"
|
"<div class=\"subTitle\"><span class=\"packageLabelInType\">"
|
||||||
+ "Package</span> <a href=\"package-summary.html\">testpkgmdlB</a></div>");
|
+ "Package</span> <a href=\"package-summary.html\">testpkgmdlB</a></div>");
|
||||||
checkFiles(found,
|
checkFiles(found,
|
||||||
"moduleA/module-frame.html",
|
"moduleA/module-summary.html");
|
||||||
"moduleA/module-summary.html",
|
|
||||||
"module-overview-frame.html");
|
|
||||||
}
|
|
||||||
|
|
||||||
void checkModuleFrameFiles(boolean found) {
|
|
||||||
checkFiles(found,
|
|
||||||
"moduleC/module-frame.html",
|
|
||||||
"moduleC/module-type-frame.html",
|
|
||||||
"module-overview-frame.html");
|
|
||||||
checkFiles(true,
|
|
||||||
"moduleC/module-summary.html",
|
|
||||||
"allclasses-frame.html");
|
|
||||||
checkFiles(false,
|
|
||||||
"allclasses-noframe.html");
|
|
||||||
}
|
|
||||||
|
|
||||||
void checkAllModulesLink(boolean found) {
|
|
||||||
checkOutput("overview-frame.html", found,
|
|
||||||
"<li><a href=\"module-overview-frame.html\" target=\"packageListFrame\">All Modules</a></li>");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkModulesInSearch(boolean found) {
|
void checkModulesInSearch(boolean found) {
|
||||||
@ -950,7 +884,7 @@ public class TestModules extends JavadocTester {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void checkModuleModeCommon() {
|
void checkModuleModeCommon() {
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<th class=\"colFirst\" scope=\"row\"><a href=\"moduleA/module-summary.html\">moduleA</a></th>\n"
|
"<th class=\"colFirst\" scope=\"row\"><a href=\"moduleA/module-summary.html\">moduleA</a></th>\n"
|
||||||
+ "<td class=\"colLast\">\n"
|
+ "<td class=\"colLast\">\n"
|
||||||
+ "<div class=\"block\">This is a test description for the moduleA module with a Search "
|
+ "<div class=\"block\">This is a test description for the moduleA module with a Search "
|
||||||
@ -1155,13 +1089,6 @@ public class TestModules extends JavadocTester {
|
|||||||
"@AnnotationTypeUndocumented");
|
"@AnnotationTypeUndocumented");
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkOverviewFrame(boolean found) {
|
|
||||||
checkOutput("index.html", !found,
|
|
||||||
"<iframe src=\"overview-frame.html\" name=\"packageListFrame\" title=\"All Packages\"></iframe>");
|
|
||||||
checkOutput("index.html", found,
|
|
||||||
"<iframe src=\"module-overview-frame.html\" name=\"packageListFrame\" title=\"All Modules\"></iframe>");
|
|
||||||
}
|
|
||||||
|
|
||||||
void checkModuleSummaryNoExported(boolean found) {
|
void checkModuleSummaryNoExported(boolean found) {
|
||||||
checkOutput("moduleNoExport/module-summary.html", found,
|
checkOutput("moduleNoExport/module-summary.html", found,
|
||||||
"<!-- ============ PACKAGES SUMMARY =========== -->\n"
|
"<!-- ============ PACKAGES SUMMARY =========== -->\n"
|
||||||
@ -1172,7 +1099,7 @@ public class TestModules extends JavadocTester {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void checkGroupOption() {
|
void checkGroupOption() {
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<div class=\"contentContainer\">\n"
|
"<div class=\"contentContainer\">\n"
|
||||||
+ "<div class=\"overviewSummary\">\n"
|
+ "<div class=\"overviewSummary\">\n"
|
||||||
+ "<div role=\"tablist\" aria-orientation=\"horizontal\"><button role=\"tab\""
|
+ "<div role=\"tablist\" aria-orientation=\"horizontal\"><button role=\"tab\""
|
||||||
@ -1194,14 +1121,14 @@ public class TestModules extends JavadocTester {
|
|||||||
+ "var rowColor = \"rowColor\";\n"
|
+ "var rowColor = \"rowColor\";\n"
|
||||||
+ "var tableTab = \"tableTab\";\n"
|
+ "var tableTab = \"tableTab\";\n"
|
||||||
+ "var activeTableTab = \"activeTableTab\";");
|
+ "var activeTableTab = \"activeTableTab\";");
|
||||||
checkOutput("overview-summary.html", false,
|
checkOutput("index.html", false,
|
||||||
"<div class=\"overviewSummary\">\n<table>\n"
|
"<div class=\"overviewSummary\">\n<table>\n"
|
||||||
+ "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>",
|
+ "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>",
|
||||||
"Java SE Modules");
|
"Java SE Modules");
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkGroupOptionOrdering() {
|
void checkGroupOptionOrdering() {
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<div role=\"tablist\" aria-orientation=\"horizontal\"><button role=\"tab\""
|
"<div role=\"tablist\" aria-orientation=\"horizontal\"><button role=\"tab\""
|
||||||
+ " aria-selected=\"true\" aria-controls=\"overviewSummary_tabpanel\" tabindex=\"0\""
|
+ " aria-selected=\"true\" aria-controls=\"overviewSummary_tabpanel\" tabindex=\"0\""
|
||||||
+ " onkeydown=\"switchTab(event)\" id=\"t0\" class=\"activeTableTab\">All Modules</button>"
|
+ " onkeydown=\"switchTab(event)\" id=\"t0\" class=\"activeTableTab\">All Modules</button>"
|
||||||
@ -1217,7 +1144,7 @@ public class TestModules extends JavadocTester {
|
|||||||
+ "Other Modules</button></div>",
|
+ "Other Modules</button></div>",
|
||||||
"var tabs = {65535:[\"t0\",\"All Modules\"],1:[\"t1\",\"B Group\"],2:[\"t2\",\"C Group\"],"
|
"var tabs = {65535:[\"t0\",\"All Modules\"],1:[\"t1\",\"B Group\"],2:[\"t2\",\"C Group\"],"
|
||||||
+ "4:[\"t4\",\"A Group\"],8:[\"t8\",\"Other Modules\"]};");
|
+ "4:[\"t4\",\"A Group\"],8:[\"t8\",\"Other Modules\"]};");
|
||||||
checkOutput("overview-summary.html", false,
|
checkOutput("index.html", false,
|
||||||
"<div role=\"tablist\" aria-orientation=\"horizontal\"><button role=\"tab\""
|
"<div role=\"tablist\" aria-orientation=\"horizontal\"><button role=\"tab\""
|
||||||
+ " aria-selected=\"true\" aria-controls=\"overviewSummary_tabpanel\" tabindex=\"0\""
|
+ " aria-selected=\"true\" aria-controls=\"overviewSummary_tabpanel\" tabindex=\"0\""
|
||||||
+ " onkeydown=\"switchTab(event)\" id=\"t0\" class=\"activeTableTab\">All Modules</button>"
|
+ " onkeydown=\"switchTab(event)\" id=\"t0\" class=\"activeTableTab\">All Modules</button>"
|
||||||
@ -1235,7 +1162,7 @@ public class TestModules extends JavadocTester {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void checkUnnamedModuleGroupOption() {
|
void checkUnnamedModuleGroupOption() {
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<div class=\"contentContainer\">\n"
|
"<div class=\"contentContainer\">\n"
|
||||||
+ "<div class=\"block\">The overview summary page header.</div>\n"
|
+ "<div class=\"block\">The overview summary page header.</div>\n"
|
||||||
+ "</div>\n"
|
+ "</div>\n"
|
||||||
@ -1260,7 +1187,7 @@ public class TestModules extends JavadocTester {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void checkGroupOptionPackageOrdering() {
|
void checkGroupOptionPackageOrdering() {
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<div role=\"tablist\" aria-orientation=\"horizontal\"><button role=\"tab\""
|
"<div role=\"tablist\" aria-orientation=\"horizontal\"><button role=\"tab\""
|
||||||
+ " aria-selected=\"true\" aria-controls=\"overviewSummary_tabpanel\" tabindex=\"0\""
|
+ " aria-selected=\"true\" aria-controls=\"overviewSummary_tabpanel\" tabindex=\"0\""
|
||||||
+ " onkeydown=\"switchTab(event)\" id=\"t0\" class=\"activeTableTab\">All Packages</button>"
|
+ " onkeydown=\"switchTab(event)\" id=\"t0\" class=\"activeTableTab\">All Packages</button>"
|
||||||
@ -1289,12 +1216,6 @@ public class TestModules extends JavadocTester {
|
|||||||
+ "<dd>\n"
|
+ "<dd>\n"
|
||||||
+ "<div class=\"block\">This is a test description for the test.moduleFullName.</div>\n"
|
+ "<div class=\"block\">This is a test description for the test.moduleFullName.</div>\n"
|
||||||
+ "</dd>");
|
+ "</dd>");
|
||||||
checkOutput("module-overview-frame.html", found,
|
|
||||||
"<h1 title=\"Modules\">Modules</h1>\n"
|
|
||||||
+ "<ul title=\"Modules\">\n"
|
|
||||||
+ "<li><a href=\"moduleB/module-frame.html\" target=\"packageListFrame\" onclick=\"updateModuleFrame('moduleB/module-type-frame.html','moduleB/module-summary.html');\">moduleB</a></li>\n"
|
|
||||||
+ "<li><a href=\"test.moduleFullName/module-frame.html\" target=\"packageListFrame\" onclick=\"updateModuleFrame('test.moduleFullName/module-type-frame.html','test.moduleFullName/module-summary.html');\">test.moduleFullName</a></li>\n"
|
|
||||||
+ "</ul>");
|
|
||||||
checkOutput("test.moduleFullName/module-summary.html", !found,
|
checkOutput("test.moduleFullName/module-summary.html", !found,
|
||||||
"<div class=\"header\">\n"
|
"<div class=\"header\">\n"
|
||||||
+ "<h1 title=\"Module\" class=\"title\">Module moduleFullName</h1>\n"
|
+ "<h1 title=\"Module\" class=\"title\">Module moduleFullName</h1>\n"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -76,12 +76,11 @@ public class TestModuleNavigation extends JavadocTester {
|
|||||||
|
|
||||||
javadoc("-d", base.resolve("out").toString(), "-use",
|
javadoc("-d", base.resolve("out").toString(), "-use",
|
||||||
"-quiet",
|
"-quiet",
|
||||||
"--frames",
|
|
||||||
"--module-source-path", src.toString(),
|
"--module-source-path", src.toString(),
|
||||||
"--module", "m,m2");
|
"--module", "m,m2");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
|
|
||||||
checkOutput("overview-summary.html", false,
|
checkOutput("index.html", false,
|
||||||
"Prev",
|
"Prev",
|
||||||
"Next",
|
"Next",
|
||||||
"All Classes",
|
"All Classes",
|
||||||
|
@ -57,7 +57,6 @@ public class TestNavigation extends JavadocTester {
|
|||||||
public void test(Path ignore) {
|
public void test(Path ignore) {
|
||||||
javadoc("-d", "out",
|
javadoc("-d", "out",
|
||||||
"-overview", testSrc("overview.html"),
|
"-overview", testSrc("overview.html"),
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"pkg");
|
"pkg");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
@ -65,15 +64,15 @@ public class TestNavigation extends JavadocTester {
|
|||||||
|
|
||||||
checkOutput("pkg/A.html", true,
|
checkOutput("pkg/A.html", true,
|
||||||
"<ul class=\"navList\" title=\"Navigation\">\n" +
|
"<ul class=\"navList\" title=\"Navigation\">\n" +
|
||||||
"<li><a href=\"../overview-summary.html\">Overview</a></li>");
|
"<li><a href=\"../index.html\">Overview</a></li>");
|
||||||
|
|
||||||
checkOutput("pkg/C.html", true,
|
checkOutput("pkg/C.html", true,
|
||||||
"<ul class=\"navList\" title=\"Navigation\">\n" +
|
"<ul class=\"navList\" title=\"Navigation\">\n" +
|
||||||
"<li><a href=\"../overview-summary.html\">Overview</a></li>");
|
"<li><a href=\"../index.html\">Overview</a></li>");
|
||||||
|
|
||||||
checkOutput("pkg/E.html", true,
|
checkOutput("pkg/E.html", true,
|
||||||
"<ul class=\"navList\" title=\"Navigation\">\n" +
|
"<ul class=\"navList\" title=\"Navigation\">\n" +
|
||||||
"<li><a href=\"../overview-summary.html\">Overview</a></li>");
|
"<li><a href=\"../index.html\">Overview</a></li>");
|
||||||
|
|
||||||
checkOutput("pkg/I.html", true,
|
checkOutput("pkg/I.html", true,
|
||||||
// Test for 4664607
|
// Test for 4664607
|
||||||
@ -81,7 +80,7 @@ public class TestNavigation extends JavadocTester {
|
|||||||
+ "<a id=\"navbar.top.firstrow\">\n"
|
+ "<a id=\"navbar.top.firstrow\">\n"
|
||||||
+ "<!-- -->\n"
|
+ "<!-- -->\n"
|
||||||
+ "</a>",
|
+ "</a>",
|
||||||
"<li><a href=\"../overview-summary.html\">Overview</a></li>");
|
"<li><a href=\"../index.html\">Overview</a></li>");
|
||||||
|
|
||||||
// Remaining tests check for additional padding to offset the fixed navigation bar.
|
// Remaining tests check for additional padding to offset the fixed navigation bar.
|
||||||
checkOutput("pkg/A.html", true,
|
checkOutput("pkg/A.html", true,
|
||||||
@ -115,7 +114,6 @@ public class TestNavigation extends JavadocTester {
|
|||||||
public void test1(Path ignore) {
|
public void test1(Path ignore) {
|
||||||
javadoc("-d", "out-1",
|
javadoc("-d", "out-1",
|
||||||
"-html5",
|
"-html5",
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"pkg");
|
"pkg");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
@ -149,7 +147,6 @@ public class TestNavigation extends JavadocTester {
|
|||||||
public void test2(Path ignore) {
|
public void test2(Path ignore) {
|
||||||
javadoc("-d", "out-2",
|
javadoc("-d", "out-2",
|
||||||
"-nonavbar",
|
"-nonavbar",
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"pkg");
|
"pkg");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
|
@ -49,7 +49,6 @@ public class TestNewLanguageFeatures extends JavadocTester {
|
|||||||
javadoc("-Xdoclint:none",
|
javadoc("-Xdoclint:none",
|
||||||
"-d", "out",
|
"-d", "out",
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"pkg", "pkg1", "pkg2");
|
"pkg", "pkg1", "pkg2");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
@ -465,13 +464,6 @@ public class TestNewLanguageFeatures extends JavadocTester {
|
|||||||
+ "method(Vector<Object>)</a></span>"
|
+ "method(Vector<Object>)</a></span>"
|
||||||
);
|
);
|
||||||
|
|
||||||
// No type parameters in class frame.
|
|
||||||
checkOutput("allclasses-frame.html", false,
|
|
||||||
"<a href=\"../pkg/TypeParameters.html\" title=\"class in pkg\">"
|
|
||||||
+ "TypeParameters</a><<a href=\"../pkg/TypeParameters.html\" "
|
|
||||||
+ "title=\"type parameter in TypeParameters\">E</a>>"
|
|
||||||
);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================
|
//=================================
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -23,39 +23,42 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
* @bug 4636655 8196202
|
* @bug 8215599
|
||||||
* @summary Add title attribute to <FRAME> tags for accessibility
|
* @summary Remove support for javadoc "frames" mode
|
||||||
* @author dkramer
|
|
||||||
* @library ../../lib
|
* @library ../../lib
|
||||||
* @modules jdk.javadoc/jdk.javadoc.internal.tool
|
* @modules jdk.javadoc/jdk.javadoc.internal.tool
|
||||||
* @build javadoc.tester.*
|
* @build javadoc.tester.*
|
||||||
* @run main AccessFrameTitle
|
* @run main TestNoFrames
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import javadoc.tester.JavadocTester;
|
import javadoc.tester.JavadocTester;
|
||||||
|
|
||||||
public class AccessFrameTitle extends JavadocTester {
|
public class TestNoFrames extends JavadocTester {
|
||||||
|
|
||||||
public static void main(String... args) throws Exception {
|
public static void main(String... args) throws Exception {
|
||||||
AccessFrameTitle tester = new AccessFrameTitle();
|
TestNoFrames tester = new TestNoFrames();
|
||||||
tester.runTests();
|
tester.runTests();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void test() {
|
public void testFrames() {
|
||||||
javadoc("-d", "out",
|
javadoc("-d", "out-1",
|
||||||
"--frames",
|
"--frames",
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath",testSrc,
|
||||||
"p1", "p2");
|
testSrc("TestNoFrames.java"));
|
||||||
|
checkExit(Exit.ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testDefault() {
|
||||||
|
javadoc("-d", "out-2",
|
||||||
|
"--no-frames",
|
||||||
|
"-sourcepath",testSrc,
|
||||||
|
testSrc("TestNoFrames.java"));
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
|
|
||||||
// Testing only for the presence of the title attributes.
|
checkOutput(Output.OUT, true,
|
||||||
// To make this test more robust, only
|
"javadoc: warning - The --no-frames option is no longer required and may be removed\n"
|
||||||
// the initial part of each title string is tested for,
|
+ "in a future release.");
|
||||||
// in case the ending part of the string later changes
|
|
||||||
checkOutput("index.html", true,
|
|
||||||
"title=\"All classes and interfaces (except non-static nested types)\"",
|
|
||||||
"title=\"All Packages\"",
|
|
||||||
"title=\"Package, class and interface descriptions\"");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -121,10 +121,8 @@ public class TestOrdering extends JavadocTester {
|
|||||||
javadoc("-d", "out-1",
|
javadoc("-d", "out-1",
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"pkg1");
|
"pkg1");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
checkFiles(false, "allclasses-noframe.html");
|
|
||||||
|
|
||||||
checkClassUseOrdering("pkg1/class-use/UsedClass.html");
|
checkClassUseOrdering("pkg1/class-use/UsedClass.html");
|
||||||
|
|
||||||
@ -174,20 +172,6 @@ public class TestOrdering extends JavadocTester {
|
|||||||
checkOrder("pkg1/OverrideOrdering.html",
|
checkOrder("pkg1/OverrideOrdering.html",
|
||||||
"<dd><code>iterator</code> in interface <code>java.util.Collection<",
|
"<dd><code>iterator</code> in interface <code>java.util.Collection<",
|
||||||
"<dd><code>iterator</code> in interface <code>java.lang.Iterable<");
|
"<dd><code>iterator</code> in interface <code>java.lang.Iterable<");
|
||||||
|
|
||||||
checkOrder("allclasses-frame.html",
|
|
||||||
"pkg1/A.html\" title=\"class in pkg1",
|
|
||||||
"pkg1/A.C.html\" title=\"class in pkg1",
|
|
||||||
"pkg1/B.html\" title=\"class in pkg1",
|
|
||||||
"pkg1/B.A.html\" title=\"class in pkg1",
|
|
||||||
"pkg1/C1.html\" title=\"class in pkg1",
|
|
||||||
"pkg1/C2.html\" title=\"class in pkg1",
|
|
||||||
"pkg1/C3.html\" title=\"class in pkg1",
|
|
||||||
"pkg1/C4.html\" title=\"class in pkg1",
|
|
||||||
"pkg1/ImplementsOrdering.html\" title=\"interface in pkg1",
|
|
||||||
"pkg1/MethodOrder.html\" title=\"class in pkg1",
|
|
||||||
"pkg1/OverrideOrdering.html\" title=\"class in pkg1",
|
|
||||||
"pkg1/UsedClass.html\" title=\"class in pkg1");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkClassUseOrdering(String usePage) {
|
void checkClassUseOrdering(String usePage) {
|
||||||
@ -359,7 +343,6 @@ public class TestOrdering extends JavadocTester {
|
|||||||
List<String> cmdArgs = new ArrayList();
|
List<String> cmdArgs = new ArrayList();
|
||||||
cmdArgs.add("-d");
|
cmdArgs.add("-d");
|
||||||
cmdArgs.add("out-2");
|
cmdArgs.add("out-2");
|
||||||
cmdArgs.add("--frames");
|
|
||||||
cmdArgs.add("-sourcepath");
|
cmdArgs.add("-sourcepath");
|
||||||
cmdArgs.add("src");
|
cmdArgs.add("src");
|
||||||
cmdArgs.add("-package");
|
cmdArgs.add("-package");
|
||||||
@ -419,25 +402,6 @@ public class TestOrdering extends JavadocTester {
|
|||||||
"<a href=\"add3/add/Add.ADD.html\" title=\"enum in add3.add\">",
|
"<a href=\"add3/add/Add.ADD.html\" title=\"enum in add3.add\">",
|
||||||
"<a href=\"add3/add/add/Add.ADD.html\" title=\"enum in add3.add.add\">",
|
"<a href=\"add3/add/add/Add.ADD.html\" title=\"enum in add3.add.add\">",
|
||||||
"<a href=\"add3/add/add/add/Add.ADD.html\" title=\"enum in add3.add.add.add\">");
|
"<a href=\"add3/add/add/add/Add.ADD.html\" title=\"enum in add3.add.add.add\">");
|
||||||
|
|
||||||
checkOrder("overview-frame.html",
|
|
||||||
"<a href=\"package-frame.html\" target=\"packageFrame\"><unnamed package></a>",
|
|
||||||
"<a href=\"add0/package-frame.html\" target=\"packageFrame\">add0</a>",
|
|
||||||
"<a href=\"add0/add/package-frame.html\" target=\"packageFrame\">add0.add</a>",
|
|
||||||
"<a href=\"add0/add/add/package-frame.html\" target=\"packageFrame\">add0.add.add</a>",
|
|
||||||
"<a href=\"add0/add/add/add/package-frame.html\" target=\"packageFrame\">add0.add.add.add</a>",
|
|
||||||
"<a href=\"add1/package-frame.html\" target=\"packageFrame\">add1</a>",
|
|
||||||
"<a href=\"add1/add/package-frame.html\" target=\"packageFrame\">add1.add</a>",
|
|
||||||
"<a href=\"add1/add/add/package-frame.html\" target=\"packageFrame\">add1.add.add</a>",
|
|
||||||
"<a href=\"add1/add/add/add/package-frame.html\" target=\"packageFrame\">add1.add.add.add</a>",
|
|
||||||
"<a href=\"add2/package-frame.html\" target=\"packageFrame\">add2</a>",
|
|
||||||
"<a href=\"add2/add/package-frame.html\" target=\"packageFrame\">add2.add</a>",
|
|
||||||
"<a href=\"add2/add/add/package-frame.html\" target=\"packageFrame\">add2.add.add</a>",
|
|
||||||
"<a href=\"add2/add/add/add/package-frame.html\" target=\"packageFrame\">add2.add.add.add</a>",
|
|
||||||
"<a href=\"add3/package-frame.html\" target=\"packageFrame\">add3</a>",
|
|
||||||
"<a href=\"add3/add/package-frame.html\" target=\"packageFrame\">add3.add</a>",
|
|
||||||
"<a href=\"add3/add/add/package-frame.html\" target=\"packageFrame\">add3.add.add</a>",
|
|
||||||
"<a href=\"add3/add/add/add/package-frame.html\" target=\"packageFrame\">add3.add.add.add</a></li>");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void emitFile(String pkgname, String clsname, ListOrder order) throws IOException {
|
void emitFile(String pkgname, String clsname, ListOrder order) throws IOException {
|
||||||
|
@ -47,7 +47,6 @@ public class TestOverview extends JavadocTester {
|
|||||||
"-doctitle", "Document Title",
|
"-doctitle", "Document Title",
|
||||||
"-windowtitle", "Window Title",
|
"-windowtitle", "Window Title",
|
||||||
"-overview", testSrc("overview.html"),
|
"-overview", testSrc("overview.html"),
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc("src"),
|
"-sourcepath", testSrc("src"),
|
||||||
"p1", "p2");
|
"p1", "p2");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
@ -60,7 +59,6 @@ public class TestOverview extends JavadocTester {
|
|||||||
"-doctitle", "Document Title",
|
"-doctitle", "Document Title",
|
||||||
"-windowtitle", "Window Title",
|
"-windowtitle", "Window Title",
|
||||||
"-overview", testSrc("overview.html"),
|
"-overview", testSrc("overview.html"),
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc("msrc"),
|
"-sourcepath", testSrc("msrc"),
|
||||||
"p1", "p2");
|
"p1", "p2");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
@ -68,7 +66,7 @@ public class TestOverview extends JavadocTester {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void checkOverview() {
|
void checkOverview() {
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<main role=\"main\">\n"
|
"<main role=\"main\">\n"
|
||||||
+ "<div class=\"header\">\n"
|
+ "<div class=\"header\">\n"
|
||||||
+ "<h1 class=\"title\">Document Title</h1>\n"
|
+ "<h1 class=\"title\">Document Title</h1>\n"
|
||||||
|
@ -46,7 +46,6 @@ public class TestPackageDeprecation extends JavadocTester {
|
|||||||
javadoc("-d", "out-default",
|
javadoc("-d", "out-default",
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"pkg", "pkg1", testSrc("C2.java"), testSrc("FooDepr.java"));
|
"pkg", "pkg1", testSrc("C2.java"), testSrc("FooDepr.java"));
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
|
|
||||||
@ -66,14 +65,11 @@ public class TestPackageDeprecation extends JavadocTester {
|
|||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-use",
|
"-use",
|
||||||
"-nodeprecated",
|
"-nodeprecated",
|
||||||
"--frames",
|
|
||||||
"pkg", "pkg1", testSrc("C2.java"), testSrc("FooDepr.java"));
|
"pkg", "pkg1", testSrc("C2.java"), testSrc("FooDepr.java"));
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
|
|
||||||
checkOutput("overview-summary.html", false,
|
checkOutput("index.html", false,
|
||||||
"pkg1");
|
"pkg1");
|
||||||
checkOutput("allclasses-frame.html", false,
|
|
||||||
"FooDepr");
|
|
||||||
checkOutput("class-use/C2.ModalExclusionType.html", true,
|
checkOutput("class-use/C2.ModalExclusionType.html", true,
|
||||||
"<th class=\"colFirst\" scope=\"row\"><a href=\"#unnamed.package\"><Unnamed></a></th>");
|
"<th class=\"colFirst\" scope=\"row\"><a href=\"#unnamed.package\"><Unnamed></a></th>");
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -44,19 +44,15 @@ public class TestRecurseSubPackages extends JavadocTester {
|
|||||||
@Test
|
@Test
|
||||||
public void test() {
|
public void test() {
|
||||||
javadoc("-d", "out",
|
javadoc("-d", "out",
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-subpackages", "pkg1",
|
"-subpackages", "pkg1",
|
||||||
"-exclude", "pkg1.pkg2.packageToExclude");
|
"-exclude", "pkg1.pkg2.packageToExclude");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
|
|
||||||
for (int i = 1; i <= 6; i++) {
|
for (int i = 1; i <= 6; i++) {
|
||||||
checkOutput("allclasses-frame.html", true,
|
checkOutput("allclasses-index.html", true,
|
||||||
"C" + i + ".html");
|
"C" + i + ".html");
|
||||||
}
|
}
|
||||||
|
|
||||||
checkOutput("allclasses-frame.html", false,
|
|
||||||
"DummyClass.html");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -50,7 +50,6 @@ public class TestRelativeLinks extends JavadocTester {
|
|||||||
public void test() {
|
public void test() {
|
||||||
javadoc("-d", "out",
|
javadoc("-d", "out",
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"pkg", "pkg2");
|
"pkg", "pkg2");
|
||||||
checkExit(Exit.ERROR);
|
checkExit(Exit.ERROR);
|
||||||
@ -98,7 +97,7 @@ public class TestRelativeLinks extends JavadocTester {
|
|||||||
" <a href=\"../../pkg/relative-multi-line-link.html\">relative-multi-line-link</a>.");
|
" <a href=\"../../pkg/relative-multi-line-link.html\">relative-multi-line-link</a>.");
|
||||||
|
|
||||||
// PACKAGE OVERVIEW
|
// PACKAGE OVERVIEW
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<a href=\"./pkg/relative-package-link.html\">relative package link</a>");
|
"<a href=\"./pkg/relative-package-link.html\">relative package link</a>");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,7 +70,6 @@ public class TestSearch extends JavadocTester {
|
|||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"pkg", "pkg1", "pkg2", "pkg3");
|
"pkg", "pkg1", "pkg2", "pkg3");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
checkInvalidUsageIndexTag();
|
checkInvalidUsageIndexTag();
|
||||||
@ -97,7 +96,6 @@ public class TestSearch extends JavadocTester {
|
|||||||
"-Xdoclint:all",
|
"-Xdoclint:all",
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"pkg", "pkg1", "pkg2", "pkg3");
|
"pkg", "pkg1", "pkg2", "pkg3");
|
||||||
checkExit(Exit.ERROR);
|
checkExit(Exit.ERROR);
|
||||||
checkDocLintErrors();
|
checkDocLintErrors();
|
||||||
@ -124,7 +122,6 @@ public class TestSearch extends JavadocTester {
|
|||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"pkg", "pkg1", "pkg2", "pkg3");
|
"pkg", "pkg1", "pkg2", "pkg3");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
checkSearchOutput(false);
|
checkSearchOutput(false);
|
||||||
@ -150,7 +147,6 @@ public class TestSearch extends JavadocTester {
|
|||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"pkg", "pkg1", "pkg2", "pkg3");
|
"pkg", "pkg1", "pkg2", "pkg3");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
checkSearchOutput(true);
|
checkSearchOutput(true);
|
||||||
@ -177,7 +173,6 @@ public class TestSearch extends JavadocTester {
|
|||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"pkg", "pkg1", "pkg2", "pkg3");
|
"pkg", "pkg1", "pkg2", "pkg3");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
checkSearchOutput(false);
|
checkSearchOutput(false);
|
||||||
@ -201,7 +196,6 @@ public class TestSearch extends JavadocTester {
|
|||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"pkg", "pkg1", "pkg2", "pkg3");
|
"pkg", "pkg1", "pkg2", "pkg3");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
checkSearchOutput(true);
|
checkSearchOutput(true);
|
||||||
@ -226,7 +220,6 @@ public class TestSearch extends JavadocTester {
|
|||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"pkg", "pkg1", "pkg2", "pkg3");
|
"pkg", "pkg1", "pkg2", "pkg3");
|
||||||
|
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
@ -252,7 +245,6 @@ public class TestSearch extends JavadocTester {
|
|||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"pkg", "pkg1", "pkg2", "pkg3");
|
"pkg", "pkg1", "pkg2", "pkg3");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
checkInvalidUsageIndexTag();
|
checkInvalidUsageIndexTag();
|
||||||
@ -280,7 +272,6 @@ public class TestSearch extends JavadocTester {
|
|||||||
"--disable-javafx-strict-checks",
|
"--disable-javafx-strict-checks",
|
||||||
"-package",
|
"-package",
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"pkgfx", "pkg3");
|
"pkgfx", "pkg3");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
checkSearchOutput(true);
|
checkSearchOutput(true);
|
||||||
@ -306,7 +297,6 @@ public class TestSearch extends JavadocTester {
|
|||||||
"-Xdoclint:none",
|
"-Xdoclint:none",
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"pkg", "pkg1", "pkg2", "pkg3");
|
"pkg", "pkg1", "pkg2", "pkg3");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
checkSearchOutput(true, false);
|
checkSearchOutput(true, false);
|
||||||
@ -373,7 +363,7 @@ public class TestSearch extends JavadocTester {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void checkSearchOutput(boolean expectedOutput) {
|
void checkSearchOutput(boolean expectedOutput) {
|
||||||
checkSearchOutput("overview-summary.html", expectedOutput, true);
|
checkSearchOutput("index.html", expectedOutput, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkSearchIndex(boolean expectedOutput) {
|
void checkSearchIndex(boolean expectedOutput) {
|
||||||
@ -390,7 +380,7 @@ public class TestSearch extends JavadocTester {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void checkSearchOutput(boolean expectedOutput, boolean moduleDirectoriesVar) {
|
void checkSearchOutput(boolean expectedOutput, boolean moduleDirectoriesVar) {
|
||||||
checkSearchOutput("overview-summary.html", expectedOutput, moduleDirectoriesVar);
|
checkSearchOutput("index.html", expectedOutput, moduleDirectoriesVar);
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkSearchOutput(String fileName, boolean expectedOutput, boolean moduleDirectoriesVar) {
|
void checkSearchOutput(String fileName, boolean expectedOutput, boolean moduleDirectoriesVar) {
|
||||||
|
@ -113,13 +113,12 @@ public class TestSummaryTag extends JavadocTester {
|
|||||||
@Test
|
@Test
|
||||||
public void test3() {
|
public void test3() {
|
||||||
javadoc("-d", "out3",
|
javadoc("-d", "out3",
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-overview", testSrc("p3/overview.html"),
|
"-overview", testSrc("p3/overview.html"),
|
||||||
"p3");
|
"p3");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
|
|
||||||
checkOutput("overview-summary.html", true,
|
checkOutput("index.html", true,
|
||||||
"<div class=\"block\">The first... line second from ...</div>");
|
"<div class=\"block\">The first... line second from ...</div>");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -47,7 +47,6 @@ public class TestTopOption extends JavadocTester {
|
|||||||
"-use",
|
"-use",
|
||||||
"-top", "TOP TEXT",
|
"-top", "TOP TEXT",
|
||||||
"-d", "out-1",
|
"-d", "out-1",
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"pkg");
|
"pkg");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
@ -59,7 +58,7 @@ public class TestTopOption extends JavadocTester {
|
|||||||
"pkg/class-use/Cl.html",
|
"pkg/class-use/Cl.html",
|
||||||
"pkg/package-summary.html",
|
"pkg/package-summary.html",
|
||||||
"pkg/package-use.html",
|
"pkg/package-use.html",
|
||||||
"overview-summary.html",
|
"index.html",
|
||||||
"overview-tree.html",
|
"overview-tree.html",
|
||||||
"constant-values.html",
|
"constant-values.html",
|
||||||
"help-doc.html");
|
"help-doc.html");
|
||||||
@ -71,7 +70,6 @@ public class TestTopOption extends JavadocTester {
|
|||||||
"-use",
|
"-use",
|
||||||
"-top", "\u0130{@docroot}TOP TEXT",
|
"-top", "\u0130{@docroot}TOP TEXT",
|
||||||
"-d", "out-2",
|
"-d", "out-2",
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"pkg");
|
"pkg");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
@ -83,7 +81,7 @@ public class TestTopOption extends JavadocTester {
|
|||||||
"pkg/class-use/Cl.html",
|
"pkg/class-use/Cl.html",
|
||||||
"pkg/package-summary.html",
|
"pkg/package-summary.html",
|
||||||
"pkg/package-use.html",
|
"pkg/package-use.html",
|
||||||
"overview-summary.html",
|
"index.html",
|
||||||
"overview-tree.html",
|
"overview-tree.html",
|
||||||
"constant-values.html",
|
"constant-values.html",
|
||||||
"help-doc.html");
|
"help-doc.html");
|
||||||
|
@ -47,7 +47,6 @@ public class TestUseOption extends JavadocTester {
|
|||||||
javadoc("-d", "out-1",
|
javadoc("-d", "out-1",
|
||||||
"-sourcepath", testSrc,
|
"-sourcepath", testSrc,
|
||||||
"-use",
|
"-use",
|
||||||
"--frames",
|
|
||||||
"pkg1", "pkg2");
|
"pkg1", "pkg2");
|
||||||
checkExit(Exit.OK);
|
checkExit(Exit.OK);
|
||||||
|
|
||||||
@ -80,10 +79,6 @@ public class TestUseOption extends JavadocTester {
|
|||||||
"Method in C8."
|
"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,
|
checkOutput("pkg1/class-use/UsedClass.html", true,
|
||||||
"that return types with arguments of type"
|
"that return types with arguments of type"
|
||||||
);
|
);
|
||||||
|
@ -1,228 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2013, 2018, 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @test
|
|
||||||
* @bug 8016675 8026736 8196202
|
|
||||||
* @summary Test for window title.
|
|
||||||
* @author Bhavesh Patel
|
|
||||||
* @library ../../lib
|
|
||||||
* @modules jdk.javadoc/jdk.javadoc.internal.tool
|
|
||||||
* @build javadoc.tester.*
|
|
||||||
* @run main TestWindowTitle
|
|
||||||
*/
|
|
||||||
import javadoc.tester.JavadocTester;
|
|
||||||
|
|
||||||
public class TestWindowTitle extends JavadocTester {
|
|
||||||
|
|
||||||
public static void main(String... args) throws Exception {
|
|
||||||
TestWindowTitle tester = new TestWindowTitle();
|
|
||||||
tester.runTests();
|
|
||||||
tester.printSummary();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testJavaScriptChars() {
|
|
||||||
// Window title with JavaScript special characters.
|
|
||||||
String title = "Testing \"Window 'Title'\" with a \\ backslash and a / "
|
|
||||||
+ "forward slash and a \u00e8 unicode char also a tab and also a "
|
|
||||||
+ "\t special character another \u0002 unicode)";
|
|
||||||
|
|
||||||
javadoc("-d", "out-js-chars",
|
|
||||||
"-windowtitle", title,
|
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
|
||||||
"p1", "p2");
|
|
||||||
checkExit(Exit.OK);
|
|
||||||
|
|
||||||
checkOutput("overview-summary.html", true,
|
|
||||||
"parent.document.title=\"Overview (Testing \\\"Window \\\'Title\\\'\\\" "
|
|
||||||
+ "with a \\\\ backslash and a / forward slash and a \\u00E8 unicode char "
|
|
||||||
+ "also a tab and also a \\t special character another \\u0002 unicode))\";"
|
|
||||||
);
|
|
||||||
|
|
||||||
checkOutput("overview-summary.html", false,
|
|
||||||
"parent.document.title=\"Overview (Testing \"Window \'Title\'\" "
|
|
||||||
+ "with a \\ backslash and a / forward slash and a \u00E8 unicode char "
|
|
||||||
+ "also a tab and also a \t special character another \u0002 unicode))\";"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testScriptTag() {
|
|
||||||
// Window title with a script tag.
|
|
||||||
String title = "Testing script tag in title </title><script>alert(\"Should not pop up\")</script>.";
|
|
||||||
|
|
||||||
javadoc("-d", "out-script",
|
|
||||||
"-windowtitle", title,
|
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
|
||||||
"p1", "p2");
|
|
||||||
checkExit(Exit.OK);
|
|
||||||
|
|
||||||
checkOutput("overview-summary.html", true,
|
|
||||||
"parent.document.title=\"Overview (Testing script tag in title alert"
|
|
||||||
+ "(\\\"Should not pop up\\\").)\";"
|
|
||||||
);
|
|
||||||
|
|
||||||
checkOutput("p2/C2.html", true,
|
|
||||||
"parent.document.title=\"C2 (Testing script tag in title alert"
|
|
||||||
+ "(\\\"Should not pop up\\\").)\";"
|
|
||||||
);
|
|
||||||
|
|
||||||
checkOutput("overview-summary.html", false,
|
|
||||||
"parent.document.title=\"Overview (Testing script tag in title </title><script>"
|
|
||||||
+ "alert(\\\"Should not pop up\\\")</script>.)\";"
|
|
||||||
);
|
|
||||||
|
|
||||||
checkOutput("p2/C2.html", false,
|
|
||||||
"parent.document.title=\"C2 (Testing script tag in title </title><script>"
|
|
||||||
+ "alert(\\\"Should not pop up\\\")</script>.)\";"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testHtmlTags() {
|
|
||||||
// Window title with other HTML tags.
|
|
||||||
String title = "Testing another <p>HTML</p> tag. Another <h1>tag</h1>. A "
|
|
||||||
+ "<span id=\"testTag\">tag with attributes</span>. <script and </p are not tags.";
|
|
||||||
|
|
||||||
javadoc("-d", "out-html-tags",
|
|
||||||
"-windowtitle", title,
|
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
|
||||||
"p1", "p2");
|
|
||||||
checkExit(Exit.OK);
|
|
||||||
|
|
||||||
checkOutput("overview-summary.html", true,
|
|
||||||
"parent.document.title=\"Overview (Testing another HTML tag. Another tag. A "
|
|
||||||
+ "tag with attributes. <script and </p are not tags.)\";"
|
|
||||||
);
|
|
||||||
|
|
||||||
checkOutput("overview-summary.html", false,
|
|
||||||
"parent.document.title=\"Overview (Testing another <p>HTML</p> tag. Another "
|
|
||||||
+ "<h1>tag</h1>. A <span id=\"testTag\">tag with attributes</span>. <script and "
|
|
||||||
+ "</p are not tags.)\";"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testHtmlEntities() {
|
|
||||||
// Window title using entities.
|
|
||||||
String title = "Testing entities <script>alert(\"Should not pop up\")</script>.";
|
|
||||||
|
|
||||||
javadoc("-d", "out-html-entities",
|
|
||||||
"-windowtitle", title,
|
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
|
||||||
"p1", "p2");
|
|
||||||
|
|
||||||
checkOutput("overview-summary.html", true,
|
|
||||||
"parent.document.title=\"Overview (Testing entities <script>alert(\\\"Should "
|
|
||||||
+ "not pop up\\\")</script>.)\";"
|
|
||||||
);
|
|
||||||
|
|
||||||
checkOutput("overview-summary.html", false,
|
|
||||||
"parent.document.title=\"Overview (Testing entities alert(\\\"Should not pop up\\\").)\";"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testEmptyTags() {
|
|
||||||
// Window title with just empty HTML tags.
|
|
||||||
String title = "</title><script></script>";
|
|
||||||
|
|
||||||
javadoc("-d", "out-empty-tags",
|
|
||||||
"-windowtitle", title,
|
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
|
||||||
"p1", "p2");
|
|
||||||
|
|
||||||
checkOutput("overview-summary.html", true,
|
|
||||||
"parent.document.title=\"Overview\";"
|
|
||||||
);
|
|
||||||
|
|
||||||
checkOutput("overview-summary.html", false,
|
|
||||||
"parent.document.title=\"Overview (</title><script></script>)\";"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testUnicode() {
|
|
||||||
//Window title with unicode characters.
|
|
||||||
String title = "Testing unicode \u003cscript\u003ealert(\"Should not pop up\")\u003c/script\u003e.";
|
|
||||||
|
|
||||||
javadoc("-d", "out-unicode",
|
|
||||||
"-windowtitle", title,
|
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
|
||||||
"p1", "p2");
|
|
||||||
checkExit(Exit.OK);
|
|
||||||
|
|
||||||
checkOutput("overview-summary.html", true,
|
|
||||||
"parent.document.title=\"Overview (Testing unicode alert(\\\"Should "
|
|
||||||
+ "not pop up\\\").)\";"
|
|
||||||
);
|
|
||||||
|
|
||||||
checkOutput("overview-summary.html", false,
|
|
||||||
"parent.document.title=\"Overview (Testing unicode <script>alert(\\\"Should not pop up\\\")"
|
|
||||||
+ "</script>.)\";"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testEmpty() {
|
|
||||||
// An empty window title.
|
|
||||||
String title = "";
|
|
||||||
javadoc("-d", "out-empty",
|
|
||||||
"-windowtitle", title,
|
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc, "p1", "p2");
|
|
||||||
checkExit(Exit.OK);
|
|
||||||
|
|
||||||
checkOutput("overview-summary.html", true,
|
|
||||||
"parent.document.title=\"Overview\";"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testDocTitle() {
|
|
||||||
// Window title with JavaScript special characters, specified with -doctitle
|
|
||||||
String title = "Testing \"Window 'Title'\" with a \\ backslash and a / "
|
|
||||||
+ "forward slash and a \u00e8 unicode char also a tab and also a "
|
|
||||||
+ "\t special character another \u0002 unicode)";
|
|
||||||
|
|
||||||
javadoc("-d", "out-doctitle",
|
|
||||||
"-doctitle", title,
|
|
||||||
"--frames",
|
|
||||||
"-sourcepath", testSrc,
|
|
||||||
"p1", "p2");
|
|
||||||
checkExit(Exit.OK);
|
|
||||||
|
|
||||||
checkOutput("overview-summary.html", false,
|
|
||||||
"parent.document.title=\"Overview (Testing \\\"Window \\\'Title\\\'\\\" "
|
|
||||||
+ "with a \\\\ backslash and a / forward slash and a \\u00E8 unicode char "
|
|
||||||
+ "also a tab and also a \\t special character another \\u0002 unicode)\";"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2013, 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 p1;
|
|
||||||
|
|
||||||
public class C1 {
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2013, 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 p2;
|
|
||||||
|
|
||||||
public class C2 {
|
|
||||||
}
|
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -240,7 +240,6 @@ public class TestScriptInComment {
|
|||||||
opts.add(srcDir.getPath());
|
opts.add(srcDir.getPath());
|
||||||
opts.add("-d");
|
opts.add("-d");
|
||||||
opts.add(outDir.getPath());
|
opts.add(outDir.getPath());
|
||||||
opts.add("--frames");
|
|
||||||
if (option.text != null)
|
if (option.text != null)
|
||||||
opts.add(option.text);
|
opts.add(option.text);
|
||||||
for (String opt: template.getOpts(srcDir)) {
|
for (String opt: template.getOpts(srcDir)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user