Skip to content

Commit

Permalink
Merge pull request #186 from gastaldi/master
Browse files Browse the repository at this point in the history
FORGE-624: Reading source folder from POM and added unit tests
  • Loading branch information
gastaldi committed Aug 8, 2012
2 parents 6ecb8d0 + e2acb63 commit ae47b77
Show file tree
Hide file tree
Showing 3 changed files with 88 additions and 10 deletions.
Expand Up @@ -22,6 +22,11 @@

package org.jboss.forge.maven.facets;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

import javax.inject.Singleton;

import org.jboss.arquillian.junit.Arquillian;
import org.jboss.forge.parser.JavaParser;
import org.jboss.forge.parser.java.JavaClass;
Expand All @@ -33,17 +38,12 @@
import org.junit.Test;
import org.junit.runner.RunWith;

import javax.inject.Singleton;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

/**
* @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
*/
@Singleton
@RunWith(Arquillian.class)
public class MavenJavaSourceFacetImplTest extends AbstractShellTest
public class JavaSourceFacetTest extends AbstractShellTest
{
private static final String PKG = "com.test";

Expand Down
@@ -0,0 +1,63 @@
package org.jboss.forge.maven.facets;

import java.io.File;

import org.jboss.forge.maven.resources.MavenPomResource;
import org.jboss.forge.project.Project;
import org.jboss.forge.resources.DirectoryResource;
import org.jboss.forge.test.AbstractShellTest;
import org.junit.Assert;
import org.junit.Test;

public class MavenJavaSourceFacetTest extends AbstractShellTest
{
@Test
public void testDefaultSourceFolder() throws Exception
{
Project project = initializeJavaProject();
MavenJavaSourceFacet facet = project.getFacet(MavenJavaSourceFacet.class);
DirectoryResource expected = project.getProjectRoot().getChildDirectory(
"src" + File.separator + "main" + File.separator + "java");
Assert.assertEquals(expected.getFullyQualifiedName(), facet.getSourceFolder().getFullyQualifiedName());
}

@Test
public void testDefaultTestSourceFolder() throws Exception
{
Project project = initializeJavaProject();
MavenJavaSourceFacet facet = project.getFacet(MavenJavaSourceFacet.class);
DirectoryResource expected = project.getProjectRoot().getChildDirectory(
"src" + File.separator + "test" + File.separator + "java");
Assert.assertEquals(expected.getFullyQualifiedName(), facet.getTestSourceFolder().getFullyQualifiedName());
}

@Test
public void testCustomSourceFolder() throws Exception
{
Project project = initializeJavaProject();

MavenPomResource pom = project.getProjectRoot().getChild("pom.xml").reify(MavenPomResource.class);

pom.setContents("<project><modelVersion>4.0.0.</modelVersion><groupId>com.test</groupId><artifactId>testme</artifactId><version>1.0</version><build><sourceDirectory>src</sourceDirectory></build></project>");

MavenJavaSourceFacet facet = project.getFacet(MavenJavaSourceFacet.class);
DirectoryResource expected = project.getProjectRoot().getChildDirectory(
"src");
Assert.assertEquals(expected.getFullyQualifiedName(), facet.getSourceFolder().getFullyQualifiedName());
}

@Test
public void testCustomTestSourceFolder() throws Exception
{
Project project = initializeJavaProject();

MavenPomResource pom = project.getProjectRoot().getChild("pom.xml").reify(MavenPomResource.class);

pom.setContents("<project><modelVersion>4.0.0.</modelVersion><groupId>com.test</groupId><artifactId>testme</artifactId><version>1.0</version><build><testSourceDirectory>test</testSourceDirectory></build></project>");

MavenJavaSourceFacet facet = project.getFacet(MavenJavaSourceFacet.class);
DirectoryResource expected = project.getProjectRoot().getChildDirectory(
"test");
Assert.assertEquals(expected.getFullyQualifiedName(), facet.getTestSourceFolder().getFullyQualifiedName());
}
}
Expand Up @@ -111,22 +111,37 @@ public DirectoryResource getBasePackageResource()
@Override
public DirectoryResource getSourceFolder()
{
MavenCoreFacet mavenFacet = project.getFacet(MavenCoreFacet.class);
Build build = mavenFacet.getPOM().getBuild();
String srcFolderName;
if (build != null && build.getSourceDirectory() != null) {
srcFolderName = build.getSourceDirectory();
} else {
srcFolderName = "src" + File.separator + "main" + File.separator + "java";
}
DirectoryResource projectRoot = project.getProjectRoot();
return projectRoot.getChildDirectory("src" + File.separator + "main" + File.separator + "java");
return projectRoot.getChildDirectory(srcFolderName);
}

@Override
public DirectoryResource getTestSourceFolder()
{
MavenCoreFacet mavenFacet = project.getFacet(MavenCoreFacet.class);
Build build = mavenFacet.getPOM().getBuild();
String srcFolderName;
if (build != null && build.getTestSourceDirectory() != null) {
srcFolderName = build.getTestSourceDirectory();
} else {
srcFolderName = "src" + File.separator + "test" + File.separator + "java";
}
DirectoryResource projectRoot = project.getProjectRoot();
return projectRoot.getChildDirectory("src" + File.separator + "test" + File.separator + "java");
return projectRoot.getChildDirectory(srcFolderName);
}

@Override
public boolean isInstalled()
{
MavenCoreFacet mavenFacet = project.getFacet(MavenCoreFacet.class);
return getSourceFolder().exists() && (mavenFacet != null) && mavenFacet.isInstalled();
return getSourceFolder().exists();
}

@Override
Expand Down

0 comments on commit ae47b77

Please sign in to comment.