X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fcore%2Ftest%2Ftree%2Fhtmlreport%2FResultPage.java;h=22fa7a39c879f7f0d546f17f367116a32b31b656;hb=b5c4e0c9c2fcf788a56d6ce72989fe15182e057d;hp=06bf7c30d3cffe37dcccb48d7dc7d1b91eba8f30;hpb=ad6192d6f2a2740d6c2a644d8d30bb9f529de46b;p=gpl%2Fargeo-slc.git
diff --git a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultPage.java b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultPage.java
index 06bf7c30d..22fa7a39c 100644
--- a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultPage.java
+++ b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultPage.java
@@ -1,12 +1,14 @@
package org.argeo.slc.core.test.tree.htmlreport;
import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.Date;
import java.util.SortedMap;
import java.util.TreeMap;
-import javax.swing.tree.TreePath;
-
import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -42,18 +44,23 @@ class ResultPage {
StringBuffer buf = new StringBuffer("");
buf.append("\n");
buf.append("");
- buf.append("Result #").append(result.getTestResultId()).append(
- " \n");
- buf
- .append(" ");
+ buf.append("Result #").append(result.getTestResultId());
+ buf.append(" \n");
+ report.addStyles(buf);
buf.append(" \n");
buf.append("
\n");
// Header
+ buf.append("\n");
buf.append("Result #").append(result.getTestResultId()).append(
" \n");
- buf.append(report.sdf.format(result.getCloseDate()));
+ Date closeDate = result.getCloseDate();
+ if (closeDate == null) {
+ buf.append("[Not closed]");
+ } else {
+ buf.append(report.sdf.format(closeDate));
+ }
// TOC
generateToc(buf, registry);
@@ -126,33 +133,49 @@ class ResultPage {
buf.append("\n");
buf.append(" ");
buf.append("
");
- String description = path.getName();
- if (registry != null) {
- StructureElement element = registry.getElement(path);
- if (element != null) {
- description = element.getDescription();
- }
- }
- buf.append(description);
+ describedPath(path, registry, buf);
buf.append(" ");
PartSubList subList = (PartSubList) result.getResultParts().get(
path);
buf.append(" \n");
+ int displayedIndex = 1;// for display only
for (TestResultPart part : subList.getParts()) {
SimpleResultPart sPart = (SimpleResultPart) part;
String clss = "";
- if (sPart.getStatus().equals(SimpleResultPart.PASSED)) {
+ if (sPart.getStatus().equals(TestStatus.PASSED)) {
clss = "passed";
} else {
clss = "failed";
}
- buf.append("");
+ buf.append(" ");
+ buf.append("").append(displayedIndex)
+ .append(" ");
+ buf.append("");
buf.append(sPart.getMessage());
- buf.append(" \n");
+ if (sPart.getStatus().equals(TestStatus.ERROR)) {
+ buf
+ .append("An unexpected error prevented the test to run properly. ");
+ Throwable exception = sPart.getException();
+ if (exception != null) {
+ StringWriter writer = new StringWriter();
+ exception.printStackTrace(new PrintWriter(writer));
+ buf.append("
");
+ buf.append(writer.toString());
+ buf.append(" ");
+ IOUtils.closeQuietly(writer);
+ }
+ buf.append("");
+ }
+ buf.append("");
+ buf.append("\n");
+
+ displayedIndex++;
}
buf.append("
\n");
+ buf.append("top \n");
+ buf.append(" \n");
}
}
@@ -175,8 +198,19 @@ class ResultPage {
return path.getAsUniqueString().replace(path.getSeparator(), '_');
}
- private String describedPath(TreePath path, StructureRegistry registry) {
- StringBuffer buf = new StringBuffer("");
- return buf.toString();
+ private void describedPath(TreeSPath path, StructureRegistry registry,
+ StringBuffer buf) {
+ // StringBuffer buf = new StringBuffer("");
+ if (path.getParent() != null) {
+ describedPath(path.getParent(), registry, buf);
+ }
+ String description = path.getName();
+ if (registry != null) {
+ StructureElement element = registry.getElement(path);
+ if (element != null) {
+ description = element.getDescription();
+ }
+ }
+ buf.append('/').append(description);
}
}