/** * Add a required element to the current tag. An opening and closing tag * will be generated even if value is null. * @param tagName The name of the tag * @param value The value for this tag */ public void addRequired(String tagName, @Nullable String value) { addRequired(tagName, value, (Properties) null); }
/** * Add a required element to the current tag. An opening and closing tag will be generated even if * value is null. * * @param tagName The name of the tag * @param value The value for this tag */ public void addRequired(String tagName, @Nullable String value) { addRequired(tagName, value, (Properties) null); }
public void addRequired(String tagName, @Nullable String value, String... attributes) { addRequired(tagName, value, createProperties(attributes)); }
public void addRequired(String tagName, @Nullable String value, String... attributes) { addRequired(tagName, value, createProperties(attributes)); }
@Override public void generate(XMLStringBuffer xsb) { xsb.push(D, C, "top-banner-root"); xsb.addRequired(S, "Test results", C, "top-banner-title-font"); xsb.addEmptyElement("br"); int failedCount = getModel().getAllFailedResults().size(); String testResult = failedCount > 0 ? ", " + pluralize(failedCount, "failed test") : ""; String subTitle = pluralize(getModel().getSuites().size(), "suite") + testResult; xsb.addRequired(S, subTitle, C, "top-banner-font-1"); xsb.pop(D); }
@Override public void generate(XMLStringBuffer xsb) { xsb.push(D, C, "top-banner-root"); xsb.addRequired(S, "Test results", C, "top-banner-title-font"); xsb.addEmptyElement("br"); int failedCount = getModel().getAllFailedResults().size(); String testResult = failedCount > 0 ? ", " + pluralize(failedCount, "failed test") : ""; String subTitle = pluralize(getModel().getSuites().size(), "suite") + testResult; xsb.addRequired(S, subTitle, C, "top-banner-font-1"); xsb.pop(D); } }
@Override public String getContent(ISuite suite, XMLStringBuffer main) { XMLStringBuffer xsb = new XMLStringBuffer(main.getCurrentIndent()); for (ITestResult tr : getModel().getAllTestResults(suite)) { List<String> lines = Reporter.getOutput(tr); if (! lines.isEmpty()) { xsb.push(D, C, "reporter-method-div"); xsb.addRequired(S, Model.getTestResultName(tr), C, "reporter-method-name"); xsb.push(D, C, "reporter-method-output-div"); for (String output : lines) { xsb.addRequired(S, output, C, "reporter-method-output"); } xsb.pop(D); xsb.pop(D); } } return xsb.toXML(); }
@Test public void testMethod() { IBuffer result = Buffer.create(); XMLStringBuffer sb = new XMLStringBuffer(result, ""); sb.push("family"); Properties p = new Properties(); p.setProperty("prop1", "value1"); p.setProperty("prop2", "value2"); sb.addRequired("cedric", "true", p); sb.addRequired("alois", "true"); sb.addOptional("anne-marie", (String) null); sb.pop(); String expected = "<family>" + EOL + " <cedric prop2=\"value2\" prop1=\"value1\">true</cedric>" + EOL + " <alois>true</alois>" + EOL + "</family>"; assertThat(result.toString().trim()).isEqualTo(expected); }
@Override public String getContent(ISuite suite, XMLStringBuffer main) { XMLStringBuffer xsb = new XMLStringBuffer(main.getCurrentIndent()); for (ITestResult tr : getModel().getAllTestResults(suite)) { List<String> lines = Reporter.getOutput(tr); if (!lines.isEmpty()) { xsb.push(D, C, "reporter-method-div"); xsb.addRequired(S, Model.getTestResultName(tr), C, "reporter-method-name"); xsb.push(D, C, "reporter-method-output-div"); for (String output : lines) { xsb.addRequired(S, output, C, "reporter-method-output"); } xsb.pop(D); xsb.pop(D); } } return xsb.toXML(); }
@Override public String getContent(ISuite suite, XMLStringBuffer main) { XMLStringBuffer xsb = new XMLStringBuffer(main.getCurrentIndent()); List<String> sortedGroups = getModel().getGroups(suite.getName()); Collections.sort(sortedGroups); for (String group : sortedGroups) { xsb.push(D, C, "test-group"); xsb.addRequired(S, group, C, "test-group-name"); xsb.addEmptyElement("br"); List<String> sortedMethods = getModel().getMethodsInGroup(group); for (String method : sortedMethods) { xsb.push(D, C, "method-in-group"); xsb.addRequired(S, method, C, "method-in-group-name"); xsb.addEmptyElement("br"); xsb.pop(D); } xsb.pop(D); } return xsb.toXML(); }
private void generateInfo(XMLStringBuffer header, ISuite suite) { // // Info // header.push(D, C, "suite-section-title"); header.addRequired(S, "Info"); header.pop(D); header.push(D, C, "suite-section-content"); header.push("ul"); // All the panels for (INavigatorPanel panel : m_panels) { addLinkTo(header, panel, suite); } header.pop("ul"); header.pop(D); // suite-section-content }
@Override public String getContent(ISuite suite, XMLStringBuffer main) { XMLStringBuffer xsb = new XMLStringBuffer(main.getCurrentIndent()); SetMultiMap<Class<?>, ITestNGMethod> map = Maps.newSetMultiMap(); for (ITestNGMethod method : suite.getExcludedMethods()) { map.put(method.getTestClass().getRealClass(), method); } for (Class<?> c : map.keySet()) { xsb.push(D, C, "ignored-class-div"); xsb.addRequired(S, c.getName(), C, "ignored-class-name"); xsb.push(D, C, "ignored-methods-div"); for (ITestNGMethod m : map.get(c)) { xsb.addRequired(S, m.getMethodName(), C, "ignored-method-name"); xsb.addEmptyElement("br"); } xsb.pop(D); xsb.pop(D); } return xsb.toXML(); }
@Override public String getContent(ISuite suite, XMLStringBuffer main) { XMLStringBuffer xsb = new XMLStringBuffer(main.getCurrentIndent()); xsb.push("ul"); for (XmlTest test : suite.getXmlSuite().getTests()) { xsb.push("li"); int count = test.getXmlClasses().size(); String name = test.getName() + " (" + pluralize(count, "class") + ")"; xsb.addRequired(S, name, C, "test-name"); xsb.pop("li"); } xsb.pop("ul"); return xsb.toXML(); }
xsb.addRequired(S, name, C, "method-list-title " + type); xsb.addRequired("a", " (hide)", "href", "#", C, "hide-methods " + type + " " + suiteName, "panel-name", suiteName); xsb.addRequired("a", " (show)", "href", "#",C, "show-methods " + type + " " + suiteName, "panel-name", suiteName); xsb.pop(S); xsb.push(S); xsb.addEmptyElement("img", "src", image, "width", "3%"); xsb.addRequired("a", testName, "href", "#", "hash-for-method", getModel().getTag(tr), "panel-name", suiteName,
@Override public String getContent(ISuite suite, XMLStringBuffer main) { XMLStringBuffer xsb = new XMLStringBuffer(main.getCurrentIndent()); xsb.push(D, C, "times-div"); xsb.push("script", "type", "text/javascript"); xsb.addString(js(suite)); xsb.pop("script"); Long time = m_totalTime.get(suite.getName()); if (time != null) { xsb.addRequired(S, String.format("Total running time: %s", prettyDuration(time)), C, "suite-total-time"); } xsb.push(D, "id", "times-div-" + suiteToTag(suite)); xsb.pop(D); xsb.pop(D); return xsb.toXML(); }
@Override public String getContent(ISuite suite, XMLStringBuffer main) { XMLStringBuffer xsb = new XMLStringBuffer(main.getCurrentIndent()); List<String> sortedGroups = getModel().getGroups(suite.getName()); Collections.sort(sortedGroups); for (String group : sortedGroups) { xsb.push(D, C, "test-group"); xsb.addRequired(S, group, C, "test-group-name"); xsb.addEmptyElement("br"); List<String> sortedMethods = getModel().getMethodsInGroup(group); for (String method : sortedMethods) { xsb.push(D, C, "method-in-group"); xsb.addRequired(S, method, C, "method-in-group-name"); xsb.addEmptyElement("br"); xsb.pop(D); } xsb.pop(D); } return xsb.toXML(); }
private void generateInfo(XMLStringBuffer header, ISuite suite) { // // Info // header.push(D, C, "suite-section-title"); header.addRequired(S, "Info"); header.pop(D); header.push(D, C, "suite-section-content"); header.push("ul"); // All the panels for (INavigatorPanel panel : m_panels) { addLinkTo(header, panel, suite); } header.pop("ul"); header.pop(D); // suite-section-content }
@Override public String getContent(ISuite suite, XMLStringBuffer main) { XMLStringBuffer xsb = new XMLStringBuffer(main.getCurrentIndent()); xsb.push("ul"); for (XmlTest test : suite.getXmlSuite().getTests()) { xsb.push("li"); int count = test.getXmlClasses().size(); String name = test.getName() + " (" + pluralize(count, "class") + ")"; xsb.addRequired(S, name, C, "test-name"); xsb.pop("li"); } xsb.pop("ul"); return xsb.toXML(); }
@Override public String getContent(ISuite suite, XMLStringBuffer main) { XMLStringBuffer xsb = new XMLStringBuffer(main.getCurrentIndent()); xsb.push(D, C, "times-div"); xsb.push("script", "type", "text/javascript"); xsb.addString(js(suite)); xsb.pop("script"); long time = maxTime(suite); xsb.addRequired( S, String.format("Total running time: %s", prettyDuration(time)), C, "suite-total-time"); xsb.push(D, "id", "times-div-" + suiteToTag(suite)); xsb.pop(D); xsb.pop(D); return xsb.toXML(); }
private void generateResult(XMLStringBuffer header, int failed, int skipped, int passed, ISuite suite, String suiteName) { // // Results // header.push(D, C, "result-section"); header.push(D, C, "suite-section-title"); header.addRequired(S, "Results"); header.pop(D); // Method stats int total = failed + skipped + passed; String stats = String.format("%s, %s %s %s", pluralize(total, "method"), maybe(failed, "failed", ", "), maybe(skipped, "skipped", ", "), maybe(passed, "passed", "")); header.push(D, C, "suite-section-content"); header.push("ul"); header.push("li"); header.addOptional(S, stats, C, "method-stats"); header.pop("li"); generateMethodList("Failed methods", new ResultsByStatus(suite, "failed", ITestResult.FAILURE), suiteName, header); generateMethodList("Skipped methods", new ResultsByStatus(suite, "skipped", ITestResult.SKIP), suiteName, header); generateMethodList("Passed methods", new ResultsByStatus(suite, "passed", ITestResult.SUCCESS), suiteName, header); }