Fix location mapping test on Windows

This commit is contained in:
Alexey Tsvetkov
2018-06-21 13:51:55 +03:00
parent 36ced8a6a6
commit 433e742d73
@@ -18,6 +18,7 @@ package org.jetbrains.kotlin.gradle
import org.jetbrains.kotlin.gradle.tasks.USING_INCREMENTAL_COMPILATION_MESSAGE
import org.jetbrains.kotlin.gradle.util.*
import org.junit.Assert
import org.junit.Test
import java.io.File
import java.util.zip.ZipFile
@@ -346,13 +347,22 @@ open class Kapt3IT : Kapt3BaseIT() {
@Test
fun testLocationMapping() {
fun String.modifyNumbers(fn: (Int) -> Int): String =
replace("\\d+".toRegex()) { fn(it.value.toInt()).toString() }
val project = Project("locationMapping", directoryPrefix = "kapt2")
val regex = "((Test\\.java)|(test\\.kt)):(\\d+): error: GenError element".toRegex()
fun CompiledProject.getErrorMessages(): String =
regex.findAll(output)
.map { it.value }
.joinToString("\n") { if (isWindows) it.modifyNumbers { it + 1 } else it }
project.build("build") {
assertFailed()
assertContains("Test.java:9: error: GenError element")
assertContains("Test.java:17: error: GenError element")
val expected = arrayOf(9, 17).joinToString("\n") { "Test.java:$it: error: GenError element" }
Assert.assertEquals(expected, getErrorMessages())
}
project.projectDir.getFileByName("build.gradle").modify {
@@ -362,11 +372,8 @@ open class Kapt3IT : Kapt3BaseIT() {
project.build("build") {
assertFailed()
assertNotContains("Test.java:9: error: GenError element")
assertNotContains("Test.java:17: error: GenError element")
assertContains("test.kt:3: error: GenError element")
assertContains("test.kt:7: error: GenError element")
val expected = arrayOf(3, 7).joinToString("\n") { "test.kt:$it: error: GenError element" }
Assert.assertEquals(expected, getErrorMessages())
}
}