Forbid handling dashed in KotlinToolingVersion parsing
This commit is contained in:
+4
-4
@@ -50,10 +50,10 @@ class KotlinToolingVersion(
|
||||
when {
|
||||
classifier == null || classifier.matches(Regex("""(release-)?\d+""")) -> Maturity.STABLE
|
||||
classifier == "snapshot" -> Maturity.SNAPSHOT
|
||||
classifier.matches(Regex("""(rc)(\d*)?(-release)?-?\d*""")) -> Maturity.RC
|
||||
classifier.matches(Regex("""beta(\d*)?(-release)?-?\d*""")) -> Maturity.BETA
|
||||
classifier.matches(Regex("""alpha(\d*)?(-release)?-?\d*""")) -> Maturity.ALPHA
|
||||
classifier.matches(Regex("""m\d+(-release)?(-\d*)?""")) -> Maturity.MILESTONE
|
||||
classifier.matches(Regex("""(rc)(\d*)?(-release)?(-?\d+)?""")) -> Maturity.RC
|
||||
classifier.matches(Regex("""beta(\d*)?(-release)?(-?\d+)?""")) -> Maturity.BETA
|
||||
classifier.matches(Regex("""alpha(\d*)?(-release)?(-?\d+)?""")) -> Maturity.ALPHA
|
||||
classifier.matches(Regex("""m\d+(-release)?(-\d+)?""")) -> Maturity.MILESTONE
|
||||
classifier.matches(Regex("""([a-zA-Z]{3,})(-[a-zA-Z]\w*)*(-\d+)?""")) -> Maturity.DEV
|
||||
else -> throw IllegalArgumentException("Can't infer maturity of KotlinVersion $this")
|
||||
}
|
||||
|
||||
+11
-2
@@ -178,17 +178,26 @@ class KotlinToolingVersionTest {
|
||||
@Test
|
||||
fun maturityWithAdditionalReleaseSuffix() {
|
||||
assertMaturity(MILESTONE, "1.6.20-M1-release")
|
||||
assertMaturity(null, "1.6.20-M1-release1")
|
||||
assertMaturity(MILESTONE, "1.6.20-M1-release-22")
|
||||
assertMaturity(null, "1.6.20-M1-release-", "Forbid handling dash")
|
||||
assertMaturity(ALPHA, "1.6.20-alpha-release")
|
||||
assertMaturity(ALPHA, "1.6.20-alpha-release1")
|
||||
assertMaturity(ALPHA, "1.6.20-alpha-release39")
|
||||
assertMaturity(null, "1.6.20-alpha-release-", "Forbid handling dash")
|
||||
assertMaturity(BETA, "1.6.20-beta2-release")
|
||||
assertMaturity(BETA, "1.6.20-beta2-release1")
|
||||
assertMaturity(BETA, "1.6.20-beta2-release-1")
|
||||
assertMaturity(null, "1.6.20-beta2-release-", "Forbid handling dash")
|
||||
assertMaturity(RC, "1.6.20-rc1-release")
|
||||
assertMaturity(RC, "1.6.20-rc1-release1")
|
||||
assertMaturity(RC, "1.6.20-rc1-release-1")
|
||||
assertMaturity(null, "1.6.20-rc1-release-", "Forbid handling dash")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun invalidMilestoneVersion() {
|
||||
val exception = assertFailsWith<IllegalArgumentException> { KotlinToolingVersion("1.6.20-M") }
|
||||
assertTrue("maturity" in exception.message.orEmpty().toLowerCase(), "Expected 'maturity' issue mentioned in error message")
|
||||
assertMaturity(null, "1.6.20-M")
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user