Add test for code using internal compiled incrementally

The issue was fixed during refactoring

    #KT-12923 fixed
This commit is contained in:
Alexey Tsvetkov
2016-07-26 16:48:06 +03:00
parent 2e3b3da029
commit 815e297328
4 changed files with 45 additions and 0 deletions
@@ -2,6 +2,7 @@ package org.jetbrains.kotlin.gradle
import org.jetbrains.kotlin.gradle.util.allJavaFiles
import org.jetbrains.kotlin.gradle.util.getFileByName
import org.jetbrains.kotlin.gradle.util.modify
import org.junit.Test
class KaptIT: BaseGradleIT() {
@@ -180,4 +181,24 @@ class KaptIT: BaseGradleIT() {
assertFileExists("build/classes/main/example/TestClassCustomized.class")
}
}
@Test
fun testInternalUserIsModifiedStubsIC() {
val options = defaultBuildOptions().copy(incremental = true)
val project = Project("kaptStubs", GRADLE_VERSION)
project.build("build", options = options) {
assertSuccessful()
}
val internalDummyUserKt = project.projectDir.getFileByName("InternalDummyUser.kt")
internalDummyUserKt.modify { it + " " }
val internalDummyTestKt = project.projectDir.getFileByName("InternalDummyTest.kt")
internalDummyTestKt.modify { it + " " }
project.build("build", options = options) {
assertSuccessful()
assertCompiledKotlinSources(project.relativize(internalDummyUserKt, internalDummyTestKt))
}
}
}
@@ -0,0 +1,5 @@
package foo
internal class InternalDummy {
internal val x = "InternalDummy.x"
}
@@ -0,0 +1,7 @@
package foo
internal class InternalDummyUser {
internal fun use(dummy: InternalDummy) {
if (dummy.x != "InternalDummy.x") throw AssertionError("dummy.x = ${dummy.x}")
}
}
@@ -0,0 +1,12 @@
package foo
import org.junit.Test
class InternalDummyTest {
@Test
fun testDummy() {
val dummy = InternalDummy()
val dummyUser = InternalDummyUser()
dummyUser.use(dummy)
}
}