8196201: Generate pages to list all classes and all packages in javadoc output

Reviewed-by: jjg
This commit is contained in:
Bhavesh Patel 2018-05-17 12:59:53 -07:00
parent e8cf273121
commit 7c66a1d6a2
30 changed files with 716 additions and 215 deletions

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1998, 2018, 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
@ -437,8 +437,20 @@ public class AbstractIndexWriter extends HtmlDocletWriter {
createSearchIndexFile(DocPaths.MODULE_SEARCH_INDEX_JSON, DocPaths.MODULE_SEARCH_INDEX_ZIP, createSearchIndexFile(DocPaths.MODULE_SEARCH_INDEX_JSON, DocPaths.MODULE_SEARCH_INDEX_ZIP,
DocPaths.MODULE_SEARCH_INDEX_JS, configuration.moduleSearchIndex, "moduleSearchIndex"); DocPaths.MODULE_SEARCH_INDEX_JS, configuration.moduleSearchIndex, "moduleSearchIndex");
} }
if (!configuration.packages.isEmpty()) {
SearchIndexItem si = new SearchIndexItem();
si.setCategory(resources.getText("doclet.Packages"));
si.setLabel(configuration.getText("doclet.All_Packages"));
si.setUrl(DocPaths.ALLPACKAGES_INDEX.getPath());
configuration.packageSearchIndex.add(si);
}
createSearchIndexFile(DocPaths.PACKAGE_SEARCH_INDEX_JSON, DocPaths.PACKAGE_SEARCH_INDEX_ZIP, createSearchIndexFile(DocPaths.PACKAGE_SEARCH_INDEX_JSON, DocPaths.PACKAGE_SEARCH_INDEX_ZIP,
DocPaths.PACKAGE_SEARCH_INDEX_JS, configuration.packageSearchIndex, "packageSearchIndex"); DocPaths.PACKAGE_SEARCH_INDEX_JS, configuration.packageSearchIndex, "packageSearchIndex");
SearchIndexItem si = new SearchIndexItem();
si.setCategory(resources.getText("doclet.Types"));
si.setLabel(configuration.getText("doclet.All_Classes"));
si.setUrl(DocPaths.ALLCLASSES_INDEX.getPath());
configuration.typeSearchIndex.add(si);
createSearchIndexFile(DocPaths.TYPE_SEARCH_INDEX_JSON, DocPaths.TYPE_SEARCH_INDEX_ZIP, createSearchIndexFile(DocPaths.TYPE_SEARCH_INDEX_JSON, DocPaths.TYPE_SEARCH_INDEX_ZIP,
DocPaths.TYPE_SEARCH_INDEX_JS, configuration.typeSearchIndex, "typeSearchIndex"); DocPaths.TYPE_SEARCH_INDEX_JS, configuration.typeSearchIndex, "typeSearchIndex");
createSearchIndexFile(DocPaths.MEMBER_SEARCH_INDEX_JSON, DocPaths.MEMBER_SEARCH_INDEX_ZIP, createSearchIndexFile(DocPaths.MEMBER_SEARCH_INDEX_JSON, DocPaths.MEMBER_SEARCH_INDEX_ZIP,

View File

@ -0,0 +1,207 @@
/*
* Copyright (c) 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. 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 javax.lang.model.element.Element;
import javax.lang.model.element.TypeElement;
import com.sun.source.doctree.DocTree;
import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlConstants;
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.Navigation;
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
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.
*/
public class AllClassesIndexWriter extends HtmlDocletWriter {
/**
* Index of all the classes.
*/
protected IndexBuilder indexbuilder;
/**
* The HTML tree for main tag.
*/
protected HtmlTree mainTree = HtmlTree.MAIN();
private final Navigation navBar;
/**
* 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 AllClassesIndexWriter(HtmlConfiguration configuration,
DocPath filename, IndexBuilder indexbuilder) {
super(configuration, filename);
this.indexbuilder = indexbuilder;
this.navBar = new Navigation(null, configuration, fixedNavDiv, PageMode.ALLCLASSES, path);
}
/**
* Create AllClassesIndexWriter object.
*
* @param configuration The current configuration
* @param indexBuilder IndexBuilder object for all classes index.
* @throws DocFileIOException
*/
public static void generate(HtmlConfiguration configuration,
IndexBuilder indexBuilder) throws DocFileIOException {
generate(configuration, indexBuilder, DocPaths.ALLCLASSES_INDEX);
}
private static void generate(HtmlConfiguration configuration, IndexBuilder indexBuilder,
DocPath fileName) throws DocFileIOException {
AllClassesIndexWriter allClassGen = new AllClassesIndexWriter(configuration,
fileName, indexBuilder);
allClassGen.buildAllClassesFile();
}
/**
* Print all the classes in the file.
*/
protected void buildAllClassesFile() throws DocFileIOException {
String label = configuration.getText("doclet.All_Classes");
HtmlTree bodyTree = getBody(true, getWindowTitle(label));
HtmlTree htmlTree = (configuration.allowTag(HtmlTag.HEADER))
? HtmlTree.HEADER()
: bodyTree;
addTop(htmlTree);
navBar.setUserHeader(getUserHeaderFooter(true));
htmlTree.addContent(navBar.getContent(true));
if (configuration.allowTag(HtmlTag.HEADER)) {
bodyTree.addContent(htmlTree);
}
Content allClassesContent = new ContentBuilder();
addContents(allClassesContent);
if (configuration.allowTag(HtmlTag.MAIN)) {
mainTree.addContent(allClassesContent);
bodyTree.addContent(mainTree);
} else {
bodyTree.addContent(allClassesContent);
}
Content tree = (configuration.allowTag(HtmlTag.FOOTER))
? HtmlTree.FOOTER()
: bodyTree;
navBar.setUserFooter(getUserHeaderFooter(false));
tree.addContent(navBar.getContent(false));
addBottom(tree);
if (configuration.allowTag(HtmlTag.FOOTER)) {
bodyTree.addContent(tree);
}
printHtmlDocument(null, true, bodyTree);
}
/**
* Add all types to the content tree.
*
* @param content HtmlTree content to which the links will be added
*/
protected void addContents(Content content) {
Table table = new Table(configuration.htmlVersion, HtmlStyle.typeSummary)
.setSummary(resources.classTableSummary)
.setHeader(new TableHeader(contents.classLabel, contents.descriptionLabel))
.setRowScopeColumn(1)
.setColumnStyles(HtmlStyle.colFirst, HtmlStyle.colLast)
.setDefaultTab(resources.getText("doclet.All_Classes"))
.addTab(resources.interfaceSummary, utils::isInterface)
.addTab(resources.classSummary, e -> utils.isOrdinaryClass((TypeElement)e))
.addTab(resources.enumSummary, utils::isEnum)
.addTab(resources.exceptionSummary, e -> utils.isException((TypeElement)e))
.addTab(resources.errorSummary, e -> utils.isError((TypeElement)e))
.addTab(resources.annotationTypeSummary, utils::isAnnotationType)
.setTabScript(i -> "show(" + i + ");")
.setUseTBody(false)
.setPutIdFirst(true);
for (Character unicode : indexbuilder.index()) {
for (Element element : indexbuilder.getMemberList(unicode)) {
TypeElement typeElement = (TypeElement) element;
if (!utils.isCoreClass(typeElement)) {
continue;
}
addTableRow(table, typeElement);
}
}
Content titleContent = contents.allClassesLabel;
Content pHeading = HtmlTree.HEADING(HtmlConstants.TITLE_HEADING, true,
HtmlStyle.title, titleContent);
Content headerDiv = HtmlTree.DIV(HtmlStyle.header, pHeading);
content.addContent(headerDiv);
if (!table.isEmpty()) {
HtmlTree li = HtmlTree.LI(HtmlStyle.blockList, table.toContent());
HtmlTree ul = HtmlTree.UL(HtmlStyle.blockList, li);
HtmlTree div = new HtmlTree(HtmlTag.DIV);
div.setStyle(HtmlStyle.allClassesContainer);
div.addContent(ul);
content.addContent(div);
if (table.needsScript()) {
getMainBodyScript().append(table.getScript());
}
}
}
/**
* Add table row.
*
* @param table the table to which the row will be added
* @param klass the type to be added to the table
*/
protected void addTableRow(Table table, TypeElement klass) {
List<Content> rowContents = new ArrayList<>();
Content classLink = getLink(new LinkInfoImpl(
configuration, LinkInfoImpl.Kind.INDEX, klass));
ContentBuilder description = new ContentBuilder();
if (utils.isDeprecated(klass)) {
description.addContent(getDeprecatedPhrase(klass));
List<? extends DocTree> tags = utils.getDeprecatedTrees(klass);
if (!tags.isEmpty()) {
addSummaryDeprecatedComment(klass, tags.get(0), description);
}
} else {
addSummaryComment(klass, description);
}
rowContents.add(classLink);
rowContents.add(description);
table.addRow(klass, rowContents);
}
}

View File

@ -0,0 +1,146 @@
/*
* Copyright (c) 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. 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.ContentBuilder;
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlConstants;
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.Navigation;
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
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 file with list of all the packages in this run.
*/
public class AllPackagesIndexWriter extends HtmlDocletWriter {
/**
* The HTML tree for main tag.
*/
protected HtmlTree mainTree = HtmlTree.MAIN();
private final Navigation navBar;
/**
* Construct AllPackagesIndexWriter object.
*
* @param configuration The current configuration
* @param filename Path to the file which is getting generated.
*/
public AllPackagesIndexWriter(HtmlConfiguration configuration, DocPath filename) {
super(configuration, filename);
this.navBar = new Navigation(null, configuration, fixedNavDiv, PageMode.ALLPACKAGES, path);
}
/**
* Create AllPackagesIndexWriter object.
*
* @param configuration The current configuration
* @throws DocFileIOException
*/
public static void generate(HtmlConfiguration configuration) throws DocFileIOException {
generate(configuration, DocPaths.ALLPACKAGES_INDEX);
}
private static void generate(HtmlConfiguration configuration, DocPath fileName) throws DocFileIOException {
AllPackagesIndexWriter allPkgGen = new AllPackagesIndexWriter(configuration, fileName);
allPkgGen.buildAllPackagesFile();
}
/**
* Print all the packages in the file.
*/
protected void buildAllPackagesFile() throws DocFileIOException {
String label = configuration.getText("doclet.All_Packages");
HtmlTree bodyTree = getBody(true, getWindowTitle(label));
HtmlTree htmlTree = (configuration.allowTag(HtmlTag.HEADER))
? HtmlTree.HEADER()
: bodyTree;
addTop(htmlTree);
navBar.setUserHeader(getUserHeaderFooter(true));
htmlTree.addContent(navBar.getContent(true));
if (configuration.allowTag(HtmlTag.HEADER)) {
bodyTree.addContent(htmlTree);
}
HtmlTree div = new HtmlTree(HtmlTag.DIV);
div.setStyle(HtmlStyle.allPackagesContainer);
addPackages(div);
Content titleContent = contents.allPackagesLabel;
Content pHeading = HtmlTree.HEADING(HtmlConstants.TITLE_HEADING, true,
HtmlStyle.title, titleContent);
Content headerDiv = HtmlTree.DIV(HtmlStyle.header, pHeading);
if (configuration.allowTag(HtmlTag.MAIN)) {
mainTree.addContent(headerDiv);
mainTree.addContent(div);
bodyTree.addContent(mainTree);
} else {
bodyTree.addContent(headerDiv);
bodyTree.addContent(div);
}
Content tree = (configuration.allowTag(HtmlTag.FOOTER))
? HtmlTree.FOOTER()
: bodyTree;
navBar.setUserFooter(getUserHeaderFooter(false));
tree.addContent(navBar.getContent(false));
addBottom(tree);
if (configuration.allowTag(HtmlTag.FOOTER)) {
bodyTree.addContent(tree);
}
printHtmlDocument(null, true, bodyTree);
}
/**
* Add all the packages to the content tree.
*
* @param content HtmlTree content to which the links will be added
*/
protected void addPackages(Content content) {
Table table = new Table(configuration.htmlVersion, HtmlStyle.packagesSummary)
.setSummary(resources.packageTableSummary)
.setCaption(getTableCaption(new StringContent(resources.packageSummary)))
.setHeader(new TableHeader(contents.packageLabel, contents.descriptionLabel))
.setColumnStyles(HtmlStyle.colFirst, HtmlStyle.colLast);
for (PackageElement pkg : configuration.packages) {
if (!(configuration.nodeprecated && utils.isDeprecated(pkg))) {
Content packageLinkContent = getPackageLink(pkg, getPackageName(pkg));
Content summaryContent = new ContentBuilder();
addSummaryComment(pkg, summaryContent);
table.addRow(pkg, packageLinkContent, summaryContent);
}
}
HtmlTree li = HtmlTree.LI(HtmlStyle.blockList, table.toContent());
content.addContent(HtmlTree.UL(HtmlStyle.blockList, li));
}
}

View File

@ -146,6 +146,11 @@ public class HtmlDoclet extends AbstractDoclet {
} else { } else {
SingleIndexWriter.generate(configuration, indexbuilder); SingleIndexWriter.generate(configuration, indexbuilder);
} }
AllClassesIndexWriter.generate(configuration,
new IndexBuilder(configuration, nodeprecated, true));
if (!configuration.packages.isEmpty()) {
AllPackagesIndexWriter.generate(configuration);
}
} }
if (!(configuration.nodeprecatedlist || nodeprecated)) { if (!(configuration.nodeprecatedlist || nodeprecated)) {

View File

@ -266,7 +266,6 @@ public class MethodWriterImpl extends AbstractExecutableMemberWriter
.addTab(resources.getText("doclet.Default_Methods"), utils::isDefault) .addTab(resources.getText("doclet.Default_Methods"), utils::isDefault)
.addTab(resources.getText("doclet.Deprecated_Methods"), .addTab(resources.getText("doclet.Deprecated_Methods"),
e -> utils.isDeprecated(e) || utils.isDeprecated(typeElement)) e -> utils.isDeprecated(e) || utils.isDeprecated(typeElement))
.setTabScriptVariable("methods")
.setTabScript(i -> "show(" + i + ");") .setTabScript(i -> "show(" + i + ");")
.setUseTBody(false) .setUseTBody(false)
.setPutIdFirst(true); .setPutIdFirst(true);

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2016, 2018, 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
@ -131,8 +131,7 @@ public class ModuleIndexWriter extends AbstractModuleIndexWriter {
.setHeader(header) .setHeader(header)
.setColumnStyles(HtmlStyle.colFirst, HtmlStyle.colLast) .setColumnStyles(HtmlStyle.colFirst, HtmlStyle.colLast)
.setDefaultTab(resources.getText("doclet.All_Modules")) .setDefaultTab(resources.getText("doclet.All_Modules"))
.setTabScriptVariable("groups") .setTabScript(i -> "show(" + i + ");")
.setTabScript(i -> "showGroups(" + i + ");")
.setTabId(i -> (i == 0) ? "t0" : ("t" + (1 << (i - 1)))); .setTabId(i -> (i == 0) ? "t0" : ("t" + (1 << (i - 1))));
// add the tabs in command-line order // add the tabs in command-line order

View File

@ -622,8 +622,7 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
.addTab(resources.getText("doclet.Exported_Packages_Summary"), this::isExported) .addTab(resources.getText("doclet.Exported_Packages_Summary"), this::isExported)
.addTab(resources.getText("doclet.Opened_Packages_Summary"), this::isOpened) .addTab(resources.getText("doclet.Opened_Packages_Summary"), this::isOpened)
.addTab(resources.getText("doclet.Concealed_Packages_Summary"), this::isConcealed) .addTab(resources.getText("doclet.Concealed_Packages_Summary"), this::isConcealed)
.setTabScript(i -> String.format("showPkgs(%d);", i)) .setTabScript(i -> String.format("show(%d);", i));
.setTabScriptVariable("packages");
// Determine whether to show the "Exported To" and "Opened To" columns, // Determine whether to show the "Exported To" and "Opened To" columns,
// based on whether such columns would provide "useful" info. // based on whether such columns would provide "useful" info.

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2018, 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
@ -113,8 +113,7 @@ public class PackageIndexWriter extends AbstractPackageIndexWriter {
.setHeader(getPackageTableHeader()) .setHeader(getPackageTableHeader())
.setColumnStyles(HtmlStyle.colFirst, HtmlStyle.colLast) .setColumnStyles(HtmlStyle.colFirst, HtmlStyle.colLast)
.setDefaultTab(resources.getText("doclet.All_Packages")) .setDefaultTab(resources.getText("doclet.All_Packages"))
.setTabScriptVariable("groups") .setTabScript(i -> "show(" + i + ");")
.setTabScript(i -> "showGroups(" + i + ");")
.setTabId(i -> (i == 0) ? "t0" : ("t" + (1 << (i - 1)))); .setTabId(i -> (i == 0) ? "t0" : ("t" + (1 << (i - 1))));
// add the tabs in command-line order // add the tabs in command-line order

View File

@ -195,13 +195,9 @@ public class PackageWriterImpl extends HtmlDocletWriter
*/ */
@Override @Override
public void addInterfaceSummary(SortedSet<TypeElement> interfaces, Content summaryContentTree) { public void addInterfaceSummary(SortedSet<TypeElement> interfaces, Content summaryContentTree) {
String label = resources.getText("doclet.Interface_Summary");
String tableSummary = resources.getText("doclet.Member_Table_Summary",
resources.getText("doclet.Interface_Summary"),
resources.getText("doclet.interfaces"));
TableHeader tableHeader= new TableHeader(contents.interfaceLabel, contents.descriptionLabel); TableHeader tableHeader= new TableHeader(contents.interfaceLabel, contents.descriptionLabel);
addClassesSummary(interfaces, resources.interfaceSummary, resources.interfaceTableSummary,
addClassesSummary(interfaces, label, tableSummary, tableHeader, summaryContentTree); tableHeader, summaryContentTree);
} }
/** /**
@ -209,13 +205,9 @@ public class PackageWriterImpl extends HtmlDocletWriter
*/ */
@Override @Override
public void addClassSummary(SortedSet<TypeElement> classes, Content summaryContentTree) { public void addClassSummary(SortedSet<TypeElement> classes, Content summaryContentTree) {
String label = resources.getText("doclet.Class_Summary");
String tableSummary = resources.getText("doclet.Member_Table_Summary",
resources.getText("doclet.Class_Summary"),
resources.getText("doclet.classes"));
TableHeader tableHeader= new TableHeader(contents.classLabel, contents.descriptionLabel); TableHeader tableHeader= new TableHeader(contents.classLabel, contents.descriptionLabel);
addClassesSummary(classes, resources.classSummary, resources.classTableSummary,
addClassesSummary(classes, label, tableSummary, tableHeader, summaryContentTree); tableHeader, summaryContentTree);
} }
/** /**
@ -223,13 +215,9 @@ public class PackageWriterImpl extends HtmlDocletWriter
*/ */
@Override @Override
public void addEnumSummary(SortedSet<TypeElement> enums, Content summaryContentTree) { public void addEnumSummary(SortedSet<TypeElement> enums, Content summaryContentTree) {
String label = resources.getText("doclet.Enum_Summary");
String tableSummary = resources.getText("doclet.Member_Table_Summary",
resources.getText("doclet.Enum_Summary"),
resources.getText("doclet.enums"));
TableHeader tableHeader= new TableHeader(contents.enum_, contents.descriptionLabel); TableHeader tableHeader= new TableHeader(contents.enum_, contents.descriptionLabel);
addClassesSummary(enums, resources.enumSummary, resources.enumTableSummary,
addClassesSummary(enums, label, tableSummary, tableHeader, summaryContentTree); tableHeader, summaryContentTree);
} }
/** /**
@ -237,13 +225,9 @@ public class PackageWriterImpl extends HtmlDocletWriter
*/ */
@Override @Override
public void addExceptionSummary(SortedSet<TypeElement> exceptions, Content summaryContentTree) { public void addExceptionSummary(SortedSet<TypeElement> exceptions, Content summaryContentTree) {
String label = resources.getText("doclet.Exception_Summary");
String tableSummary = resources.getText("doclet.Member_Table_Summary",
resources.getText("doclet.Exception_Summary"),
resources.getText("doclet.exceptions"));
TableHeader tableHeader= new TableHeader(contents.exception, contents.descriptionLabel); TableHeader tableHeader= new TableHeader(contents.exception, contents.descriptionLabel);
addClassesSummary(exceptions, resources.exceptionSummary, resources.exceptionTableSummary,
addClassesSummary(exceptions, label, tableSummary, tableHeader, summaryContentTree); tableHeader, summaryContentTree);
} }
/** /**
@ -251,13 +235,9 @@ public class PackageWriterImpl extends HtmlDocletWriter
*/ */
@Override @Override
public void addErrorSummary(SortedSet<TypeElement> errors, Content summaryContentTree) { public void addErrorSummary(SortedSet<TypeElement> errors, Content summaryContentTree) {
String label = resources.getText("doclet.Error_Summary");
String tableSummary = resources.getText("doclet.Member_Table_Summary",
resources.getText("doclet.Error_Summary"),
resources.getText("doclet.errors"));
TableHeader tableHeader= new TableHeader(contents.error, contents.descriptionLabel); TableHeader tableHeader= new TableHeader(contents.error, contents.descriptionLabel);
addClassesSummary(errors, resources.errorSummary, resources.errorTableSummary,
addClassesSummary(errors, label, tableSummary, tableHeader, summaryContentTree); tableHeader, summaryContentTree);
} }
/** /**
@ -265,13 +245,9 @@ public class PackageWriterImpl extends HtmlDocletWriter
*/ */
@Override @Override
public void addAnnotationTypeSummary(SortedSet<TypeElement> annoTypes, Content summaryContentTree) { public void addAnnotationTypeSummary(SortedSet<TypeElement> annoTypes, Content summaryContentTree) {
String label = resources.getText("doclet.Annotation_Types_Summary");
String tableSummary = resources.getText("doclet.Member_Table_Summary",
resources.getText("doclet.Annotation_Types_Summary"),
resources.getText("doclet.annotationtypes"));
TableHeader tableHeader= new TableHeader(contents.annotationType, contents.descriptionLabel); TableHeader tableHeader= new TableHeader(contents.annotationType, contents.descriptionLabel);
addClassesSummary(annoTypes, resources.annotationTypeSummary, resources.annotationTypeTableSummary,
addClassesSummary(annoTypes, label, tableSummary, tableHeader, summaryContentTree); tableHeader, summaryContentTree);
} }
public void addClassesSummary(SortedSet<TypeElement> classes, String label, public void addClassesSummary(SortedSet<TypeElement> classes, String label,

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2015, 2018, 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
@ -103,13 +103,21 @@ public class SearchIndexItem {
if (!containingModule.isEmpty()) { if (!containingModule.isEmpty()) {
item.append("\"m\":\"").append(containingModule).append("\","); item.append("\"m\":\"").append(containingModule).append("\",");
} }
item.append("\"l\":\"").append(label).append("\"") item.append("\"l\":\"").append(label).append("\"");
.append("}"); if (!url.equals("")) {
item.append(",\"url\":\"").append(url).append("\"");
}
item.append("}");
} else if (category.equals("Types")) { } else if (category.equals("Types")) {
item.append("{") item.append("{");
.append("\"p\":\"").append(containingPackage).append("\",") if (!containingPackage.equals("")) {
.append("\"l\":\"").append(label).append("\"") item.append("\"p\":\"").append(containingPackage).append("\",");
.append("}"); }
item.append("\"l\":\"").append(label).append("\"");
if (!url.equals("")) {
item.append(",\"url\":\"").append(url).append("\"");
}
item.append("}");
} else if (category.equals("Members")) { } else if (category.equals("Members")) {
item.append("{") item.append("{")
.append("\"p\":\"").append(containingPackage).append("\",") .append("\"p\":\"").append(containingPackage).append("\",")

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1998, 2018, 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
@ -147,5 +147,13 @@ public class SingleIndexWriter extends AbstractIndexWriter {
new StringContent(unicode))); new StringContent(unicode)));
contentTree.addContent(Contents.SPACE); contentTree.addContent(Contents.SPACE);
} }
contentTree.addContent(new HtmlTree(HtmlTag.BR));
contentTree.addContent(links.createLink(DocPaths.ALLCLASSES_INDEX,
contents.allClassesLabel));
if (!configuration.packages.isEmpty()) {
contentTree.addContent(Contents.SPACE);
contentTree.addContent(links.createLink(DocPaths.ALLPACKAGES_INDEX,
contents.allPackagesLabel));
} }
} }
}

