Author: jdcasey
Date: Thu Jan 31 18:14:09 2008
New Revision: 617331

URL: http://svn.apache.org/viewvc?rev=617331&view=rev
Log:
[MNG-2145] Adding more unit tests from trunk revId: 617330

Added:
    
maven/components/branches/maven-2.0.x/maven-project/src/test/resources/projects/duplicate-plugins-merged-pom.xml
   (with props)
Modified:
    
maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
    
maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/ModelUtilsTest.java

Modified: 
maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
URL: 
http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java?rev=617331&r1=617330&r2=617331&view=diff
==============================================================================
--- 
maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
 (original)
+++ 
maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
 Thu Jan 31 18:14:09 2008
@@ -28,6 +28,7 @@
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.DefaultArtifactRepository;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.model.Plugin;
 import org.apache.maven.model.Profile;
 import org.apache.maven.model.Repository;
 import org.apache.maven.profiles.DefaultProfileManager;
@@ -161,6 +162,17 @@
         getProject( f2 );
     }
     
+     public void testDuplicatePluginDefinitionsMerged()
+         throws Exception
+     {
+         File f1 = getTestFile( 
"src/test/resources/projects/duplicate-plugins-merged-pom.xml" );
+ 
+         MavenProject project = getProject( f1 );
+ 
+         assertEquals( 2, ( (Plugin) project.getBuildPlugins().get( 0 ) 
).getDependencies().size() );
+     }
+ 
+       
     protected ArtifactRepository getLocalRepository()
         throws Exception
     {

Modified: 
maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/ModelUtilsTest.java
URL: 
http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/ModelUtilsTest.java?rev=617331&r1=617330&r2=617331&view=diff
==============================================================================
--- 
maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/ModelUtilsTest.java
 (original)
+++ 
maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/ModelUtilsTest.java
 Thu Jan 31 18:14:09 2008
@@ -37,6 +37,33 @@
     extends TestCase
 {
     
+    public void testShouldUseMainPluginDependencyVersionOverManagedDepVersion()
+    {
+        Plugin mgtPlugin = createPlugin( "group", "artifact", "1", 
Collections.EMPTY_MAP );
+        Dependency mgtDep = createDependency( "g", "a", "2" );
+        mgtPlugin.addDependency( mgtDep );
+
+        Plugin plugin = createPlugin( "group", "artifact", "1", 
Collections.EMPTY_MAP );
+        Dependency dep = createDependency( "g", "a", "1" );
+        plugin.addDependency( dep );
+
+        ModelUtils.mergePluginDefinitions( plugin, mgtPlugin, false );
+
+        assertEquals( dep.getVersion(), ((Dependency) 
plugin.getDependencies().get( 0 ) ).getVersion() );
+    }
+
+    private Dependency createDependency( String gid,
+                                         String aid,
+                                         String ver )
+    {
+        Dependency dep = new Dependency();
+        dep.setGroupId( gid );
+        dep.setArtifactId( aid );
+        dep.setVersion( ver );
+
+        return dep;
+    }
+
     public void testShouldNotInheritPluginWithInheritanceSetToFalse()
     {
         PluginContainer parent = new PluginContainer();
@@ -402,5 +429,30 @@
         assertEquals( 1, child.getDependencies().size() );
         Dependency dep2 = (Dependency) child.getDependencies().get( 0 );
         assertEquals( dep.getManagementKey(), dep2.getManagementKey() );
+    }
+
+    public void testShouldMergeTwoPluginDependenciesOnMergeDupePluginDefs()
+    {
+        PluginContainer first = new PluginContainer();
+        Plugin fPlugin = createPlugin( "g", "a", "1", Collections.EMPTY_MAP );
+        Dependency fDep = new Dependency();
+        fDep.setGroupId( "group" );
+        fDep.setArtifactId( "artifact" );
+        fDep.setVersion( "1" );
+
+        first.addPlugin( fPlugin );
+        fPlugin.addDependency( fDep );
+
+        Plugin sPlugin = createPlugin( "g", "a", "1", Collections.EMPTY_MAP );
+        Dependency sDep = new Dependency();
+        sDep.setGroupId( "group" );
+        sDep.setArtifactId( "artifact2" );
+        sDep.setVersion( "1" );
+        first.addPlugin( sPlugin );
+        sPlugin.addDependency( sDep );
+
+        ModelUtils.mergeDuplicatePluginDefinitions( first );
+
+        assertEquals( 2, ((Plugin)first.getPlugins().get( 0 ) 
).getDependencies().size() );
     }
 }

Added: 
maven/components/branches/maven-2.0.x/maven-project/src/test/resources/projects/duplicate-plugins-merged-pom.xml
URL: 
http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/test/resources/projects/duplicate-plugins-merged-pom.xml?rev=617331&view=auto
==============================================================================
--- 
maven/components/branches/maven-2.0.x/maven-project/src/test/resources/projects/duplicate-plugins-merged-pom.xml
 (added)
+++ 
maven/components/branches/maven-2.0.x/maven-project/src/test/resources/projects/duplicate-plugins-merged-pom.xml
 Thu Jan 31 18:14:09 2008
@@ -0,0 +1,32 @@
+<project>
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>tests.project</groupId>
+    <artifactId>duplicate-plugin-defs-merged</artifactId>
+    <version>1</version>
+    
+    <build>
+      <plugins>
+        <plugin>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <dependencies>
+            <dependency>
+              <groupId>group</groupId>
+              <artifactId>first</artifactId>
+              <version>1</version>
+            </dependency>
+          </dependencies>
+        </plugin>
+        <plugin>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <dependencies>
+            <dependency>
+              <groupId>group</groupId>
+              <artifactId>second</artifactId>
+              <version>1</version>
+            </dependency>
+          </dependencies>
+        </plugin>
+      </plugins>
+    </build>
+    
+</project>

Propchange: 
maven/components/branches/maven-2.0.x/maven-project/src/test/resources/projects/duplicate-plugins-merged-pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/components/branches/maven-2.0.x/maven-project/src/test/resources/projects/duplicate-plugins-merged-pom.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"


Reply via email to