1 package net.sourceforge.pmd.renderers;
2
3 import java.io.File;
4 import java.io.IOException;
5
6 import net.sourceforge.pmd.PMD;
7 import net.sourceforge.pmd.Report.ProcessingError;
8
9 import org.junit.After;
10 import org.junit.Before;
11
12 public class YAHTMLRendererTest extends AbstractRendererTst {
13
14 private String outputDir;
15
16 @Before
17 public void setUp() throws IOException {
18 outputDir = getTemporaryDirectory("pmdtest").getAbsolutePath();
19 }
20
21 @After
22 public void cleanUp() {
23 deleteDirectory(new File(outputDir));
24 }
25
26 private File getTemporaryDirectory(String prefix) throws IOException {
27
28 File dir = File.createTempFile(prefix, "");
29 dir.delete();
30 dir.mkdir();
31 return dir;
32 }
33
34 private void deleteDirectory(File dir) {
35
36 File[] a = dir.listFiles();
37 if (a != null) {
38 for (File f: a) {
39 if (f.isDirectory()) {
40 deleteDirectory(f);
41 } else {
42 f.delete();
43 }
44 }
45 }
46 dir.delete();
47 }
48
49 @Override
50 public Renderer getRenderer() {
51 Renderer result = new YAHTMLRenderer();
52 result.setProperty(YAHTMLRenderer.OUTPUT_DIR, outputDir);
53 return result;
54 }
55
56 @Override
57 public String getExpected() {
58 return "<h3 align=\"center\">The HTML files are located in '" + outputDir + "'.</h3>" + PMD.EOL;
59 }
60
61 @Override
62 public String getExpectedEmpty() {
63 return getExpected();
64 }
65
66 @Override
67 public String getExpectedMultiple() {
68 return getExpected();
69 }
70
71 @Override
72 public String getExpectedError(ProcessingError error) {
73 return getExpected();
74 }
75
76 public static junit.framework.Test suite() {
77 return new junit.framework.JUnit4TestAdapter(YAHTMLRendererTest.class);
78 }
79 }