View File

@ -167,5 +167,13 @@ public class SplitIndexWriter extends AbstractIndexWriter {
new StringContent(indexElements.get(i).toString()))); new StringContent(indexElements.get(i).toString())));
contentTree.addContent(Contents.SPACE); contentTree.addContent(Contents.SPACE);
} }
contentTree.addContent(new HtmlTree(HtmlTag.BR));
contentTree.addContent(links.createLink(pathToRoot.resolve(DocPaths.ALLCLASSES_INDEX),
contents.allClassesLabel));
if (!configuration.packages.isEmpty()) {
contentTree.addContent(Contents.SPACE);
contentTree.addContent(links.createLink(pathToRoot.resolve(DocPaths.ALLPACKAGES_INDEX),
contents.allPackagesLabel));
} }
} }
}

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2010, 2018, 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
@ -38,6 +38,8 @@ package jdk.javadoc.internal.doclets.formats.html.markup;
public enum HtmlStyle { public enum HtmlStyle {
aboutLanguage, aboutLanguage,
activeTableTab, activeTableTab,
allClassesContainer,
allPackagesContainer,
altColor, altColor,
bar, bar,
block, block,

View File

@ -89,6 +89,8 @@ public class Navigation {
+ "//-->\n"); + "//-->\n");
public enum PageMode { public enum PageMode {
ALLCLASSES,
ALLPACKAGES,
CLASS, CLASS,
CONSTANTVALUES, CONSTANTVALUES,
DEPRECATED, DEPRECATED,
@ -378,6 +380,8 @@ public class Navigation {
addHelpLink(tree); addHelpLink(tree);
} }
break; break;
case ALLCLASSES:
case ALLPACKAGES:
case CONSTANTVALUES: case CONSTANTVALUES:
case SERIALIZEDFORM: case SERIALIZEDFORM:
addOverviewLink(tree); addOverviewLink(tree);

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2003, 2018, 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
@ -72,7 +72,6 @@ public class Table {
private HtmlStyle tabStyle = HtmlStyle.tableTab; private HtmlStyle tabStyle = HtmlStyle.tableTab;
private HtmlStyle tabEnd = HtmlStyle.tabEnd; private HtmlStyle tabEnd = HtmlStyle.tabEnd;
private IntFunction<String> tabScript; private IntFunction<String> tabScript;
private String tabScriptVariable;
private Function<Integer, String> tabId = (i -> "t" + i); private Function<Integer, String> tabId = (i -> "t" + i);
private TableHeader header; private TableHeader header;
private List<HtmlStyle> columnStyles; private List<HtmlStyle> columnStyles;
@ -182,17 +181,6 @@ public class Table {
return this; return this;
} }
/**
* Sets the name of the JavaScript variable used to contain the data for each tab.
*
* @param name the name
* @return this object
*/
public Table setTabScriptVariable(String name) {
tabScriptVariable = name;
return this;
}
/** /**
* Sets the name of the styles used to display the tabs. * Sets the name of the styles used to display the tabs.
* *
@ -537,7 +525,7 @@ public class Table {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
// Add the variable defining the bitmask for each row // Add the variable defining the bitmask for each row
sb.append("var ").append(tabScriptVariable).append(" = {"); sb.append("var data").append(" = {");
int rowIndex = 0; int rowIndex = 0;
for (int mask : bodyRowMasks) { for (int mask : bodyRowMasks) {
if (rowIndex > 0) { if (rowIndex > 0) {

View File

@ -47,15 +47,17 @@ function getURLPrefix(ui) {
var slash = "/"; var slash = "/";
if (ui.item.category === catModules) { if (ui.item.category === catModules) {
return ui.item.l + slash; return ui.item.l + slash;
} else if (ui.item.category === catPackages) { } else if (ui.item.category === catPackages && ui.item.m) {
return ui.item.m + slash; return ui.item.m + slash;
} else if (ui.item.category === catTypes || ui.item.category === catMembers) { } else if ((ui.item.category === catTypes && ui.item.p) || ui.item.category === catMembers) {
$.each(packageSearchIndex, function(index, item) { $.each(packageSearchIndex, function(index, item) {
if (ui.item.p == item.l) { if (ui.item.p == item.l) {
urlPrefix = item.m + slash; urlPrefix = item.m + slash;
} }
}); });
return urlPrefix; return urlPrefix;
} else {
return urlPrefix;
} }
} }
return urlPrefix; return urlPrefix;
@ -116,7 +118,9 @@ $.widget("custom.catcomplete", $.ui.autocomplete, {
? getHighlightedText(item.m + "/" + item.l) ? getHighlightedText(item.m + "/" + item.l)
: getHighlightedText(item.l); : getHighlightedText(item.l);
} else if (item.category === catTypes) { } else if (item.category === catTypes) {
label = getHighlightedText(item.p + "." + item.l); label = (item.p)
? getHighlightedText(item.p + "." + item.l)
: getHighlightedText(item.l);
} else if (item.category === catMembers) { } else if (item.category === catMembers) {
label = getHighlightedText(item.p + "." + (item.c + "." + item.l)); label = getHighlightedText(item.p + "." + (item.c + "." + item.l));
} else if (item.category === catSearchTags) { } else if (item.category === catSearchTags) {
@ -306,9 +310,15 @@ $(function() {
url = ui.item.l + "-summary.html"; url = ui.item.l + "-summary.html";
} }
} else if (ui.item.category === catPackages) { } else if (ui.item.category === catPackages) {
if (ui.item.url) {
url = ui.item.url;
} else {
url += ui.item.l.replace(/\./g, '/') + "/package-summary.html"; url += ui.item.l.replace(/\./g, '/') + "/package-summary.html";
}
} else if (ui.item.category === catTypes) { } else if (ui.item.category === catTypes) {
if (ui.item.p === "<Unnamed>") { if (ui.item.url) {
url = ui.item.url;
} else if (ui.item.p === "<Unnamed>") {
url += ui.item.l + ".html"; url += ui.item.l + ".html";
} else { } else {
url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html"; url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html";

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2016, 2018, 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
@ -39,9 +39,23 @@ import java.util.ResourceBundle;
* HTML doclet. * HTML doclet.
*/ */
public class Resources { public class Resources {
public final String annotationTypeSummary;
public final String annotationTypeTableSummary;
public final String classSummary;
public final String classTableSummary;
private final BaseConfiguration configuration; private final BaseConfiguration configuration;
private final String commonBundleName; private final String commonBundleName;
private final String docletBundleName; private final String docletBundleName;
public final String enumSummary;
public final String enumTableSummary;
public final String errorSummary;
public final String errorTableSummary;
public final String exceptionSummary;
public final String exceptionTableSummary;
public final String interfaceSummary;
public final String interfaceTableSummary;
public final String packageSummary;
public final String packageTableSummary;
protected ResourceBundle commonBundle; protected ResourceBundle commonBundle;
protected ResourceBundle docletBundle; protected ResourceBundle docletBundle;
@ -62,6 +76,27 @@ public class Resources {
this.configuration = configuration; this.configuration = configuration;
this.commonBundleName = commonBundleName; this.commonBundleName = commonBundleName;
this.docletBundleName = docletBundleName; this.docletBundleName = docletBundleName;
this.annotationTypeSummary = getText("doclet.Annotation_Types_Summary");
this.annotationTypeTableSummary = getText("doclet.Member_Table_Summary",
this.annotationTypeSummary, getText("doclet.annotationtypes"));
this.classSummary = getText("doclet.Class_Summary");
this.classTableSummary = getText("doclet.Member_Table_Summary",
this.classSummary, getText("doclet.classes"));
this.enumSummary = getText("doclet.Enum_Summary");
this.enumTableSummary = getText("doclet.Member_Table_Summary",
this.enumSummary, getText("doclet.enums"));
this.errorSummary = getText("doclet.Error_Summary");
this.errorTableSummary = getText("doclet.Member_Table_Summary",
this.errorSummary, getText("doclet.errors"));
this.exceptionSummary = getText("doclet.Exception_Summary");
this.exceptionTableSummary = getText("doclet.Member_Table_Summary",
this.exceptionSummary, getText("doclet.exceptions"));
this.interfaceSummary = getText("doclet.Interface_Summary");
this.interfaceTableSummary = getText("doclet.Member_Table_Summary",
this.interfaceSummary, getText("doclet.interfaces"));
this.packageSummary = getText("doclet.Package_Summary");
this.packageTableSummary = getText("doclet.Member_Table_Summary",
this.packageSummary, getText("doclet.packages"));
} }
/** /**

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2013, 2018, 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
@ -104,12 +104,11 @@ function createElem(doc, tag, path) {
scriptElement.parentNode.insertBefore(script, scriptElement); scriptElement.parentNode.insertBefore(script, scriptElement);
} }
function show(type) function show(type) {
{
count = 0; count = 0;
for (var key in methods) { for (var key in data) {
var row = document.getElementById(key); var row = document.getElementById(key);
if ((methods[key] & type) !== 0) { if ((data[key] & type) !== 0) {
row.style.display = ''; row.style.display = '';
row.className = (count++ % 2) ? rowColor : altColor; row.className = (count++ % 2) ? rowColor : altColor;
} }
@ -119,38 +118,7 @@ function show(type)
updateTabs(type); updateTabs(type);
} }
function showPkgs(type) function updateTabs(type) {
{
count = 0;
for (var key in packages) {
var row = document.getElementById(key);
if ((packages[key] & type) !== 0) {
row.style.display = '';
row.className = (count++ % 2) ? rowColor : altColor;
}
else
row.style.display = 'none';
}
updatePkgsTabs(type);
}
function showGroups(type)
{
count = 0;
for (var key in groups) {
var row = document.getElementById(key);
if ((groups[key] & type) !== 0) {
row.style.display = '';
row.className = (count++ % 2) ? rowColor : altColor;
}
else
row.style.display = 'none';
}
updateGroupsTabs(type);
}
function updateTabs(type)
{
for (var value in tabs) { for (var value in tabs) {
var sNode = document.getElementById(tabs[value][0]); var sNode = document.getElementById(tabs[value][0]);
var spanNode = sNode.firstChild; var spanNode = sNode.firstChild;
@ -165,40 +133,7 @@ function updateTabs(type)
} }
} }
function updateModuleFrame(pFrame, cFrame) function updateModuleFrame(pFrame, cFrame) {
{
top.packageFrame.location = pFrame; top.packageFrame.location = pFrame;
top.classFrame.location = cFrame; top.classFrame.location = cFrame;
} }
function updatePkgsTabs(type)
{
for (var value in tabs) {
var sNode = document.getElementById(tabs[value][0]);
var spanNode = sNode.firstChild;
if (value == type) {
sNode.className = activeTableTab;
spanNode.innerHTML = tabs[value][1];
}
else {
sNode.className = tableTab;
spanNode.innerHTML = "<a href=\"javascript:showPkgs(" + value + ");\">" + tabs[value][1] + "</a>";
}
}
}
function updateGroupsTabs(type)
{
for (var value in tabs) {
var sNode = document.getElementById(tabs[value][0]);
var spanNode = sNode.firstChild;
if (value == type) {
sNode.className = activeTableTab;
spanNode.innerHTML = tabs[value][1];
}
else {
sNode.className = tableTab;
spanNode.innerHTML = "<a href=\"javascript:showGroups(" + value + ");\">" + tabs[value][1] + "</a>";
}
}
}

View File

@ -311,7 +311,8 @@ ul.blockList li.blockList h2 {
/* /*
* Styles for page layout containers. * Styles for page layout containers.
*/ */
.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer { .contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer,
.allClassesContainer, .allPackagesContainer {
clear:both; clear:both;
padding:10px 20px; padding:10px 20px;
position:relative; position:relative;
@ -480,7 +481,7 @@ table tr td dl, table tr td dl dt, table tr td dl dd {
height:16px; height:16px;
} }
.memberSummary caption span.activeTableTab span, .packagesSummary caption span.activeTableTab span, .memberSummary caption span.activeTableTab span, .packagesSummary caption span.activeTableTab span,
.overviewSummary caption span.activeTableTab span { .overviewSummary caption span.activeTableTab span, .typeSummary caption span.activeTableTab span {
white-space:nowrap; white-space:nowrap;
padding-top:5px; padding-top:5px;
padding-left:12px; padding-left:12px;
@ -492,7 +493,7 @@ table tr td dl, table tr td dl dt, table tr td dl dd {
height:16px; height:16px;
} }
.memberSummary caption span.tableTab span, .packagesSummary caption span.tableTab span, .memberSummary caption span.tableTab span, .packagesSummary caption span.tableTab span,
.overviewSummary caption span.tableTab span { .overviewSummary caption span.tableTab span, .typeSummary caption span.tableTab span {
white-space:nowrap; white-space:nowrap;
padding-top:5px; padding-top:5px;
padding-left:12px; padding-left:12px;
@ -505,7 +506,8 @@ table tr td dl, table tr td dl dt, table tr td dl dd {
} }
.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab, .memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab,
.packagesSummary caption span.tableTab, .packagesSummary caption span.activeTableTab, .packagesSummary caption span.tableTab, .packagesSummary caption span.activeTableTab,
.overviewSummary caption span.tableTab, .overviewSummary caption span.activeTableTab { .overviewSummary caption span.tableTab, .overviewSummary caption span.activeTableTab,
.typeSummary caption span.tableTab, .typeSummary caption span.activeTableTab {
padding-top:0px; padding-top:0px;
padding-left:0px; padding-left:0px;
padding-right:0px; padding-right:0px;
@ -523,7 +525,7 @@ table tr td dl, table tr td dl dt, table tr td dl dd {
background-color:#F8981D; background-color:#F8981D;
} }
.memberSummary .activeTableTab .tabEnd, .packagesSummary .activeTableTab .tabEnd, .memberSummary .activeTableTab .tabEnd, .packagesSummary .activeTableTab .tabEnd,
.overviewSummary .activeTableTab .tabEnd { .overviewSummary .activeTableTab .tabEnd, .typeSummary .activeTableTab .tabEnd {
display:none; display:none;
width:5px; width:5px;
margin-right:3px; margin-right:3px;
@ -532,7 +534,7 @@ table tr td dl, table tr td dl dt, table tr td dl dd {
background-color:#F8981D; background-color:#F8981D;
} }
.memberSummary .tableTab .tabEnd, .packagesSummary .tableTab .tabEnd, .memberSummary .tableTab .tabEnd, .packagesSummary .tableTab .tabEnd,
.overviewSummary .tableTab .tabEnd { .overviewSummary .tableTab .tabEnd, .typeSummary .tableTab .tabEnd {
display:none; display:none;
width:5px; width:5px;
margin-right:3px; margin-right:3px;
@ -585,7 +587,7 @@ td.colSecond, th.colSecond, td.colLast, th.colConstructorName, th.colDeprecatedI
.providesSummary td.colFirst, .providesSummary th.colFirst, .providesSummary td.colFirst, .providesSummary th.colFirst,
.memberSummary td.colFirst, .memberSummary th.colFirst, .memberSummary td.colFirst, .memberSummary th.colFirst,
.memberSummary td.colSecond, .memberSummary th.colSecond, .memberSummary th.colConstructorName, .memberSummary td.colSecond, .memberSummary th.colSecond, .memberSummary th.colConstructorName,
.typeSummary td.colFirst { .typeSummary td.colFirst, .typeSummary th.colFirst {
vertical-align:top; vertical-align:top;
} }
.packagesSummary th.colLast, .packagesSummary td.colLast { .packagesSummary th.colLast, .packagesSummary td.colLast {
@ -597,7 +599,9 @@ th.colFirst a:link, th.colFirst a:visited,
th.colSecond a:link, th.colSecond a:visited, th.colSecond a:link, th.colSecond a:visited,
th.colConstructorName a:link, th.colConstructorName a:visited, th.colConstructorName a:link, th.colConstructorName a:visited,
th.colDeprecatedItemName a:link, th.colDeprecatedItemName a:visited, th.colDeprecatedItemName a:link, th.colDeprecatedItemName a:visited,
.constantValuesContainer td a:link, .constantValuesContainer td a:visited { .constantValuesContainer td a:link, .constantValuesContainer td a:visited,
.allClassesContainer td a:link, .allClassesContainer td a:visited,
.allPackagesContainer td a:link, .allPackagesContainer td a:visited {
font-weight:bold; font-weight:bold;
} }
.tableSubHeadingColor { .tableSubHeadingColor {

View File

@ -57,6 +57,12 @@ public class DocPaths {
/** The name of the file for all classes, using frames. */ /** The name of the file for all classes, using frames. */
public static final DocPath ALLCLASSES_FRAME = DocPath.create("allclasses-frame.html"); public static final DocPath ALLCLASSES_FRAME = DocPath.create("allclasses-frame.html");
/** The name of the file for all classes index. */
public static final DocPath ALLCLASSES_INDEX = DocPath.create("allclasses-index.html");
/** The name of the file for all packages index. */
public static final DocPath ALLPACKAGES_INDEX = DocPath.create("allpackages-index.html");
/** The name of the file for all classes, without using frames. */ /** The name of the file for all classes, without using frames. */
public static final DocPath ALLCLASSES_NOFRAME = DocPath.create("allclasses-noframe.html"); public static final DocPath ALLCLASSES_NOFRAME = DocPath.create("allclasses-noframe.html");

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2017, 2018, 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,7 +23,7 @@
/* /*
* @test * @test
* @bug 8190003 * @bug 8190003 8196201
* @summary Special characters in group names should be escaped * @summary Special characters in group names should be escaped
* @library /tools/lib ../lib * @library /tools/lib ../lib
* @modules jdk.javadoc/jdk.javadoc.internal.tool * @modules jdk.javadoc/jdk.javadoc.internal.tool
@ -64,7 +64,7 @@ public class TestGroupName extends JavadocTester {
checkExit(Exit.OK); checkExit(Exit.OK);
checkOutput("overview-summary.html", true, checkOutput("overview-summary.html", true,
"<span><a href=\"javascript:showGroups(1);\">abc &lt; &amp; &gt; def</a></span>", "<span><a href=\"javascript:show(1);\">abc &lt; &amp; &gt; def</a></span>",
",\"abc < & > def\"],"); ",\"abc < & > def\"],");
} }
@ -97,7 +97,7 @@ public class TestGroupName extends JavadocTester {
checkExit(Exit.OK); checkExit(Exit.OK);
checkOutput("overview-summary.html", true, checkOutput("overview-summary.html", true,
"<span><a href=\"javascript:showGroups(1);\">abc &lt; &amp; &gt; def</a></span>", "<span><a href=\"javascript:show(1);\">abc &lt; &amp; &gt; def</a></span>",
",\"abc < & > def\"],"); ",\"abc < & > def\"],");
} }
} }

View File

@ -23,7 +23,7 @@
/* /*
* @test * @test
* @bug 8002304 8024096 8193671 * @bug 8002304 8024096 8193671 8196201
* @summary Test for various method type tabs in the method summary table * @summary Test for various method type tabs in the method summary table
* @author Bhavesh Patel * @author Bhavesh Patel
* @library ../lib * @library ../lib
@ -47,7 +47,7 @@ public class TestMethodTypes extends JavadocTester {
checkExit(Exit.OK); checkExit(Exit.OK);
checkOutput("pkg1/A.html", true, checkOutput("pkg1/A.html", true,
"var methods = {", "var data = {",
"<caption><span id=\"t0\" class=\"activeTableTab\"><span>All " "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All "
+ "Methods</span><span class=\"tabEnd\">&nbsp;</span></span>" + "Methods</span><span class=\"tabEnd\">&nbsp;</span></span>"
+ "<span id=\"t1\" class=\"tableTab\"><span><a href=\"javascript:show(1);\">" + "<span id=\"t1\" class=\"tableTab\"><span><a href=\"javascript:show(1);\">"
@ -62,7 +62,7 @@ public class TestMethodTypes extends JavadocTester {
"<tr id=\"i0\" class=\"altColor\">"); "<tr id=\"i0\" class=\"altColor\">");
checkOutput("pkg1/B.html", true, checkOutput("pkg1/B.html", true,
"var methods = {\"i0\":6,\"i1\":18,\"i2\":18,\"i3\":1,\"i4\":1," "var data = {\"i0\":6,\"i1\":18,\"i2\":18,\"i3\":1,\"i4\":1,"
+ "\"i5\":6,\"i6\":6,\"i7\":6,\"i8\":6};\n", + "\"i5\":6,\"i6\":6,\"i7\":6,\"i8\":6};\n",
"<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Methods</span>" "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Methods</span>"
+ "<span class=\"tabEnd\">&nbsp;</span></span><span id=\"t1\" class=\"tableTab\">" + "<span class=\"tabEnd\">&nbsp;</span></span><span id=\"t1\" class=\"tableTab\">"
@ -76,7 +76,7 @@ public class TestMethodTypes extends JavadocTester {
+ "<span class=\"tabEnd\">&nbsp;</span></span></caption>\n"); + "<span class=\"tabEnd\">&nbsp;</span></span></caption>\n");
checkOutput("pkg1/D.html", true, checkOutput("pkg1/D.html", true,
"var methods = {", "var data = {",
"<caption><span id=\"t0\" class=\"activeTableTab\"><span>All " "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All "
+ "Methods</span><span class=\"tabEnd\">&nbsp;</span></span>" + "Methods</span><span class=\"tabEnd\">&nbsp;</span></span>"
+ "<span id=\"t2\" class=\"tableTab\"><span><a href=\"javascript:show(2);\">" + "<span id=\"t2\" class=\"tableTab\"><span><a href=\"javascript:show(2);\">"

View File

@ -23,7 +23,7 @@
/* /*
* @test * @test
* @bug 8178070 * @bug 8178070 8196201
* @summary Test packages table in module summary pages * @summary Test packages table in module summary pages
* @library /tools/lib ../lib * @library /tools/lib ../lib
* @modules jdk.compiler/com.sun.tools.javac.api * @modules jdk.compiler/com.sun.tools.javac.api
@ -419,17 +419,17 @@ public class TestModulePackages extends JavadocTester {
+ "<span class=\"tabEnd\">&nbsp;</span></span>"); + "<span class=\"tabEnd\">&nbsp;</span></span>");
if (kindSet.contains(TabKind.EXPORTS)) { if (kindSet.contains(TabKind.EXPORTS)) {
sb.append("<span id=\"t1\" class=\"tableTab\">" sb.append("<span id=\"t1\" class=\"tableTab\">"
+ "<span><a href=\"javascript:showPkgs(1);\">Exports</a></span>" + "<span><a href=\"javascript:show(1);\">Exports</a></span>"
+ "<span class=\"tabEnd\">&nbsp;</span></span>"); + "<span class=\"tabEnd\">&nbsp;</span></span>");
} }
if (kindSet.contains(TabKind.OPENS)) { if (kindSet.contains(TabKind.OPENS)) {
sb.append("<span id=\"t2\" class=\"tableTab\">" sb.append("<span id=\"t2\" class=\"tableTab\">"
+ "<span><a href=\"javascript:showPkgs(2);\">Opens</a></span>" + "<span><a href=\"javascript:show(2);\">Opens</a></span>"
+ "<span class=\"tabEnd\">&nbsp;</span></span>"); + "<span class=\"tabEnd\">&nbsp;</span></span>");
} }
if (kindSet.contains(TabKind.CONCEALED)) { if (kindSet.contains(TabKind.CONCEALED)) {
sb.append("<span id=\"t3\" class=\"tableTab\"><span>" sb.append("<span id=\"t3\" class=\"tableTab\"><span>"
+ "<a href=\"javascript:showPkgs(4);\">Concealed</a></span>" + "<a href=\"javascript:show(4);\">Concealed</a></span>"
+ "<span class=\"tabEnd\">&nbsp;</span></span>"); + "<span class=\"tabEnd\">&nbsp;</span></span>");
} }
sb.append("</caption>"); sb.append("</caption>");

View File

@ -26,7 +26,7 @@
* @bug 8154119 8154262 8156077 8157987 8154261 8154817 8135291 8155995 8162363 * @bug 8154119 8154262 8156077 8157987 8154261 8154817 8135291 8155995 8162363
* 8168766 8168688 8162674 8160196 8175799 8174974 8176778 8177562 8175218 * 8168766 8168688 8162674 8160196 8175799 8174974 8176778 8177562 8175218
* 8175823 8166306 8178043 8181622 8183511 8169819 8074407 8183037 8191464 * 8175823 8166306 8178043 8181622 8183511 8169819 8074407 8183037 8191464
8164407 8192007 8182765 8196200 8164407 8192007 8182765 8196200 8196201
* @summary Test modules support in javadoc. * @summary Test modules support in javadoc.
* @author bpatel * @author bpatel
* @library ../lib * @library ../lib
@ -64,6 +64,7 @@ public class TestModules extends JavadocTester {
checkModuleFilesAndLinks(true); checkModuleFilesAndLinks(true);
checkModulesInSearch(true); checkModulesInSearch(true);
checkOverviewFrame(true); checkOverviewFrame(true);
checkAllPkgsAllClasses(false);
} }
/** /**
@ -88,6 +89,7 @@ public class TestModules extends JavadocTester {
checkModuleFilesAndLinks(true); checkModuleFilesAndLinks(true);
checkModulesInSearch(true); checkModulesInSearch(true);
checkOverviewFrame(true); checkOverviewFrame(true);
checkAllPkgsAllClasses(true);
} }
/** /**
@ -1086,8 +1088,7 @@ public class TestModules extends JavadocTester {
+ "onclick=\"updateModuleFrame('moduleB/module-type-frame.html','moduleB/module-summary.html');" + "onclick=\"updateModuleFrame('moduleB/module-type-frame.html','moduleB/module-summary.html');"
+ "\">moduleB</a></li>"); + "\">moduleB</a></li>");
checkOutput("script.js", true, checkOutput("script.js", true,
"function updateModuleFrame(pFrame, cFrame)\n" "function updateModuleFrame(pFrame, cFrame) {\n"
+ "{\n"
+ " top.packageFrame.location = pFrame;\n" + " top.packageFrame.location = pFrame;\n"
+ " top.classFrame.location = cFrame;\n" + " top.classFrame.location = cFrame;\n"
+ "}"); + "}");
@ -1332,8 +1333,8 @@ public class TestModules extends JavadocTester {
+ "<td class=\"colSecond\">All Modules</td>\n" + "<td class=\"colSecond\">All Modules</td>\n"
+ "<td class=\"colLast\">&nbsp;</td>", + "<td class=\"colLast\">&nbsp;</td>",
"<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Packages</span><span class=\"tabEnd\">&nbsp;</span></span>" "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Packages</span><span class=\"tabEnd\">&nbsp;</span></span>"
+ "<span id=\"t1\" class=\"tableTab\"><span><a href=\"javascript:showPkgs(1);\">Exports</a></span>" + "<span id=\"t1\" class=\"tableTab\"><span><a href=\"javascript:show(1);\">Exports</a></span>"
+ "<span class=\"tabEnd\">&nbsp;</span></span><span id=\"t3\" class=\"tableTab\"><span><a href=\"javascript:showPkgs(4);\">" + "<span class=\"tabEnd\">&nbsp;</span></span><span id=\"t3\" class=\"tableTab\"><span><a href=\"javascript:show(4);\">"
+ "Concealed</a></span><span class=\"tabEnd\">&nbsp;</span></span></caption>", + "Concealed</a></span><span class=\"tabEnd\">&nbsp;</span></span></caption>",
"<th class=\"colFirst\" scope=\"row\"><a href=\"concealedpkgmdlA/package-summary.html\">concealedpkgmdlA</a></th>\n" "<th class=\"colFirst\" scope=\"row\"><a href=\"concealedpkgmdlA/package-summary.html\">concealedpkgmdlA</a></th>\n"
+ "<td class=\"colSecond\">None</td>\n" + "<td class=\"colSecond\">None</td>\n"
@ -1359,8 +1360,8 @@ public class TestModules extends JavadocTester {
+ "<td class=\"colLast\">&nbsp;<br>(<span class=\"implementationLabel\">Implementation(s):</span>&nbsp;<a href=\"testpkgmdlB/TestClassInModuleB.html\" " + "<td class=\"colLast\">&nbsp;<br>(<span class=\"implementationLabel\">Implementation(s):</span>&nbsp;<a href=\"testpkgmdlB/TestClassInModuleB.html\" "
+ "title=\"class in testpkgmdlB\">TestClassInModuleB</a>)</td>", + "title=\"class in testpkgmdlB\">TestClassInModuleB</a>)</td>",
"<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Packages</span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t1\" class=\"tableTab\"><span>" "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Packages</span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t1\" class=\"tableTab\"><span>"
+ "<a href=\"javascript:showPkgs(1);\">Exports</a></span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t2\" class=\"tableTab\"><span>" + "<a href=\"javascript:show(1);\">Exports</a></span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t2\" class=\"tableTab\"><span>"
+ "<a href=\"javascript:showPkgs(2);\">Opens</a></span><span class=\"tabEnd\">&nbsp;</span></span></caption>"); + "<a href=\"javascript:show(2);\">Opens</a></span><span class=\"tabEnd\">&nbsp;</span></span></caption>");
checkOutput("moduleC/module-summary.html", found, checkOutput("moduleC/module-summary.html", found,
"<caption><span>Exports</span><span class=\"tabEnd\">&nbsp;</span></caption>\n" "<caption><span>Exports</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
+ "<tr>\n" + "<tr>\n"
@ -1444,12 +1445,12 @@ public class TestModules extends JavadocTester {
"<div class=\"contentContainer\">\n" "<div class=\"contentContainer\">\n"
+ "<table class=\"overviewSummary\">\n" + "<table class=\"overviewSummary\">\n"
+ "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Modules</span><span class=\"tabEnd\">&nbsp;" + "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Modules</span><span class=\"tabEnd\">&nbsp;"
+ "</span></span><span id=\"t1\" class=\"tableTab\"><span><a href=\"javascript:showGroups(1);\">" + "</span></span><span id=\"t1\" class=\"tableTab\"><span><a href=\"javascript:show(1);\">"
+ "Module Group A</a></span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t2\" class=\"tableTab\">" + "Module Group A</a></span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t2\" class=\"tableTab\">"
+ "<span><a href=\"javascript:showGroups(2);\">Module Group B &amp; C</a></span><span class=\"tabEnd\">" + "<span><a href=\"javascript:show(2);\">Module Group B &amp; C</a></span><span class=\"tabEnd\">"
+ "&nbsp;</span></span><span id=\"t4\" class=\"tableTab\"><span><a href=\"javascript:showGroups(4);\">" + "&nbsp;</span></span><span id=\"t4\" class=\"tableTab\"><span><a href=\"javascript:show(4);\">"
+ "Other Modules</a></span><span class=\"tabEnd\">&nbsp;</span></span></caption>", + "Other Modules</a></span><span class=\"tabEnd\">&nbsp;</span></span></caption>",
"var groups = {\"i0\":1,\"i1\":2,\"i2\":2,\"i3\":4};\n" "var data = {\"i0\":1,\"i1\":2,\"i2\":2,\"i3\":4};\n"
+ "var tabs = {65535:[\"t0\",\"All Modules\"],1:[\"t1\",\"Module Group A\"],2:[\"t2\",\"Module Group B & C\"],4:[\"t4\",\"Other Modules\"]};\n" + "var tabs = {65535:[\"t0\",\"All Modules\"],1:[\"t1\",\"Module Group A\"],2:[\"t2\",\"Module Group B & C\"],4:[\"t4\",\"Other Modules\"]};\n"
+ "var altColor = \"altColor\";\n" + "var altColor = \"altColor\";\n"
+ "var rowColor = \"rowColor\";\n" + "var rowColor = \"rowColor\";\n"
@ -1466,12 +1467,12 @@ public class TestModules extends JavadocTester {
"<div class=\"contentContainer\">\n" "<div class=\"contentContainer\">\n"
+ "<table class=\"overviewSummary\" summary=\"Module Summary table, listing modules, and an explanation\">\n" + "<table class=\"overviewSummary\" summary=\"Module Summary table, listing modules, and an explanation\">\n"
+ "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Modules</span><span class=\"tabEnd\">&nbsp;" + "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Modules</span><span class=\"tabEnd\">&nbsp;"
+ "</span></span><span id=\"t1\" class=\"tableTab\"><span><a href=\"javascript:showGroups(1);\">" + "</span></span><span id=\"t1\" class=\"tableTab\"><span><a href=\"javascript:show(1);\">"
+ "Module Group A</a></span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t2\" class=\"tableTab\">" + "Module Group A</a></span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t2\" class=\"tableTab\">"
+ "<span><a href=\"javascript:showGroups(2);\">Module Group B &amp; C</a></span><span class=\"tabEnd\">" + "<span><a href=\"javascript:show(2);\">Module Group B &amp; C</a></span><span class=\"tabEnd\">"
+ "&nbsp;</span></span><span id=\"t4\" class=\"tableTab\"><span><a href=\"javascript:showGroups(4);\">" + "&nbsp;</span></span><span id=\"t4\" class=\"tableTab\"><span><a href=\"javascript:show(4);\">"
+ "Other Modules</a></span><span class=\"tabEnd\">&nbsp;</span></span></caption>", + "Other Modules</a></span><span class=\"tabEnd\">&nbsp;</span></span></caption>",
"var groups = {\"i0\":1,\"i1\":2,\"i2\":2,\"i3\":4};\n" "var data = {\"i0\":1,\"i1\":2,\"i2\":2,\"i3\":4};\n"
+ "var tabs = {65535:[\"t0\",\"All Modules\"],1:[\"t1\",\"Module Group A\"],2:[\"t2\",\"Module Group B & C\"],4:[\"t4\",\"Other Modules\"]};\n" + "var tabs = {65535:[\"t0\",\"All Modules\"],1:[\"t1\",\"Module Group A\"],2:[\"t2\",\"Module Group B & C\"],4:[\"t4\",\"Other Modules\"]};\n"
+ "var altColor = \"altColor\";\n" + "var altColor = \"altColor\";\n"
+ "var rowColor = \"rowColor\";\n" + "var rowColor = \"rowColor\";\n"
@ -1487,22 +1488,22 @@ public class TestModules extends JavadocTester {
checkOutput("overview-summary.html", true, checkOutput("overview-summary.html", true,
"<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Modules</span><span " "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Modules</span><span "
+ "class=\"tabEnd\">&nbsp;</span></span><span id=\"t1\" class=\"tableTab\"><span>" + "class=\"tabEnd\">&nbsp;</span></span><span id=\"t1\" class=\"tableTab\"><span>"
+ "<a href=\"javascript:showGroups(1);\">B Group</a></span><span class=\"tabEnd\">" + "<a href=\"javascript:show(1);\">B Group</a></span><span class=\"tabEnd\">"
+ "&nbsp;</span></span><span id=\"t2\" class=\"tableTab\"><span><a href=\"javascript:showGroups(2);\">" + "&nbsp;</span></span><span id=\"t2\" class=\"tableTab\"><span><a href=\"javascript:show(2);\">"
+ "C Group</a></span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t4\" class=\"tableTab\">" + "C Group</a></span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t4\" class=\"tableTab\">"
+ "<span><a href=\"javascript:showGroups(4);\">A Group</a></span><span class=\"tabEnd\">&nbsp;</span>" + "<span><a href=\"javascript:show(4);\">A Group</a></span><span class=\"tabEnd\">&nbsp;</span>"
+ "</span><span id=\"t8\" class=\"tableTab\"><span><a href=\"javascript:showGroups(8);\">Other Modules" + "</span><span id=\"t8\" class=\"tableTab\"><span><a href=\"javascript:show(8);\">Other Modules"
+ "</a></span><span class=\"tabEnd\">&nbsp;</span></span></caption>", + "</a></span><span class=\"tabEnd\">&nbsp;</span></span></caption>",
"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("overview-summary.html", false,
"<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Modules</span><span " "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Modules</span><span "
+ "class=\"tabEnd\">&nbsp;</span></span><span id=\"t1\" class=\"tableTab\"><span>" + "class=\"tabEnd\">&nbsp;</span></span><span id=\"t1\" class=\"tableTab\"><span>"
+ "<a href=\"javascript:showGroups(1);\">A Group</a></span><span class=\"tabEnd\">" + "<a href=\"javascript:show(1);\">A Group</a></span><span class=\"tabEnd\">"
+ "&nbsp;</span></span><span id=\"t2\" class=\"tableTab\"><span><a href=\"javascript:showGroups(2);\">" + "&nbsp;</span></span><span id=\"t2\" class=\"tableTab\"><span><a href=\"javascript:show(2);\">"
+ "B Group</a></span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t4\" class=\"tableTab\">" + "B Group</a></span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t4\" class=\"tableTab\">"
+ "<span><a href=\"javascript:showGroups(4);\">C Group</a></span><span class=\"tabEnd\">&nbsp;</span>" + "<span><a href=\"javascript:show(4);\">C Group</a></span><span class=\"tabEnd\">&nbsp;</span>"
+ "</span><span id=\"t8\" class=\"tableTab\"><span><a href=\"javascript:showGroups(8);\">Other Modules" + "</span><span id=\"t8\" class=\"tableTab\"><span><a href=\"javascript:show(8);\">Other Modules"
+ "</a></span><span class=\"tabEnd\">&nbsp;</span></span></caption>", + "</a></span><span class=\"tabEnd\">&nbsp;</span></span></caption>",
"Java SE Modules"); "Java SE Modules");
} }
@ -1515,11 +1516,11 @@ public class TestModules extends JavadocTester {
+ "<div class=\"contentContainer\">\n" + "<div class=\"contentContainer\">\n"
+ "<table class=\"overviewSummary\">\n" + "<table class=\"overviewSummary\">\n"
+ "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Packages</span><span class=\"tabEnd\">&nbsp;" + "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Packages</span><span class=\"tabEnd\">&nbsp;"
+ "</span></span><span id=\"t1\" class=\"tableTab\"><span><a href=\"javascript:showGroups(1);\">" + "</span></span><span id=\"t1\" class=\"tableTab\"><span><a href=\"javascript:show(1);\">"
+ "Package Group 0</a></span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t2\" " + "Package Group 0</a></span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t2\" "
+ "class=\"tableTab\"><span><a href=\"javascript:showGroups(2);\">Package Group 1</a></span>" + "class=\"tableTab\"><span><a href=\"javascript:show(2);\">Package Group 1</a></span>"
+ "<span class=\"tabEnd\">&nbsp;</span></span></caption>", + "<span class=\"tabEnd\">&nbsp;</span></span></caption>",
"var groups = {\"i0\":1,\"i1\":2};\n" "var data = {\"i0\":1,\"i1\":2};\n"
+ "var tabs = {65535:[\"t0\",\"All Packages\"],1:[\"t1\",\"Package Group 0\"],2:[\"t2\",\"Package Group 1\"]};\n" + "var tabs = {65535:[\"t0\",\"All Packages\"],1:[\"t1\",\"Package Group 0\"],2:[\"t2\",\"Package Group 1\"]};\n"
+ "var altColor = \"altColor\";\n" + "var altColor = \"altColor\";\n"
+ "var rowColor = \"rowColor\";\n" + "var rowColor = \"rowColor\";\n"
@ -1535,9 +1536,9 @@ public class TestModules extends JavadocTester {
+ "<div class=\"contentContainer\">\n" + "<div class=\"contentContainer\">\n"
+ "<table class=\"overviewSummary\" summary=\"Package Summary table, listing packages, and an explanation\">\n" + "<table class=\"overviewSummary\" summary=\"Package Summary table, listing packages, and an explanation\">\n"
+ "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Packages</span><span class=\"tabEnd\">&nbsp;" + "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Packages</span><span class=\"tabEnd\">&nbsp;"
+ "</span></span><span id=\"t1\" class=\"tableTab\"><span><a href=\"javascript:showGroups(1);\">" + "</span></span><span id=\"t1\" class=\"tableTab\"><span><a href=\"javascript:show(1);\">"
+ "Package Group 0</a></span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t2\" " + "Package Group 0</a></span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t2\" "
+ "class=\"tableTab\"><span><a href=\"javascript:showGroups(2);\">Package Group 1</a></span>" + "class=\"tableTab\"><span><a href=\"javascript:show(2);\">Package Group 1</a></span>"
+ "<span class=\"tabEnd\">&nbsp;</span></span></caption>"); + "<span class=\"tabEnd\">&nbsp;</span></span></caption>");
} }
@ -1545,8 +1546,8 @@ public class TestModules extends JavadocTester {
checkOutput("overview-summary.html", true, checkOutput("overview-summary.html", true,
"<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Packages</span><span " "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Packages</span><span "
+ "class=\"tabEnd\">&nbsp;</span></span><span id=\"t1\" class=\"tableTab\"><span>" + "class=\"tabEnd\">&nbsp;</span></span><span id=\"t1\" class=\"tableTab\"><span>"
+ "<a href=\"javascript:showGroups(1);\">Z Group</a></span><span class=\"tabEnd\">" + "<a href=\"javascript:show(1);\">Z Group</a></span><span class=\"tabEnd\">"
+ "&nbsp;</span></span><span id=\"t2\" class=\"tableTab\"><span><a href=\"javascript:showGroups(2);\">" + "&nbsp;</span></span><span id=\"t2\" class=\"tableTab\"><span><a href=\"javascript:show(2);\">"
+ "A Group</a></span><span class=\"tabEnd\">&nbsp;</span></span></caption>", + "A Group</a></span><span class=\"tabEnd\">&nbsp;</span></span></caption>",
"var tabs = {65535:[\"t0\",\"All Packages\"],1:[\"t1\",\"Z Group\"],2:[\"t2\",\"A Group\"]};"); "var tabs = {65535:[\"t0\",\"All Packages\"],1:[\"t1\",\"Z Group\"],2:[\"t2\",\"A Group\"]};");
} }
@ -1613,4 +1614,38 @@ public class TestModules extends JavadocTester {
"<a href=\"https://docs.oracle.com/javase/9/docs/api/java.base/module-summary.html?is-external=true\" " "<a href=\"https://docs.oracle.com/javase/9/docs/api/java.base/module-summary.html?is-external=true\" "
+ "class=\"externalLink\"><code>Link to java.base module</code></a>"); + "class=\"externalLink\"><code>Link to java.base module</code></a>");
} }
void checkAllPkgsAllClasses(boolean found) {
checkOutput("allclasses-index.html", true,
"<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Classes</span>"
+ "<span class=\"tabEnd\">&nbsp;</span></span><span id=\"t2\" class=\"tableTab\">"
+ "<span><a href=\"javascript:show(2);\">Class Summary</a></span><span class=\"tabEnd\">"
+ "&nbsp;</span></span><span id=\"t6\" class=\"tableTab\"><span><a href=\"javascript:show(32);\">"
+ "Annotation Types Summary</a></span><span class=\"tabEnd\">&nbsp;</span></span></caption>\n"
+ "<tr>\n"
+ "<th class=\"colFirst\" scope=\"col\">Class</th>\n"
+ "<th class=\"colLast\" scope=\"col\">Description</th>\n"
+ "</tr>");
checkOutput("allpackages-index.html", true,
"<caption><span>Package Summary</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
+ "<tr>\n"
+ "<th class=\"colFirst\" scope=\"col\">Package</th>\n"
+ "<th class=\"colLast\" scope=\"col\">Description</th>\n"
+ "</tr>\n");
checkOutput("allclasses-index.html", found,
"<table class=\"typeSummary\">\n");
checkOutput("allpackages-index.html", found,
"<table class=\"packagesSummary\">\n");
checkOutput("allclasses-index.html", !found,
"<table class=\"typeSummary\" summary=\"Class Summary table, listing classes, and an explanation\">");
checkOutput("allpackages-index.html", !found,
"<table class=\"packagesSummary\" summary=\"Package Summary table, listing packages, and an explanation\">");
checkOutput("type-search-index.js", true,
"{\"l\":\"All Classes\",\"url\":\"allclasses-index.html\"}");
checkOutput("package-search-index.js", true,
"{\"l\":\"All Packages\",\"url\":\"allpackages-index.html\"}");
checkOutput("index-all.html", true,
"<br><a href=\"allclasses-index.html\">All&nbsp;Classes</a>&nbsp;"
+ "<a href=\"allpackages-index.html\">All&nbsp;Packages</a>");
}
} }

View File

@ -23,7 +23,7 @@
/* /*
* @test * @test
* @bug 4492643 4689286 * @bug 4492643 4689286 8196201
* @summary Test that a package page is properly generated when a .java file * @summary Test that a package page is properly generated when a .java file
* passed to Javadoc. Also test that the proper package links are generated * passed to Javadoc. Also test that the proper package links are generated
* when single or multiple packages are documented. * when single or multiple packages are documented.
@ -82,5 +82,26 @@ public class TestPackagePage extends JavadocTester {
"<li>Package</li>"); "<li>Package</li>");
checkOutput("help-doc.html", true, checkOutput("help-doc.html", true,
"<li>Package</li>"); "<li>Package</li>");
checkOutput("allclasses-index.html", true,
"<table class=\"typeSummary\">\n"
+ "<caption><span>Class Summary</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
+ "<tr>\n"
+ "<th class=\"colFirst\" scope=\"col\">Class</th>\n"
+ "<th class=\"colLast\" scope=\"col\">Description</th>\n"
+ "</tr>\n");
checkOutput("allpackages-index.html", true,
"<table class=\"packagesSummary\">\n"
+ "<caption><span>Package Summary</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
+ "<tr>\n"
+ "<th class=\"colFirst\" scope=\"col\">Package</th>\n"
+ "<th class=\"colLast\" scope=\"col\">Description</th>\n"
+ "</tr>\n");
checkOutput("type-search-index.js", true,
"{\"l\":\"All Classes\",\"url\":\"allclasses-index.html\"}");
checkOutput("package-search-index.js", true,
"{\"l\":\"All Packages\",\"url\":\"allpackages-index.html\"}");
checkOutput("index-all.html", true,
"<br><a href=\"allclasses-index.html\">All&nbsp;Classes</a>&nbsp;"
+ "<a href=\"allpackages-index.html\">All&nbsp;Packages</a>");
} }
} }

View File

@ -24,7 +24,7 @@
/* /*
* @test * @test
* @bug 8141492 8071982 8141636 8147890 8166175 8168965 8176794 8175218 8147881 * @bug 8141492 8071982 8141636 8147890 8166175 8168965 8176794 8175218 8147881
* 8181622 8182263 8074407 8187521 8198522 8182765 8199278 * 8181622 8182263 8074407 8187521 8198522 8182765 8199278 8196201
* @summary Test the search feature of javadoc. * @summary Test the search feature of javadoc.
* @author bpatel * @author bpatel
* @library ../lib * @library ../lib
@ -50,13 +50,13 @@ public class TestSearch extends JavadocTester {
checkJqueryAndImageFiles(true); checkJqueryAndImageFiles(true);
checkSearchJS(); checkSearchJS();
checkFiles(false, checkFiles(false,
"package-search-index.zip",
"tag-search-index.zip", "tag-search-index.zip",
"package-search-index.js",
"tag-search-index.js"); "tag-search-index.js");
checkFiles(true, checkFiles(true,
"package-search-index.zip",
"member-search-index.zip", "member-search-index.zip",
"type-search-index.zip", "type-search-index.zip",
"package-search-index.js",
"member-search-index.js", "member-search-index.js",
"type-search-index.js"); "type-search-index.js");
} }
@ -75,6 +75,7 @@ public class TestSearch extends JavadocTester {
checkSingleIndexSearchTagDuplication(); checkSingleIndexSearchTagDuplication();
checkJqueryAndImageFiles(true); checkJqueryAndImageFiles(true);
checkSearchJS(); checkSearchJS();
checkAllPkgsAllClasses();
checkFiles(true, checkFiles(true,
"member-search-index.zip", "member-search-index.zip",
"package-search-index.zip", "package-search-index.zip",
@ -154,7 +155,9 @@ public class TestSearch extends JavadocTester {
"package-search-index.js", "package-search-index.js",
"tag-search-index.js", "tag-search-index.js",
"type-search-index.js", "type-search-index.js",
"index-all.html"); "index-all.html",
"allpackages-index.html",
"allclasses-index.html");
} }
@Test @Test
@ -471,7 +474,9 @@ public class TestSearch extends JavadocTester {
"<dt><span class=\"searchTagLink\"><a href=\"../pkg2/TestError.html#SearchTagDeprecatedMethod\">" "<dt><span class=\"searchTagLink\"><a href=\"../pkg2/TestError.html#SearchTagDeprecatedMethod\">"
+ "SearchTagDeprecatedMethod</a></span> - Search tag in pkg2.TestError</dt>", + "SearchTagDeprecatedMethod</a></span> - Search tag in pkg2.TestError</dt>",
"<dt><span class=\"searchTagLink\"><a href=\"../pkg/package-summary.html#SingleWord\">" "<dt><span class=\"searchTagLink\"><a href=\"../pkg/package-summary.html#SingleWord\">"
+ "SingleWord</a></span> - Search tag in pkg</dt>"); + "SingleWord</a></span> - Search tag in pkg</dt>",
"<br><a href=\"../allclasses-index.html\">All&nbsp;Classes</a>&nbsp;"
+ "<a href=\"../allpackages-index.html\">All&nbsp;Packages</a>");
checkOutput("index-files/index-10.html", true, checkOutput("index-files/index-10.html", true,
"<dt><span class=\"searchTagLink\"><a href=\"../pkg/package-summary.html#phrasewithspaces\">" "<dt><span class=\"searchTagLink\"><a href=\"../pkg/package-summary.html#phrasewithspaces\">"
+ "phrase with spaces</a></span> - Search tag in pkg</dt>", + "phrase with spaces</a></span> - Search tag in pkg</dt>",
@ -628,15 +633,17 @@ public class TestSearch extends JavadocTester {
+ " var slash = \"/\";\n" + " var slash = \"/\";\n"
+ " if (ui.item.category === catModules) {\n" + " if (ui.item.category === catModules) {\n"
+ " return ui.item.l + slash;\n" + " return ui.item.l + slash;\n"
+ " } else if (ui.item.category === catPackages) {\n" + " } else if (ui.item.category === catPackages && ui.item.m) {\n"
+ " return ui.item.m + slash;\n" + " return ui.item.m + slash;\n"
+ " } else if (ui.item.category === catTypes || ui.item.category === catMembers) {\n" + " } else if ((ui.item.category === catTypes && ui.item.p) || ui.item.category === catMembers) {\n"
+ " $.each(packageSearchIndex, function(index, item) {\n" + " $.each(packageSearchIndex, function(index, item) {\n"
+ " if (ui.item.p == item.l) {\n" + " if (ui.item.p == item.l) {\n"
+ " urlPrefix = item.m + slash;\n" + " urlPrefix = item.m + slash;\n"
+ " }\n" + " }\n"
+ " });\n" + " });\n"
+ " return urlPrefix;\n" + " return urlPrefix;\n"
+ " } else {\n"
+ " return urlPrefix;\n"
+ " }\n" + " }\n"
+ " }\n" + " }\n"
+ " return urlPrefix;\n" + " return urlPrefix;\n"
@ -673,4 +680,41 @@ public class TestSearch extends JavadocTester {
+ "SearchTagDeprecatedMethod</a></span> - Search tag in pkg2.TestError</dt>\n" + "SearchTagDeprecatedMethod</a></span> - Search tag in pkg2.TestError</dt>\n"
+ "<dd>with description</dd>"); + "<dd>with description</dd>");
} }
void checkAllPkgsAllClasses() {
checkOutput("allclasses-index.html", true,
"<table class=\"typeSummary\">\n"
+ "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Classes</span>"
+ "<span class=\"tabEnd\">&nbsp;</span></span><span id=\"t1\" class=\"tableTab\">"
+ "<span><a href=\"javascript:show(1);\">Interface Summary</a></span><span class=\"tabEnd\">"
+ "&nbsp;</span></span><span id=\"t2\" class=\"tableTab\"><span><a href=\"javascript:show(2);\">"
+ "Class Summary</a></span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t3\" class=\"tableTab\">"
+ "<span><a href=\"javascript:show(4);\">Enum Summary</a></span><span class=\"tabEnd\">&nbsp;"
+ "</span></span><span id=\"t4\" class=\"tableTab\"><span><a href=\"javascript:show(8);\">"
+ "Exception Summary</a></span><span class=\"tabEnd\">&nbsp;</span></span>"
+ "<span id=\"t5\" class=\"tableTab\"><span><a href=\"javascript:show(16);\">"
+ "Error Summary</a></span><span class=\"tabEnd\">&nbsp;</span></span>"
+ "<span id=\"t6\" class=\"tableTab\"><span><a href=\"javascript:show(32);\">Annotation Types Summary"
+ "</a></span><span class=\"tabEnd\">&nbsp;</span></span></caption>\n"
+ "<tr>\n"
+ "<th class=\"colFirst\" scope=\"col\">Class</th>\n"
+ "<th class=\"colLast\" scope=\"col\">Description</th>\n"
+ "</tr>",
"var data = {\"i0\":32,\"i1\":2,\"i2\":4,\"i3\":2,\"i4\":2,\"i5\":1,\"i6\":2,\"i7\":32,"
+ "\"i8\":2,\"i9\":4,\"i10\":16,\"i11\":16,\"i12\":8,\"i13\":8,\"i14\":1,\"i15\":2};");
checkOutput("allpackages-index.html", true,
"<table class=\"packagesSummary\">\n"
+ "<caption><span>Package Summary</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
+ "<tr>\n"
+ "<th class=\"colFirst\" scope=\"col\">Package</th>\n"
+ "<th class=\"colLast\" scope=\"col\">Description</th>\n"
+ "</tr>\n");
checkOutput("type-search-index.js", true,
"{\"l\":\"All Classes\",\"url\":\"allclasses-index.html\"}");
checkOutput("package-search-index.js", true,
"{\"l\":\"All Packages\",\"url\":\"allpackages-index.html\"}");
checkOutput("index-all.html", true,
"<br><a href=\"allclasses-index.html\">All&nbsp;Classes</a>&nbsp;"
+ "<a href=\"allpackages-index.html\">All&nbsp;Packages</a>");
}
} }

View File

@ -24,7 +24,7 @@
/* /*
* @test * @test
* @bug 4494033 7028815 7052425 8007338 8023608 8008164 8016549 8072461 8154261 8162363 8160196 8151743 8177417 * @bug 4494033 7028815 7052425 8007338 8023608 8008164 8016549 8072461 8154261 8162363 8160196 8151743 8177417
* 8175218 8176452 8181215 8182263 8183511 8169819 8183037 8185369 8182765 * 8175218 8176452 8181215 8182263 8183511 8169819 8183037 8185369 8182765 8196201
* @summary Run tests on doclet stylesheet. * @summary Run tests on doclet stylesheet.
* @author jamieh * @author jamieh
* @library ../lib * @library ../lib
@ -106,7 +106,7 @@ public class TestStylesheet extends JavadocTester {
+ " height:16px;\n" + " height:16px;\n"
+ "}", + "}",
".memberSummary caption span.activeTableTab span, .packagesSummary caption span.activeTableTab span,\n" ".memberSummary caption span.activeTableTab span, .packagesSummary caption span.activeTableTab span,\n"
+ ".overviewSummary caption span.activeTableTab span {\n" + ".overviewSummary caption span.activeTableTab span, .typeSummary caption span.activeTableTab span {\n"
+ " white-space:nowrap;\n" + " white-space:nowrap;\n"
+ " padding-top:5px;\n" + " padding-top:5px;\n"
+ " padding-left:12px;\n" + " padding-left:12px;\n"
@ -118,7 +118,7 @@ public class TestStylesheet extends JavadocTester {
+ " height:16px;\n" + " height:16px;\n"
+ "}", + "}",
".memberSummary caption span.tableTab span, .packagesSummary caption span.tableTab span,\n" ".memberSummary caption span.tableTab span, .packagesSummary caption span.tableTab span,\n"
+ ".overviewSummary caption span.tableTab span {\n" + ".overviewSummary caption span.tableTab span, .typeSummary caption span.tableTab span {\n"
+ " white-space:nowrap;\n" + " white-space:nowrap;\n"
+ " padding-top:5px;\n" + " padding-top:5px;\n"
+ " padding-left:12px;\n" + " padding-left:12px;\n"
@ -137,7 +137,7 @@ public class TestStylesheet extends JavadocTester {
+ ".providesSummary td.colFirst, .providesSummary th.colFirst,\n" + ".providesSummary td.colFirst, .providesSummary th.colFirst,\n"
+ ".memberSummary td.colFirst, .memberSummary th.colFirst,\n" + ".memberSummary td.colFirst, .memberSummary th.colFirst,\n"
+ ".memberSummary td.colSecond, .memberSummary th.colSecond, .memberSummary th.colConstructorName,\n" + ".memberSummary td.colSecond, .memberSummary th.colSecond, .memberSummary th.colConstructorName,\n"
+ ".typeSummary td.colFirst {\n" + ".typeSummary td.colFirst, .typeSummary th.colFirst {\n"
+ " vertical-align:top;\n" + " vertical-align:top;\n"
+ "}", + "}",
".overviewSummary td, .memberSummary td, .typeSummary td,\n" ".overviewSummary td, .memberSummary td, .typeSummary td,\n"
@ -148,7 +148,8 @@ public class TestStylesheet extends JavadocTester {
+ "}", + "}",
".memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab,\n" ".memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab,\n"
+ ".packagesSummary caption span.tableTab, .packagesSummary caption span.activeTableTab,\n" + ".packagesSummary caption span.tableTab, .packagesSummary caption span.activeTableTab,\n"
+ ".overviewSummary caption span.tableTab, .overviewSummary caption span.activeTableTab {\n" + ".overviewSummary caption span.tableTab, .overviewSummary caption span.activeTableTab,\n"
+ ".typeSummary caption span.tableTab, .typeSummary caption span.activeTableTab {\n"
+ " padding-top:0px;\n" + " padding-top:0px;\n"
+ " padding-left:0px;\n" + " padding-left:0px;\n"
+ " padding-right:0px;\n" + " padding-right:0px;\n"
@ -180,7 +181,9 @@ public class TestStylesheet extends JavadocTester {
+ "th.colSecond a:link, th.colSecond a:visited,\n" + "th.colSecond a:link, th.colSecond a:visited,\n"
+ "th.colConstructorName a:link, th.colConstructorName a:visited,\n" + "th.colConstructorName a:link, th.colConstructorName a:visited,\n"
+ "th.colDeprecatedItemName a:link, th.colDeprecatedItemName a:visited, \n" + "th.colDeprecatedItemName a:link, th.colDeprecatedItemName a:visited, \n"
+ ".constantValuesContainer td a:link, .constantValuesContainer td a:visited {\n" + ".constantValuesContainer td a:link, .constantValuesContainer td a:visited, \n"
+ ".allClassesContainer td a:link, .allClassesContainer td a:visited, \n"
+ ".allPackagesContainer td a:link, .allPackagesContainer td a:visited {\n"
+ " font-weight:bold;\n" + " font-weight:bold;\n"
+ "}", + "}",
".deprecationBlock {\n" ".deprecationBlock {\n"

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2003, 2018, 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,7 +23,7 @@
/* /*
* @test * @test
* @bug 4904075 4774450 5015144 8043698 * @bug 4904075 4774450 5015144 8043698 8196201
* @summary Reference unnamed package as "Unnamed", not empty string. * @summary Reference unnamed package as "Unnamed", not empty string.
* Generate a package summary for the unnamed package. * Generate a package summary for the unnamed package.
* @author jamieh * @author jamieh
@ -64,6 +64,48 @@ public class TestUnnamedPackage extends JavadocTester {
checkOutput("C.html", true, checkOutput("C.html", true,
"<a href=\"package-summary.html\">"); "<a href=\"package-summary.html\">");
checkOutput("allclasses-index.html", true,
"<table class=\"typeSummary\">\n"
+ "<caption><span>Class Summary</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
+ "<tr>\n"
+ "<th class=\"colFirst\" scope=\"col\">Class</th>\n"
+ "<th class=\"colLast\" scope=\"col\">Description</th>\n"
+ "</tr>\n"
+ "<tr id=\"i0\" class=\"altColor\">\n"
+ "<td class=\"colFirst\"><a href=\"C.html\" title=\"class in &lt;Unnamed&gt;\">C</a></td>\n"
+ "<th class=\"colLast\" scope=\"row\">\n"
+ "<div class=\"block\">This is a class in the unnamed package.</div>\n"
+ "</th>\n"
+ "</tr>\n"
+ "</table>");
checkOutput("allpackages-index.html", true,
"<table class=\"packagesSummary\">\n"
+ "<caption><span>Package Summary</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
+ "<tr>\n"
+ "<th class=\"colFirst\" scope=\"col\">Package</th>\n"
+ "<th class=\"colLast\" scope=\"col\">Description</th>\n"
+ "</tr>\n"
+ "<tbody>\n"
+ "<tr class=\"altColor\">\n"
+ "<th class=\"colFirst\" scope=\"row\"><a href=\"package-summary.html\">&lt;Unnamed&gt;</a></th>\n"
+ "<td class=\"colLast\">\n"
+ "<div class=\"block\">This is a package comment for the unnamed package.</div>\n"
+ "</td>\n"
+ "</tr>\n"
+ "</tbody>\n"
+ "</table>");
checkOutput("type-search-index.js", true,
"{\"l\":\"All Classes\",\"url\":\"allclasses-index.html\"}");
checkOutput("package-search-index.js", true,
"{\"l\":\"All Packages\",\"url\":\"allpackages-index.html\"}");
checkOutput("index-all.html", true,
"<br><a href=\"allclasses-index.html\">All&nbsp;Classes</a>&nbsp;"
+ "<a href=\"allpackages-index.html\">All&nbsp;Packages</a>");
checkOutput(Output.OUT, false, checkOutput(Output.OUT, false,
"BadSource"); "BadSource");
} }

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2018, 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
@ -191,7 +191,9 @@ class APITest {
*/ */
protected static Set<String> standardExpectFiles = new HashSet<>(Arrays.asList( protected static Set<String> standardExpectFiles = new HashSet<>(Arrays.asList(
"allclasses-frame.html", "allclasses-frame.html",
"allclasses-index.html",
"allclasses-noframe.html", "allclasses-noframe.html",
"allpackages-index.html",
"constant-values.html", "constant-values.html",
"deprecated-list.html", "deprecated-list.html",
"help-doc.html", "help-doc.html",
@ -245,7 +247,8 @@ class APITest {
protected static Set<String> noIndexFiles = standardExpectFiles.stream() protected static Set<String> noIndexFiles = standardExpectFiles.stream()
.filter(s -> !s.startsWith("jquery") && !s.startsWith("resources") && !s.endsWith("zip") .filter(s -> !s.startsWith("jquery") && !s.startsWith("resources") && !s.endsWith("zip")
&& !s.equals("index-all.html") && !s.equals("search.js") && !s.endsWith("-search-index.js")) && !s.equals("index-all.html") && !s.equals("search.js") && !s.endsWith("-search-index.js")
&& !s.equals("allclasses-index.html") && !s.equals("allpackages-index.html"))
.collect(Collectors.toSet()); .collect(Collectors.toSet());
} }

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2018, 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
@ -191,7 +191,9 @@ class APITest {
*/ */
protected static Set<String> standardExpectFiles = new HashSet<>(Arrays.asList( protected static Set<String> standardExpectFiles = new HashSet<>(Arrays.asList(
"allclasses-frame.html", "allclasses-frame.html",
"allclasses-index.html",
"allclasses-noframe.html", "allclasses-noframe.html",
"allpackages-index.html",
"constant-values.html", "constant-values.html",
"deprecated-list.html", "deprecated-list.html",
"help-doc.html", "help-doc.html",
@ -245,7 +247,8 @@ class APITest {
protected static Set<String> noIndexFiles = standardExpectFiles.stream() protected static Set<String> noIndexFiles = standardExpectFiles.stream()
.filter(s -> !s.startsWith("jquery") && !s.startsWith("resources") && !s.endsWith("zip") .filter(s -> !s.startsWith("jquery") && !s.startsWith("resources") && !s.endsWith("zip")
&& !s.equals("index-all.html") && !s.equals("search.js") && !s.endsWith("-search-index.js")) && !s.equals("index-all.html") && !s.equals("search.js") && !s.endsWith("-search-index.js")
&& !s.equals("allclasses-index.html") && !s.equals("allpackages-index.html"))
.collect(Collectors.toSet()); .collect(Collectors.toSet());
} }