[Gradle, JS] Fix NpmRange string representation with concrete version

^KT-42222 fixed
^KT-40986 fixed
^KT-39838 fixed
This commit is contained in:
Ilya Goncharov
2020-09-29 13:35:33 +03:00
parent 0fa4f0572b
commit 337a66f906
2 changed files with 36 additions and 5 deletions
@@ -609,7 +609,10 @@ abstract class AbstractKotlin2JsGradlePluginIT(private val irBackend: Boolean) :
val packageJson = Gson().fromJson(it, PackageJson::class.java)
val devDep = "42"
val devDepVersion = "0.0.1"
assertTrue("There is expected dev dependency \"$devDep\": \"$devDepVersion\" in package.json") {
assertTrue(
"Dev dependency \"$devDep\": \"$devDepVersion\" in package.json expected, but actual:\n" +
"${packageJson.devDependencies}"
) {
val devDependencies = packageJson.devDependencies
devDependencies
.containsKey(devDep) &&
@@ -618,7 +621,10 @@ abstract class AbstractKotlin2JsGradlePluginIT(private val irBackend: Boolean) :
val dep = "@yworks/optimizer"
val depVersion = "1.0.6"
assertTrue("There is expected dependency \"$dep\": \"$depVersion\" in package.json") {
assertTrue(
"Dependency \"$dep\": \"$depVersion\" in package.json expected, but actual:\n" +
"${packageJson.dependencies}"
) {
val dependencies = packageJson.dependencies
dependencies
.containsKey(dep) &&
@@ -627,7 +633,10 @@ abstract class AbstractKotlin2JsGradlePluginIT(private val irBackend: Boolean) :
val peerDep = "date-arithmetic"
val peerDepVersion = "4.1.0"
assertTrue("There is expected peer dependency \"$peerDep\": \"$peerDepVersion\" in package.json") {
assertTrue(
"Peer dependency \"$peerDep\": \"$peerDepVersion\" in package.json expected, but actual:\n" +
"${packageJson.peerDependencies}"
) {
val peerDependencies = packageJson.peerDependencies
peerDependencies
.containsKey(peerDep) &&
@@ -21,8 +21,30 @@ data class NpmRange(
val endVersion: SemVer? = null,
val endInclusive: Boolean = false
) {
override fun toString(): String =
"${if (startVersion != null) "${if (startInclusive) GTEQ else GT}$startVersion" else ""} ${if (endVersion != null) "${if (endInclusive) LTEQ else LT}$endVersion" else ""}"
override fun toString(): String {
if (startVersion == endVersion && startInclusive && endInclusive) {
return startVersion.toString()
}
val start = if (startVersion != null)
"${if (startInclusive) GTEQ else GT}$startVersion"
else
""
val end = if (endVersion != null)
"${if (endInclusive) LTEQ else LT}$endVersion"
else
""
return if (start.isEmpty())
end
else {
if (end.isEmpty())
start
else
"$start $end"
}
}
override fun equals(other: Any?): Boolean {
if (this === other) return true