From 7b99730e39e4e61041301427f58183d9ca98e0be Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Wed, 14 Sep 2016 17:21:21 +0300 Subject: [PATCH] Test that typealias works with Gradle #KT-13204 Obsolete --- .../kotlin/gradle/KotlinGradlePluginIT.kt | 23 +++++++++++++++++++ .../testProject/typeAlias/build.gradle | 19 +++++++++++++++ .../testProject/typeAlias/gradle.properties | 1 + .../typeAlias/src/main/kotlin/Curry.kt | 8 +++++++ .../typeAlias/src/main/kotlin/Dummy.kt | 3 +++ .../typeAlias/src/main/kotlin/UseCurry.kt | 14 +++++++++++ 6 files changed, 68 insertions(+) create mode 100644 libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/typeAlias/build.gradle create mode 100644 libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/typeAlias/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/typeAlias/src/main/kotlin/Curry.kt create mode 100644 libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/typeAlias/src/main/kotlin/Dummy.kt create mode 100644 libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/typeAlias/src/main/kotlin/UseCurry.kt diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt index 2faab590b55..4af6ce60454 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt @@ -4,6 +4,7 @@ import org.gradle.api.logging.LogLevel import org.jetbrains.kotlin.gradle.plugin.KotlinGradleBuildServices import org.jetbrains.kotlin.gradle.tasks.USING_EXPERIMENTAL_INCREMENTAL_MESSAGE import org.jetbrains.kotlin.gradle.util.getFileByName +import org.jetbrains.kotlin.gradle.util.modify import org.junit.Test import java.io.File import kotlin.test.assertNotEquals @@ -263,4 +264,26 @@ class KotlinGradleIT: BaseGradleIT() { assertContains("Connected to daemon") } } + + @Test + fun testTypeAliasIncremental() { + val project = Project("typeAlias", GRADLE_VERSION) + val options = defaultBuildOptions().copy(incremental = true) + + project.build("build", options = options) { + assertSuccessful() + } + + val curryKt = project.projectDir.getFileByName("Curry.kt") + val useCurryKt = project.projectDir.getFileByName("UseCurry.kt") + + curryKt.modify { + it.replace("class Curry", "internal class Curry") + } + + project.build("build", options = options) { + assertSuccessful() + assertCompiledKotlinSources(project.relativize(curryKt, useCurryKt)) + } + } } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/typeAlias/build.gradle b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/typeAlias/build.gradle new file mode 100644 index 00000000000..4e068e69ab8 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/typeAlias/build.gradle @@ -0,0 +1,19 @@ +buildscript { + ext.kotlin_version = '1.1-SNAPSHOT' + repositories { + maven { url 'file://' + pathToKotlinPlugin } + } + dependencies { + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + } +} + +apply plugin: "kotlin" + +repositories { + maven { url 'file://' + pathToKotlinPlugin } +} + +dependencies { + compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/typeAlias/gradle.properties b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/typeAlias/gradle.properties new file mode 100644 index 00000000000..93ce6a94e63 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/typeAlias/gradle.properties @@ -0,0 +1 @@ +org.gradle.jvmargs=-Xmx1024m -XX:MaxPermSize=512m \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/typeAlias/src/main/kotlin/Curry.kt b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/typeAlias/src/main/kotlin/Curry.kt new file mode 100644 index 00000000000..a2ad9d98f0f --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/typeAlias/src/main/kotlin/Curry.kt @@ -0,0 +1,8 @@ +package foo + +class Curry(private val f: FN2, private val arg1: T) { + typealias FN2 = (T, T) -> R + + operator fun invoke(arg2: T): R = + f(arg1, arg2) +} diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/typeAlias/src/main/kotlin/Dummy.kt b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/typeAlias/src/main/kotlin/Dummy.kt new file mode 100644 index 00000000000..d4782dfc817 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/typeAlias/src/main/kotlin/Dummy.kt @@ -0,0 +1,3 @@ +package foo + +class Dummy diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/typeAlias/src/main/kotlin/UseCurry.kt b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/typeAlias/src/main/kotlin/UseCurry.kt new file mode 100644 index 00000000000..916ed295e5c --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/typeAlias/src/main/kotlin/UseCurry.kt @@ -0,0 +1,14 @@ +package foo + +class UseCurry { + fun test() { + val plus1 = Curry(Plus, 1) + + if (plus1(1) != 2) throw AssertionError() + } + + private object Plus : Curry.FN2 { + override fun invoke(p0: Int, p1: Int): Int = + p0 + p1 + } +} \ No newline at end of file