diff --git a/core/src/main/java/io/bitsquare/alert/Alert.java b/core/src/main/java/io/bitsquare/alert/Alert.java index ab2fef7bd6..0d27ce2cb5 100644 --- a/core/src/main/java/io/bitsquare/alert/Alert.java +++ b/core/src/main/java/io/bitsquare/alert/Alert.java @@ -17,6 +17,7 @@ package io.bitsquare.alert; +import com.google.common.annotations.VisibleForTesting; import io.bitsquare.app.Version; import io.bitsquare.common.crypto.Sig; import io.bitsquare.p2p.storage.payload.StoragePayload; @@ -69,9 +70,14 @@ public final class Alert implements StoragePayload { } public boolean isNewVersion() { + return isNewVersion(Version.VERSION); + } + + @VisibleForTesting + protected boolean isNewVersion(String appVersion) { // Usually we use 3 digits (0.4.8) but to support also 4 digits in case of hotfixes (0.4.8.1) we // add a 0 at all 3 digit versions to allow correct comparison: 0.4.8 -> 480; 0.4.8.1 -> 481; 481 > 480 - String myVersionString = Version.VERSION.replace(".", ""); + String myVersionString = appVersion.replace(".", ""); if (myVersionString.length() == 3) myVersionString += "0"; int versionNum = Integer.valueOf(myVersionString); diff --git a/core/src/test/java/io/bitsquare/alert/AlertTest.java b/core/src/test/java/io/bitsquare/alert/AlertTest.java new file mode 100644 index 0000000000..5dbbf52574 --- /dev/null +++ b/core/src/test/java/io/bitsquare/alert/AlertTest.java @@ -0,0 +1,50 @@ +/* + * This file is part of Bitsquare. + * + * Bitsquare is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bitsquare is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bitsquare. If not, see . + */ + +package io.bitsquare.alert; + +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +public class AlertTest { + private static final Logger log = LoggerFactory.getLogger(AlertTest.class); + + @Test + public void testIsNewVersion() { + Alert alert = new Alert(null, true, "0.4.9.9.1"); + assertTrue(alert.isNewVersion("0.4.9.9")); + assertTrue(alert.isNewVersion("0.4.9.8")); + assertTrue(alert.isNewVersion("0.4.9")); + assertTrue(alert.isNewVersion("0.4.9.9.0")); + assertFalse(alert.isNewVersion("0.4.9.9.1")); + + alert = new Alert(null, true, "0.4.9.9.2"); + assertTrue(alert.isNewVersion("0.4.9.9.1")); + assertFalse(alert.isNewVersion("0.4.9.9.2")); + assertTrue(alert.isNewVersion("0.4.9.8")); + assertTrue(alert.isNewVersion("0.4.9")); + + alert = new Alert(null, true, "0.4.9.9"); + assertTrue(alert.isNewVersion("0.4.9")); + assertTrue(alert.isNewVersion("0.4.9.8")); + assertFalse(alert.isNewVersion("0.4.9.9")); + } +}