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 org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.argeo.slc.core.structure.StructureElement;
import org.argeo.slc.core.structure.StructureRegistry;
import org.argeo.slc.core.structure.tree.TreeSPath;
import org.argeo.slc.core.test.SimpleResultPart;
import org.argeo.slc.core.test.TestResultPart;
import org.argeo.slc.core.test.TestStatus;
import org.argeo.slc.core.test.tree.PartSubList;
import org.argeo.slc.core.test.tree.TreeTestResult;
class ResultPage {
private final static Log log = LogFactory.getLog(ResultPage.class);
private final FullHtmlTreeReport report;
private final TreeTestResult result;
ResultPage(FullHtmlTreeReport report, TreeTestResult result) {
this.report = report;
this.result = result;
}
/**
* Generates a result page for one test result
*
* @param file
* file to which generate the HTML
* @param result
* the result to dump
*/
protected void generate(StructureRegistry registry) {
StringBuffer buf = new StringBuffer("");
buf.append("\n");
buf.append("
"); int depth = path.getDepth(); for (int i = 0; i < depth; i++) { buf.append(" "); } if (inResult) { buf.append(""); } if (registry != null) { StructureElement element = registry.getElement(path); if (element != null) { buf.append(element.getDescription()); } else { buf.append(path.getName()); } } if (inResult) { buf.append(""); } buf.append(" |
\n"); buf.append(""); buf.append("
").append(displayedIndex) .append(" | "); buf.append("");
buf.append(sPart.getMessage());
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("