package net.kentonc.si import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse import org.junit.Assert.assertTrue import org.junit.Test /** Sanity checks for the self-update version comparison (UpdateManager.kt). */ class UpdateVersionTest { @Test fun newerPatch() { assertTrue(UpdateManager.isVersionNewer("0.2.4", "0.2.3")) assertFalse(UpdateManager.isVersionNewer("0.2.3", "0.2.4")) } @Test fun equalIsNotNewer() { assertFalse(UpdateManager.isVersionNewer("0.2.3", "0.2.3")) } @Test fun missingSegmentsPadWithZero() { assertTrue(UpdateManager.isVersionNewer("0.3", "0.2.9")) assertFalse(UpdateManager.isVersionNewer("0.2", "0.2.3")) } @Test fun nonNumericHubVersionNeverNags() { // A hub version we can't parse must not nag. assertFalse(UpdateManager.isVersionNewer("latest", "0.2.3")) } @Test fun nonNumericLocalCanAlwaysUpdate() { // A non-numeric local build (e.g. a dev install) should see the update. assertTrue(UpdateManager.isVersionNewer("0.2.4", "dev")) } @Test fun majorAxes() { assertTrue(UpdateManager.isVersionNewer("1.0.0", "0.9.9")) assertTrue(UpdateManager.isVersionNewer("0.10.0", "0.9.0")) } }