--- mauve/gnu/testlet/TestReport.java.vanilla 2004-09-20 08:20:22.653300790 +0200 +++ mauve/gnu/testlet/TestReport.java 2004-09-20 08:43:54.765740326 +0200 @@ -68,18 +68,19 @@ Writer out = new OutputStreamWriter(new FileOutputStream(f), ENCODING); out.write("\n"); out.write("\n \n"); + escAttrib(systemProperties.get("java.vm.vendor")) + + "'\n version='" + + escAttrib(systemProperties.get("java.vm.version")) + "' \n" + + " os='" + escAttrib(systemProperties.get("os.name")) + " " + + escAttrib(systemProperties.get("os.version")) + " " + + escAttrib(systemProperties.get("os.arch")) + "' />\n"); Collections.sort(testResults); Iterator results = testResults.iterator(); while (results.hasNext()) { TestResult tr = (TestResult) results.next(); String[] failures = tr.getFailMessags(); - out.write(" \n"); @@ -92,7 +93,8 @@ if (tr.getException() != null) { Throwable t = tr.getException(); - out.write(" \n " + esc(tr.getExceptionMessage()) + "\n " + esc(t.getMessage()) + "\n \n"); @@ -117,4 +119,16 @@ str = str.replaceAll(">", ">"); return str; } + + /** + * Escapes single quotes in string by prepending a backslash. + */ + private String escAttrib(Object obj) + { + if (obj == null) + return null; + String str = (String)obj; + str = str.replaceAll("'", "\\'"); + return str; + } }