Fix regex in KotlinPluginCompatibilityVerifier to support release and milestones

This commit is contained in:
Dmitry Savvinov
2020-03-24 15:06:41 +03:00
parent dfaebf3cdb
commit cd440841a5
2 changed files with 53 additions and 18 deletions
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.test
import com.intellij.testFramework.LightPlatformTestCase
import org.jetbrains.kotlin.idea.KotlinPluginUtil
import org.jetbrains.kotlin.idea.KotlinPluginVersion
import org.jetbrains.kotlin.idea.PlatformVersion
import org.junit.runner.RunWith
@@ -16,6 +17,7 @@ class CompatibilityVerifierVersionComparisonTest : LightPlatformTestCase() {
val version = KotlinPluginVersion.parse("1.2.40-dev-193-Studio3.0-1") ?: throw AssertionError("Version should not be null")
assertEquals("1.2.40", version.kotlinVersion)
assertNull(version.milestone)
assertEquals("dev", version.status)
assertEquals("193", version.buildNumber)
assertEquals(PlatformVersion.Platform.ANDROID_STUDIO, version.platformVersion.platform)
@@ -23,7 +25,32 @@ class CompatibilityVerifierVersionComparisonTest : LightPlatformTestCase() {
assertEquals("1", version.patchNumber)
}
fun testReleaseVersionDoesntHaveBuildNumber() {
val version = KotlinPluginVersion.parse("1.2.40-release-Studio3.0-1") ?: throw AssertionError("Version should not be null")
assertNull(version.buildNumber)
}
fun testMilestoneVersion() {
val version = KotlinPluginVersion.parse("1.4-M1-eap-27-IJ2020.1-1") ?: throw AssertionError("Version should not be null")
assertEquals("1.4", version.kotlinVersion)
assertEquals("M1", version.milestone)
assertEquals("eap", version.status)
assertEquals("27", version.buildNumber)
assertEquals(PlatformVersion.Platform.IDEA, version.platformVersion.platform)
assertEquals("2020.1", version.platformVersion.version)
assertEquals("1", version.patchNumber)
}
fun testPlatformVersionParsing() {
PlatformVersion.getCurrent() ?: throw AssertionError("Version should not be null")
}
fun testCurrentPluginVersionParsing() {
val pluginVersion = KotlinPluginUtil.getPluginVersion()
if (pluginVersion == "@snapshot@") return
assertNotNull("Can not parse current Kotlin Plugin version: $pluginVersion", KotlinPluginVersion.getCurrent())
}
}