mirror of
https://github.com/openjdk/jdk.git
synced 2026-02-08 01:25:31 +00:00
7006270: Several javadoc regression tests are failing on windows
Reviewed-by: jjg
This commit is contained in:
parent
1ce40f31dd
commit
8850af593b
@ -239,7 +239,7 @@ public class ClassWriterImpl extends SubWriterHolderWriter
|
||||
Type superclass = Util.getFirstVisibleSuperClass(classDoc,
|
||||
configuration());
|
||||
if (superclass != null) {
|
||||
pre.addContent("\n");
|
||||
pre.addContent(DocletConstants.NL);
|
||||
pre.addContent("extends ");
|
||||
Content link = new RawHtml(getLink(new LinkInfoImpl(
|
||||
LinkInfoImpl.CONTEXT_CLASS_SIGNATURE_PARENT_NAME,
|
||||
@ -257,7 +257,7 @@ public class ClassWriterImpl extends SubWriterHolderWriter
|
||||
continue;
|
||||
}
|
||||
if (counter == 0) {
|
||||
pre.addContent("\n");
|
||||
pre.addContent(DocletConstants.NL);
|
||||
pre.addContent(isInterface? "extends " : "implements ");
|
||||
} else {
|
||||
pre.addContent(", ");
|
||||
|
||||
@ -144,11 +144,12 @@ public class HtmlDoclet extends AbstractDoclet {
|
||||
!configuration.nohelp) {
|
||||
HelpWriter.generate(configuration);
|
||||
}
|
||||
// If a stylesheet file is not specified, copy the default stylesheet.
|
||||
// If a stylesheet file is not specified, copy the default stylesheet
|
||||
// and replace newline with platform-specific newline.
|
||||
if (configuration.stylesheetfile.length() == 0) {
|
||||
Util.copyFile(configuration, "stylesheet.css", Util.RESOURCESDIR,
|
||||
(configdestdir.isEmpty()) ?
|
||||
System.getProperty("user.dir") : configdestdir, false);
|
||||
System.getProperty("user.dir") : configdestdir, false, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -216,15 +216,15 @@ public class HtmlDocletWriter extends HtmlDocWriter {
|
||||
public Content getAllClassesLinkScript(String id) {
|
||||
HtmlTree script = new HtmlTree(HtmlTag.SCRIPT);
|
||||
script.addAttr(HtmlAttr.TYPE, "text/javascript");
|
||||
String scriptCode = "<!--\n" +
|
||||
" allClassesLink = document.getElementById(\"" + id + "\");\n" +
|
||||
" if(window==top) {\n" +
|
||||
" allClassesLink.style.display = \"block\";\n" +
|
||||
" }\n" +
|
||||
" else {\n" +
|
||||
" allClassesLink.style.display = \"none\";\n" +
|
||||
" }\n" +
|
||||
" //-->\n";
|
||||
String scriptCode = "<!--" + DocletConstants.NL +
|
||||
" allClassesLink = document.getElementById(\"" + id + "\");" + DocletConstants.NL +
|
||||
" if(window==top) {" + DocletConstants.NL +
|
||||
" allClassesLink.style.display = \"block\";" + DocletConstants.NL +
|
||||
" }" + DocletConstants.NL +
|
||||
" else {" + DocletConstants.NL +
|
||||
" allClassesLink.style.display = \"none\";" + DocletConstants.NL +
|
||||
" }" + DocletConstants.NL +
|
||||
" //-->" + DocletConstants.NL;
|
||||
Content scriptContent = new RawHtml(scriptCode);
|
||||
script.addContent(scriptContent);
|
||||
Content div = HtmlTree.DIV(script);
|
||||
|
||||
@ -82,9 +82,9 @@ public class Comment extends Content{
|
||||
*/
|
||||
public void write(StringBuilder contentBuilder) {
|
||||
if (!endsWithNewLine(contentBuilder))
|
||||
contentBuilder.append("\n");
|
||||
contentBuilder.append(DocletConstants.NL);
|
||||
contentBuilder.append("<!-- ");
|
||||
contentBuilder.append(commentText);
|
||||
contentBuilder.append(" -->\n");
|
||||
contentBuilder.append(" -->" + DocletConstants.NL);
|
||||
}
|
||||
}
|
||||
|
||||
@ -48,7 +48,7 @@ public class DocType extends Content{
|
||||
*/
|
||||
private DocType(String type, String dtd) {
|
||||
docType = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 " + type +
|
||||
"//EN\" \"" + dtd + "\">\n";
|
||||
"//EN\" \"" + dtd + "\">" + DocletConstants.NL;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -753,7 +753,7 @@ public class HtmlTree extends Content {
|
||||
*/
|
||||
public void write(StringBuilder contentBuilder) {
|
||||
if (!isInline() && !endsWithNewLine(contentBuilder))
|
||||
contentBuilder.append("\n");
|
||||
contentBuilder.append(DocletConstants.NL);
|
||||
String tagString = htmlTag.toString();
|
||||
contentBuilder.append("<" + tagString);
|
||||
Iterator<HtmlAttr> iterator = attrs.keySet().iterator();
|
||||
@ -772,6 +772,6 @@ public class HtmlTree extends Content {
|
||||
if (htmlTag.endTagRequired())
|
||||
contentBuilder.append("</" + tagString + ">");
|
||||
if (!isInline())
|
||||
contentBuilder.append("\n");
|
||||
contentBuilder.append(DocletConstants.NL);
|
||||
}
|
||||
}
|
||||
|
||||
@ -287,11 +287,11 @@ public class HtmlWriter extends PrintWriter {
|
||||
HtmlTree script = new HtmlTree(HtmlTag.SCRIPT);
|
||||
if(winTitle != null && winTitle.length() > 0) {
|
||||
script.addAttr(HtmlAttr.TYPE, "text/javascript");
|
||||
String scriptCode = "<!--\n" +
|
||||
" if (location.href.indexOf('is-external=true') == -1) {\n" +
|
||||
" parent.document.title=\"" + winTitle + "\";\n" +
|
||||
" }\n" +
|
||||
"//-->\n";
|
||||
String scriptCode = "<!--" + DocletConstants.NL +
|
||||
" if (location.href.indexOf('is-external=true') == -1) {" + DocletConstants.NL +
|
||||
" parent.document.title=\"" + winTitle + "\";" + DocletConstants.NL +
|
||||
" }" + DocletConstants.NL +
|
||||
"//-->" + DocletConstants.NL;
|
||||
RawHtml scriptContent = new RawHtml(scriptCode);
|
||||
script.addContent(scriptContent);
|
||||
}
|
||||
@ -306,15 +306,15 @@ public class HtmlWriter extends PrintWriter {
|
||||
protected Content getFramesetJavaScript(){
|
||||
HtmlTree script = new HtmlTree(HtmlTag.SCRIPT);
|
||||
script.addAttr(HtmlAttr.TYPE, "text/javascript");
|
||||
String scriptCode = "\n targetPage = \"\" + window.location.search;\n" +
|
||||
" if (targetPage != \"\" && targetPage != \"undefined\")\n" +
|
||||
" targetPage = targetPage.substring(1);\n" +
|
||||
" if (targetPage.indexOf(\":\") != -1)\n" +
|
||||
" targetPage = \"undefined\";\n" +
|
||||
" function loadFrames() {\n" +
|
||||
" if (targetPage != \"\" && targetPage != \"undefined\")\n" +
|
||||
" top.classFrame.location = top.targetPage;\n" +
|
||||
" }\n";
|
||||
String scriptCode = DocletConstants.NL + " targetPage = \"\" + window.location.search;" + DocletConstants.NL +
|
||||
" if (targetPage != \"\" && targetPage != \"undefined\")" + DocletConstants.NL +
|
||||
" targetPage = targetPage.substring(1);" + DocletConstants.NL +
|
||||
" if (targetPage.indexOf(\":\") != -1)" + DocletConstants.NL +
|
||||
" targetPage = \"undefined\";" + DocletConstants.NL +
|
||||
" function loadFrames() {" + DocletConstants.NL +
|
||||
" if (targetPage != \"\" && targetPage != \"undefined\")" + DocletConstants.NL +
|
||||
" top.classFrame.location = top.targetPage;" + DocletConstants.NL +
|
||||
" }" + DocletConstants.NL;
|
||||
RawHtml scriptContent = new RawHtml(scriptCode);
|
||||
script.addContent(scriptContent);
|
||||
return script;
|
||||
|
||||
@ -101,6 +101,6 @@ public abstract class Content {
|
||||
*/
|
||||
public boolean endsWithNewLine(StringBuilder contentBuilder) {
|
||||
return ((contentBuilder.length() == 0) ||
|
||||
(contentBuilder.substring(contentBuilder.length() - 1).equals("\n")));
|
||||
(contentBuilder.toString().endsWith(DocletConstants.NL)));
|
||||
}
|
||||
}
|
||||
|
||||
@ -211,14 +211,14 @@ public class Util {
|
||||
try {
|
||||
while ((len = input.read(bytearr)) != -1) {
|
||||
output.write(bytearr, 0, len);
|
||||
}
|
||||
}
|
||||
} catch (FileNotFoundException exc) {
|
||||
} catch (SecurityException exc) {
|
||||
} finally {
|
||||
} finally {
|
||||
input.close();
|
||||
output.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Copy the given directory contents from the source package directory
|
||||
@ -330,7 +330,7 @@ public class Util {
|
||||
String resourcefile, boolean overwrite) {
|
||||
String destresourcesdir = configuration.destDirName + RESOURCESDIR;
|
||||
copyFile(configuration, resourcefile, RESOURCESDIR, destresourcesdir,
|
||||
overwrite);
|
||||
overwrite, false);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -345,23 +345,46 @@ public class Util {
|
||||
* @param overwrite A flag to indicate whether the file in the
|
||||
* destination directory will be overwritten if
|
||||
* it already exists.
|
||||
* @param replaceNewLine true if the newline needs to be replaced with platform-
|
||||
* specific newline.
|
||||
*/
|
||||
public static void copyFile(Configuration configuration, String file, String source,
|
||||
String destination, boolean overwrite) {
|
||||
String destination, boolean overwrite, boolean replaceNewLine) {
|
||||
DirectoryManager.createDirectory(configuration, destination);
|
||||
File destfile = new File(destination, file);
|
||||
if(destfile.exists() && (! overwrite)) return;
|
||||
try {
|
||||
InputStream in = Configuration.class.getResourceAsStream(
|
||||
source + DirectoryManager.URL_FILE_SEPARATOR + file);
|
||||
source + DirectoryManager.URL_FILE_SEPARATOR + file);
|
||||
if(in==null) return;
|
||||
OutputStream out = new FileOutputStream(destfile);
|
||||
byte[] buf = new byte[2048];
|
||||
int n;
|
||||
while((n = in.read(buf))>0) out.write(buf,0,n);
|
||||
in.close();
|
||||
out.close();
|
||||
} catch(Throwable t) {}
|
||||
try {
|
||||
if (!replaceNewLine) {
|
||||
byte[] buf = new byte[2048];
|
||||
int n;
|
||||
while((n = in.read(buf))>0) out.write(buf,0,n);
|
||||
} else {
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
|
||||
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out));
|
||||
try {
|
||||
String line;
|
||||
while ((line = reader.readLine()) != null) {
|
||||
writer.write(line);
|
||||
writer.write(DocletConstants.NL);
|
||||
}
|
||||
} finally {
|
||||
reader.close();
|
||||
writer.close();
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
in.close();
|
||||
out.close();
|
||||
}
|
||||
} catch (IOException ie) {
|
||||
ie.printStackTrace();
|
||||
throw new DocletAbortException();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -44,6 +44,7 @@ public class TestHtmlDocument {
|
||||
private static final String BUGID = "6851834";
|
||||
private static final String BUGNAME = "TestHtmlDocument";
|
||||
private static final String FS = System.getProperty("file.separator");
|
||||
private static final String LS = System.getProperty("line.separator");
|
||||
private static String srcdir = System.getProperty("test.src", ".");
|
||||
|
||||
// Entry point
|
||||
@ -143,13 +144,17 @@ public class TestHtmlDocument {
|
||||
System.out.println("\nFILE DOES NOT EXIST: " + filename);
|
||||
}
|
||||
BufferedReader in = new BufferedReader(new FileReader(file));
|
||||
StringBuilder fileString = new StringBuilder();
|
||||
// Create an array of characters the size of the file
|
||||
char[] allChars = new char[(int)file.length()];
|
||||
// Read the characters into the allChars array
|
||||
in.read(allChars, 0, (int)file.length());
|
||||
in.close();
|
||||
// Convert to a string
|
||||
String allCharsString = new String(allChars);
|
||||
return allCharsString;
|
||||
try {
|
||||
String line;
|
||||
while ((line = in.readLine()) != null) {
|
||||
fileString.append(line);
|
||||
fileString.append(LS);
|
||||
}
|
||||
} finally {
|
||||
in.close();
|
||||
}
|
||||
return fileString.toString();
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user