You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2007/03/15 02:18:53 UTC
svn commit: r518422 - in
/maven/plugins/branches/maven-artifact-version-range-fix/src:
main/java/org/apache/maven/artifact/versioning/VersionRange.java
test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java
Author: brianf
Date: Wed Mar 14 18:18:52 2007
New Revision: 518422
URL: http://svn.apache.org/viewvc?view=rev&rev=518422
Log:
tests and fixes for versionrange.contains with a singular version
Modified:
maven/plugins/branches/maven-artifact-version-range-fix/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java
maven/plugins/branches/maven-artifact-version-range-fix/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java
Modified: maven/plugins/branches/maven-artifact-version-range-fix/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-artifact-version-range-fix/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java?view=diff&rev=518422&r1=518421&r2=518422
==============================================================================
--- maven/plugins/branches/maven-artifact-version-range-fix/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java (original)
+++ maven/plugins/branches/maven-artifact-version-range-fix/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java Wed Mar 14 18:18:52 2007
@@ -533,13 +533,24 @@
public boolean containsVersion( ArtifactVersion version )
{
boolean matched = false;
- for ( Iterator i = restrictions.iterator(); i.hasNext() && !matched; )
+
+ if ( this.recommendedVersion == null )
{
- Restriction restriction = (Restriction) i.next();
- if ( restriction.containsVersion( version ) )
+
+ for ( Iterator i = restrictions.iterator(); i.hasNext() && !matched; )
{
- matched = true;
+ Restriction restriction = (Restriction) i.next();
+ if ( restriction.containsVersion( version ) )
+ {
+ matched = true;
+ }
}
+ }
+ else
+ {
+// only singular versions ever have a recommendedVersion
+ int compareTo = recommendedVersion.compareTo( version );
+ matched = (compareTo == 0);
}
return matched;
}
Modified: maven/plugins/branches/maven-artifact-version-range-fix/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-artifact-version-range-fix/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java?view=diff&rev=518422&r1=518421&r2=518422
==============================================================================
--- maven/plugins/branches/maven-artifact-version-range-fix/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java (original)
+++ maven/plugins/branches/maven-artifact-version-range-fix/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java Wed Mar 14 18:18:52 2007
@@ -19,10 +19,10 @@
* under the License.
*/
-import junit.framework.TestCase;
-
import java.util.List;
+import junit.framework.TestCase;
+
/**
* Tests version range construction.
*
@@ -67,6 +67,7 @@
assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() );
assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+ //why is this not the same as the test above? Is 1.0 not the same as [1.0] in functionality?
range = VersionRange.createFromVersionSpec( "[1.0]" );
restrictions = range.getRestrictions();
assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
@@ -624,6 +625,29 @@
assertEquals( CHECK_NUM_RESTRICTIONS, 0, restrictions.size() );
}
+ public void testContains() throws InvalidVersionSpecificationException
+ {
+ ArtifactVersion actualVersion = new DefaultArtifactVersion( "2.0.5" );
+ assertTrue( enforceVersion( "2.0.5", actualVersion ) );
+ assertTrue( enforceVersion( "[2.0.5]", actualVersion ) );
+ assertFalse( enforceVersion( "2.0.6", actualVersion ) );
+ assertFalse( enforceVersion( "[2.0.6]", actualVersion ) );
+ assertTrue( enforceVersion( "[2.0,2.1]", actualVersion ) );
+ assertFalse( enforceVersion( "[2.0,2.0.3]", actualVersion ) );
+ assertTrue( enforceVersion( "[2.0,2.0.5]", actualVersion ) );
+ assertFalse( enforceVersion( "[2.0,2.0.5)", actualVersion ) );
+ }
+
+ public boolean enforceVersion( String requiredVersionRange, ArtifactVersion actualVersion )
+ throws InvalidVersionSpecificationException
+ {
+ VersionRange vr = null;
+
+ vr = VersionRange.createFromVersionSpec( requiredVersionRange );
+
+ return vr.containsVersion( actualVersion );
+ }
+
private void checkInvalidRange( String version )
{
try