1   package org.apache.maven.project;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *  http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  import org.apache.maven.model.Build;
23  import org.apache.maven.model.Resource;
24  
25  import java.io.File;
26  
27  public class ProjectBaseDirectoryAlignmentTest
28      extends AbstractMavenProjectTestCase
29  {
30      private String dir = "src/test/resources/projects/base-directory-alignment/";
31  
32      public void testProjectDirectoryBaseDirectoryAlignment()
33          throws Exception
34      {
35          File f = getTestFile( dir + "project-which-needs-directory-alignment.xml" );
36  
37          MavenProject project = getProject( f );
38  
39          assertNotNull( "Test project can't be null!", project );
40  
41          File basedirFile = new File( getBasedir() );
42          File sourceDirectoryFile = new File( project.getBuild().getSourceDirectory() );
43          File testSourceDirectoryFile = new File( project.getBuild().getTestSourceDirectory() );
44  
45          assertEquals( basedirFile.getCanonicalPath(), sourceDirectoryFile.getCanonicalPath().substring( 0, getBasedir().length() ) );
46  
47          assertEquals( basedirFile.getCanonicalPath(), testSourceDirectoryFile.getCanonicalPath().substring( 0, getBasedir().length() ) );
48  
49          Build build = project.getBuild();
50  
51          Resource resource = (Resource) build.getResources().get( 0 );
52  
53          assertTrue( resource.getDirectory().startsWith( getBasedir() ) );
54      }
55  }