package org.codehaus.mojo.fit;
import java.io.File;
import java.util.Arrays;
import junit.framework.TestCase;
public class FitRunnerMojoTest
extends TestCase
{
protected String testSrcDir;
private String sourceDirectory;
private String outputDirectory;
private FitRunnerMojo mojo;
public void setUp()
throws Exception
{
setTestDir();
sourceDirectory = testSrcDir + "/org/codehaus/mojo/fit/input";
outputDirectory = "target/fit";
mojo = new FitRunnerMojo();
mojo.sourceDirectory = sourceDirectory;
mojo.sourceIncludes="**/*.html";
mojo.outputDirectory = outputDirectory;
}
protected void setTestDir()
{
testSrcDir = System.getProperty( "test.src.dir" );
if ( testSrcDir == null )
{
testSrcDir = "src/test/java";
}
else if ( !testSrcDir.endsWith( File.separator ) )
{
testSrcDir = testSrcDir + File.separator;
}
}
public void testGoalCanBeExecuted()
throws Exception
{
mojo.execute();
}
public void testCanRunWithFilePaths()
throws Exception
{
String out = outputDirectory + "/Fit.html";
mojo.run( sourceDirectory + "/Fit.html", out );
assertOutputFile( new File( out ) );
}
public void testCanRunWithFiles()
throws Exception
{
File out = new File( outputDirectory + "/Fit.html" );
mojo.run( new File( sourceDirectory + "/Fit.html" ), out );
assertOutputFile( out );
}
private void assertOutputFile( File out )
{
assertTrue( out.exists() );
assertTrue( out.length() > 0 );
}
public void testFilesCanBeFiltered()
throws Exception
{
String[] files = mojo.listFiles( sourceDirectory, true, "**/*.html", "**/Acc*" );
assertEquals( Arrays.asList( new String[] { "Fit.html" } ), Arrays.asList( files ) );
}
public void testPathCanBeDetermined()
throws Exception
{
String output = mojo.toPath( outputDirectory, "Fit.html" );
assertEquals( outputDirectory + "/Fit.html", output.replaceAll("\\\\", "/" ) );
}
}