/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.renderers;
import java.io.File;
import java.io.IOException;
import org.junit.After;
import org.junit.Before;
import net.sourceforge.pmd.PMD;
import net.sourceforge.pmd.Report.ProcessingError;
public class YAHTMLRendererTest extends AbstractRendererTst {
private String outputDir;
@Before
public void setUp() throws IOException {
outputDir = getTemporaryDirectory("pmdtest").getAbsolutePath();
}
@After
public void cleanUp() {
deleteDirectory(new File(outputDir));
}
private File getTemporaryDirectory(String prefix) throws IOException {
// TODO: move to util class?
File dir = File.createTempFile(prefix, "");
dir.delete();
dir.mkdir();
return dir;
}
private void deleteDirectory(File dir) {
// TODO: move to util class?
File[] a = dir.listFiles();
if (a != null) {
for (File f : a) {
if (f.isDirectory()) {
deleteDirectory(f);
} else {
f.delete();
}
}
}
dir.delete();
}
@Override
public Renderer getRenderer() {
Renderer result = new YAHTMLRenderer();
result.setProperty(YAHTMLRenderer.OUTPUT_DIR, outputDir);
return result;
}
@Override
public String getExpected() {
return "<h3 align=\"center\">The HTML files are located in '" + outputDir + "'.</h3>" + PMD.EOL;
}
@Override
public String getExpectedEmpty() {
return getExpected();
}
@Override
public String getExpectedMultiple() {
return getExpected();
}
@Override
public String getExpectedError(ProcessingError error) {
return getExpected();
}
}