1package org.testng.reporters.jq; 2 3import org.testng.ISuite; 4import org.testng.ITestResult; 5import org.testng.Reporter; 6import org.testng.reporters.XMLStringBuffer; 7 8import java.util.List; 9 10/** 11 * Display the reporter output for each test result. 12 */ 13public class ReporterPanel extends BaseMultiSuitePanel { 14 15 public ReporterPanel(Model model) { 16 super(model); 17 } 18 19 20 @Override 21 public String getPrefix() { 22 return "reporter-"; 23 } 24 25 @Override 26 public String getHeader(ISuite suite) { 27 return "Reporter output for " + suite.getName(); 28 } 29 30 @Override 31 public String getContent(ISuite suite, XMLStringBuffer main) { 32 XMLStringBuffer xsb = new XMLStringBuffer(main.getCurrentIndent()); 33 for (ITestResult tr : getModel().getAllTestResults(suite)) { 34 List<String> lines = Reporter.getOutput(tr); 35 if (! lines.isEmpty()) { 36 xsb.push(D, C, "reporter-method-div"); 37 xsb.addRequired(S, Model.getTestResultName(tr), C, "reporter-method-name"); 38 xsb.push(D, C, "reporter-method-output-div"); 39 for (String output : lines) { 40 xsb.addRequired(S, output, C, "reporter-method-output"); 41 } 42 xsb.pop(D); 43 xsb.pop(D); 44 } 45 } 46 return xsb.toXML(); 47 } 48 49 @Override 50 public String getNavigatorLink(ISuite suite) { 51 return "Reporter output"; 52 } 53 54} 55