Code with Misuse: |
class JqReporter {
private XMLStringBuffer generateSuites(List<XmlSuite> xmlSuites,
List<ISuite> suites, XMLStringBuffer main) {
for (ISuite suite : suites) {
if (suite.getResults().size() == 0) {
continue;
}
XMLStringBuffer xsb = new XMLStringBuffer(main.getCurrentIndent());
XMLStringBuffer header = new XMLStringBuffer(main.getCurrentIndent());
xsb.push(D, C, "suite-content");
Map<String, ISuiteResult> results = suite.getResults();
XMLStringBuffer xs1 = new XMLStringBuffer(xsb.getCurrentIndent());
XMLStringBuffer xs2 = new XMLStringBuffer(xsb.getCurrentIndent());
XMLStringBuffer xs3 = new XMLStringBuffer(xsb.getCurrentIndent());
int failed = 0;
int skipped = 0;
int passed = 0;
for (ISuiteResult result : results.values()) {
ITestContext context = result.getTestContext();
failed += context.getFailedTests().size();
generateTests("failed", context.getFailedTests(), context, xs1);
skipped += context.getSkippedTests().size();
generateTests("skipped", context.getSkippedTests(), context, xs2);
passed += context.getPassedTests().size();
generateTests("passed", context.getPassedTests(), context, xs3);
}
xsb.addOptional(D, "Failed" + " tests", C, "result-banner " + "failed");
xsb.addString(xs1.toXML());
xsb.addOptional(D, "Skipped" + " tests", C, "result-banner " + "skipped");
xsb.addString(xs2.toXML());
xsb.addOptional(D, "Passed" + " tests", C, "result-banner " + "passed");
xsb.addString(xs3.toXML());
header.push(D, C, "suite");
header.push(D, C, "suite-header");
header.addOptional(S, suite.getName(), C, "suite-name");
header.push(D, C, "stats");
int total = failed + skipped + passed;
String stats = String.format("%s, %d failed, %d skipped, %d passed",
pluralize(total, "method"), failed, skipped, passed);
header.push("ul");
// Method stats
header.push("li");
header.addOptional(S, stats, C, "method-stats");
header.pop("li");
// Tests
header.push("li");
header.addOptional(S, String.format("%s ", pluralize(results.values().size(), "test"),
C, "test-stats"));
header.pop("li");
// List of tests
header.push("ul");
for (ISuiteResult tr : results.values()) {
String testName = tr.getTestContext().getName();
header.push("li");
header.addOptional("a", testName, "href", "#" + m_testMap.get(testName));
header.pop("li");
}
header.pop("ul");
header.pop("ul");
header.pop(D);
header.pop(D);
main.addString(header.toXML());
main.addString(xsb.toXML());
}
return main;
}
}
|