aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNahuel Dalla Vecchia <[email protected]>2012-12-14 16:06:15 -0300
committerNahuel Dalla Vecchia <[email protected]>2012-12-14 16:06:15 -0300
commit19fa67e21962968aa8c9ea6fd70fe764079a5ff2 (patch)
tree24e0fceee1763af4bc35b32279fa2f9d1e8c8389
parentbd8fcb032ea865c28af9dd5dcffdfa3d5ebb43cf (diff)
Fix greater than case when comparing patch
-rwxr-xr-x.gitignore3
-rwxr-xr-xapi/src/main/java/org/semver/Version.java18
-rwxr-xr-xapi/src/test/java/org/semver/VersionTest.java1
3 files changed, 14 insertions, 8 deletions
diff --git a/.gitignore b/.gitignore
index 2f7896d..b6cd1d6 100755
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,4 @@
target/
+.classpath
+.project
+.settings
diff --git a/api/src/main/java/org/semver/Version.java b/api/src/main/java/org/semver/Version.java
index e5c1156..7629250 100755
--- a/api/src/main/java/org/semver/Version.java
+++ b/api/src/main/java/org/semver/Version.java
@@ -170,16 +170,18 @@ public final class Version implements Comparable<Version> {
} else if (this.minor == other.minor) {
if (this.patch < other.patch) {
return -1;
- } else if (this.special != null && other.special != null) {
- return this.special.compareTo(other.special);
- } else if (other.special != null) {
- return -1;
- } else if (this.special != null) {
- return 1;
- } // else handled by previous equals check
+ } else if (this.patch == other.patch) {
+ if (this.special != null && other.special != null) {
+ return this.special.compareTo(other.special);
+ } else if (other.special != null) {
+ return -1;
+ } else if (this.special != null) {
+ return 1;
+ } // else handled by previous equals check
+ }
}
}
- return 1;
+ return 1; //if this (major, minor or patch) is > than other
}
@Override
diff --git a/api/src/test/java/org/semver/VersionTest.java b/api/src/test/java/org/semver/VersionTest.java
index 0acf85c..8f4ac79 100755
--- a/api/src/test/java/org/semver/VersionTest.java
+++ b/api/src/test/java/org/semver/VersionTest.java
@@ -93,6 +93,7 @@ public class VersionTest {
@Test
public void isNewer() {
+ Assert.assertTrue(Version.parse("3.2.3").compareTo(Version.parse("3.2-M1-SNAPSHOT")) > 0);
Assert.assertTrue(Version.parse("1.0.0").compareTo(Version.parse("0.0.0")) > 0);
Assert.assertTrue(Version.parse("0.0.0").compareTo(Version.parse("1.0.0")) < 0);
Assert.assertTrue(Version.parse("1.1.0").compareTo(Version.parse("1.0.0")) > 0);