1   package test.net.sourceforge.pmd.renderers;
2   
3   import net.sourceforge.pmd.PMD;
4   import net.sourceforge.pmd.Report.ProcessingError;
5   import net.sourceforge.pmd.renderers.AbstractRenderer;
6   import net.sourceforge.pmd.renderers.SummaryHTMLRenderer;
7   
8   public class SummaryHTMLRendererTest extends AbstractRendererTst {
9   
10      public AbstractRenderer getRenderer() {
11          return new SummaryHTMLRenderer();
12      }
13  
14      public String getExpected() {
15          return "<html><head><title>PMD</title></head><body>" + PMD.EOL + 
16                  "<h2><center>Summary</h2></center><table align=\"center\" cellspacing=\"0\" cellpadding=\"3\"><th>Rule name</th><th>Number of violations</th><tr><td>Foo</td><td align=center>1</td></tr></table><h2><center>Detail</h2></center><table align=\"center\" cellspacing=\"0\" cellpadding=\"3\"><tr>" + PMD.EOL + 
17                  "<center><h3>PMD report</h3></center><center><h3>Problems found</h3></center><table align=\"center\" cellspacing=\"0\" cellpadding=\"3\"><tr>" + PMD.EOL + 
18                  "<th>#</th><th>File</th><th>Line</th><th>Problem</th></tr>" + PMD.EOL + 
19                  "<tr bgcolor=\"lightgrey\"> " + PMD.EOL + 
20                  "<td align=\"center\">1</td>" + PMD.EOL + 
21                  "<td width=\"*%\">n/a</td>" + PMD.EOL + 
22                  "<td align=\"center\" width=\"5%\">1</td>" + PMD.EOL + 
23                  "<td width=\"*\">msg</td>" + PMD.EOL + 
24                  "</tr>" + PMD.EOL + 
25                  "</table></table></body></html>";
26  
27      }
28  
29      public String getExpectedEmpty() {
30          return "<html><head><title>PMD</title></head><body>" + PMD.EOL + 
31          "<h2><center>Summary</h2></center><table align=\"center\" cellspacing=\"0\" cellpadding=\"3\"><th>Rule name</th><th>Number of violations</th></table><h2><center>Detail</h2></center><table align=\"center\" cellspacing=\"0\" cellpadding=\"3\"><tr>" + PMD.EOL + 
32          "<center><h3>PMD report</h3></center><center><h3>Problems found</h3></center><table align=\"center\" cellspacing=\"0\" cellpadding=\"3\"><tr>" + PMD.EOL + 
33          "<th>#</th><th>File</th><th>Line</th><th>Problem</th></tr>" + PMD.EOL + 
34          "</table></table></body></html>";
35      }
36      
37      public String getExpectedMultiple() {
38          return "<html><head><title>PMD</title></head><body>" + PMD.EOL + 
39          "<h2><center>Summary</h2></center><table align=\"center\" cellspacing=\"0\" cellpadding=\"3\"><th>Rule name</th><th>Number of violations</th><tr><td>Foo</td><td align=center>2</td></tr></table><h2><center>Detail</h2></center><table align=\"center\" cellspacing=\"0\" cellpadding=\"3\"><tr>" + PMD.EOL + 
40          "<center><h3>PMD report</h3></center><center><h3>Problems found</h3></center><table align=\"center\" cellspacing=\"0\" cellpadding=\"3\"><tr>" + PMD.EOL + 
41          "<th>#</th><th>File</th><th>Line</th><th>Problem</th></tr>" + PMD.EOL + 
42          "<tr bgcolor=\"lightgrey\"> " + PMD.EOL + 
43          "<td align=\"center\">1</td>" + PMD.EOL + 
44          "<td width=\"*%\">n/a</td>" + PMD.EOL + 
45          "<td align=\"center\" width=\"5%\">1</td>" + PMD.EOL + 
46          "<td width=\"*\">msg</td>" + PMD.EOL + 
47          "</tr>" + PMD.EOL + 
48          "<tr> " + PMD.EOL + 
49          "<td align=\"center\">2</td>" + PMD.EOL + 
50          "<td width=\"*%\">n/a</td>" + PMD.EOL + 
51          "<td align=\"center\" width=\"5%\">1</td>" + PMD.EOL + 
52          "<td width=\"*\">msg</td>" + PMD.EOL + 
53          "</tr>" + PMD.EOL + 
54          "</table></table></body></html>";
55      }
56  
57      public String getExpectedError(ProcessingError error) {
58          return "<html><head><title>PMD</title></head><body>" + PMD.EOL + 
59          "<h2><center>Summary</h2></center><table align=\"center\" cellspacing=\"0\" cellpadding=\"3\"><th>Rule name</th><th>Number of violations</th></table><h2><center>Detail</h2></center><table align=\"center\" cellspacing=\"0\" cellpadding=\"3\"><tr>" + PMD.EOL + 
60          "<center><h3>PMD report</h3></center><center><h3>Problems found</h3></center><table align=\"center\" cellspacing=\"0\" cellpadding=\"3\"><tr>" + PMD.EOL + 
61          "<th>#</th><th>File</th><th>Line</th><th>Problem</th></tr>" + PMD.EOL + 
62          "</table><hr/><center><h3>Processing errors</h3></center><table align=\"center\" cellspacing=\"0\" cellpadding=\"3\"><tr>" + PMD.EOL + 
63          "<th>File</th><th>Problem</th></tr>" + PMD.EOL + 
64          "<tr bgcolor=\"lightgrey\"> " + PMD.EOL + 
65          "<td>file</td>" + PMD.EOL + 
66          "<td>Error</td>" + PMD.EOL + 
67          "</tr>" + PMD.EOL + 
68          "</table></table></body></html>";
69      }
70  
71      public static junit.framework.Test suite() {
72          return new junit.framework.JUnit4TestAdapter(SummaryHTMLRendererTest.class);
73      }
74  }
75  
76  
77