diff options
Diffstat (limited to 'java/openjdk6/files/icedtea/openjdk/7006270-regressions.patch')
-rw-r--r-- | java/openjdk6/files/icedtea/openjdk/7006270-regressions.patch | 299 |
1 files changed, 299 insertions, 0 deletions
diff --git a/java/openjdk6/files/icedtea/openjdk/7006270-regressions.patch b/java/openjdk6/files/icedtea/openjdk/7006270-regressions.patch new file mode 100644 index 000000000000..1a71b415bdee --- /dev/null +++ b/java/openjdk6/files/icedtea/openjdk/7006270-regressions.patch @@ -0,0 +1,299 @@ +# HG changeset patch +# User bpatel +# Date 1292276687 28800 +# Node ID 445134ee98c84b6d139fab0f9a9d8718c686c63b +# Parent 5761891cfee48bc9382dd68e5e1bf164cff9bfbf +7006270: Several javadoc regression tests are failing on windows +Reviewed-by: jjg + +diff --git a/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java b/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java +--- langtools/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java ++++ langtools/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java +@@ -239,7 +239,7 @@ + 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 @@ + continue; + } + if (counter == 0) { +- pre.addContent("\n"); ++ pre.addContent(DocletConstants.NL); + pre.addContent(isInterface? "extends " : "implements "); + } else { + pre.addContent(", "); +diff --git a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java +--- langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java ++++ langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java +@@ -144,11 +144,12 @@ + !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); + } + } + +diff --git a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java +--- langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ++++ langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java +@@ -216,15 +216,15 @@ + 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); +diff --git a/src/share/classes/com/sun/tools/doclets/formats/html/markup/Comment.java b/src/share/classes/com/sun/tools/doclets/formats/html/markup/Comment.java +--- langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/Comment.java ++++ langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/Comment.java +@@ -82,9 +82,9 @@ + */ + 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); + } + } +diff --git a/src/share/classes/com/sun/tools/doclets/formats/html/markup/DocType.java b/src/share/classes/com/sun/tools/doclets/formats/html/markup/DocType.java +--- langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/DocType.java ++++ langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/DocType.java +@@ -48,7 +48,7 @@ + */ + private DocType(String type, String dtd) { + docType = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 " + type + +- "//EN\" \"" + dtd + "\">\n"; ++ "//EN\" \"" + dtd + "\">" + DocletConstants.NL; + } + + /** +diff --git a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java +--- langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java ++++ langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java +@@ -753,7 +753,7 @@ + */ + 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 @@ + if (htmlTag.endTagRequired()) + contentBuilder.append("</" + tagString + ">"); + if (!isInline()) +- contentBuilder.append("\n"); ++ contentBuilder.append(DocletConstants.NL); + } + } +diff --git a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java +--- langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ++++ langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java +@@ -287,11 +287,11 @@ + 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 @@ + 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; +diff --git a/src/share/classes/com/sun/tools/doclets/internal/toolkit/Content.java b/src/share/classes/com/sun/tools/doclets/internal/toolkit/Content.java +--- langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/Content.java ++++ langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/Content.java +@@ -101,6 +101,6 @@ + */ + public boolean endsWithNewLine(StringBuilder contentBuilder) { + return ((contentBuilder.length() == 0) || +- (contentBuilder.substring(contentBuilder.length() - 1).equals("\n"))); ++ (contentBuilder.toString().endsWith(DocletConstants.NL))); + } + } +diff --git a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java +--- langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java ++++ langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java +@@ -211,14 +211,14 @@ + 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 @@ + String resourcefile, boolean overwrite) { + String destresourcesdir = configuration.destDirName + RESOURCESDIR; + copyFile(configuration, resourcefile, RESOURCESDIR, destresourcesdir, +- overwrite); ++ overwrite, false); + } + + /** +@@ -345,23 +345,46 @@ + * @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(); ++ } + } + + /** +diff --git a/test/com/sun/javadoc/testHtmlDocument/TestHtmlDocument.java b/test/com/sun/javadoc/testHtmlDocument/TestHtmlDocument.java +--- langtools/test/com/sun/javadoc/testHtmlDocument/TestHtmlDocument.java ++++ langtools/test/com/sun/javadoc/testHtmlDocument/TestHtmlDocument.java +@@ -44,6 +44,7 @@ + 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 @@ + 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(); + } + } |