1package org.testng.reporters.jq;
2
3import org.testng.ISuite;
4import org.testng.reporters.XMLStringBuffer;
5
6import java.util.Collections;
7import java.util.List;
8
9public class GroupPanel extends BaseMultiSuitePanel {
10  public GroupPanel(Model model) {
11    super(model);
12  }
13
14  @Override
15  public String getPrefix() {
16    return "group-";
17  }
18
19  @Override
20  public String getHeader(ISuite suite) {
21    return "Groups for " + suite.getName();
22  }
23
24  @Override
25  public String getContent(ISuite suite, XMLStringBuffer main) {
26    XMLStringBuffer xsb = new XMLStringBuffer(main.getCurrentIndent());
27    List<String> sortedGroups = getModel().getGroups(suite.getName());
28    Collections.sort(sortedGroups);
29    for (String group : sortedGroups) {
30      xsb.push(D, C, "test-group");
31      xsb.addRequired(S, group, C, "test-group-name");
32      xsb.addEmptyElement("br");
33      List<String> sortedMethods = getModel().getMethodsInGroup(group);
34      for (String method : sortedMethods) {
35        xsb.push(D, C, "method-in-group");
36        xsb.addRequired(S, method, C, "method-in-group-name");
37        xsb.addEmptyElement("br");
38        xsb.pop(D);
39      }
40      xsb.pop(D);
41    }
42    return xsb.toXML();
43  }
44
45  @Override
46  public String getNavigatorLink(ISuite suite) {
47    return pluralize(getModel().getGroups(suite.getName()).size(), "group");
48  }
49}
50