diff options
Diffstat (limited to 'plugins/kotlin-as-java/src/test/kotlin/JvmFieldTest.kt')
-rw-r--r-- | plugins/kotlin-as-java/src/test/kotlin/JvmFieldTest.kt | 170 |
1 files changed, 0 insertions, 170 deletions
diff --git a/plugins/kotlin-as-java/src/test/kotlin/JvmFieldTest.kt b/plugins/kotlin-as-java/src/test/kotlin/JvmFieldTest.kt deleted file mode 100644 index 6167e13a..00000000 --- a/plugins/kotlin-as-java/src/test/kotlin/JvmFieldTest.kt +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. - */ - -package kotlinAsJavaPlugin - -import org.jetbrains.dokka.base.testApi.testRunner.BaseAbstractTest -import org.jetbrains.dokka.model.AdditionalModifiers -import org.jetbrains.dokka.model.ExtraModifiers -import org.jetbrains.dokka.model.JavaVisibility -import kotlin.test.* - -class JvmFieldTest : BaseAbstractTest() { - val configuration = dokkaConfiguration { - sourceSets { - sourceSet { - sourceRoots = listOf("src/") - classpath += jvmStdlibPath!! - } - } - } - - @Test - fun `should keep properties annotated with JvmField as properties`() { - testInline( - """ - |/src/main/kotlin/kotlinAsJavaPlugin/sample.kt - |package kotlinAsJavaPlugin - |class SampleClass(@JvmField val property: String, val otherProperty: String) - """.trimMargin(), - configuration, - ) { - documentablesTransformationStage = { module -> - val classLike = module.packages.flatMap { it.classlikes }.first() - assertNotNull(classLike.properties.firstOrNull { it.name == "property" }) - assertEquals( - listOf("getOtherProperty"), - classLike.functions.map { it.name }) - } - } - } - - @Test - fun `should work for top-level property`(){ - testInline( - """ - |/src/main/kotlin/kotlinAsJavaPlugin/sample.kt - |package kotlinAsJavaPlugin - |@JvmField - |val property: String = TODO() - """.trimMargin(), - configuration, - ) { - documentablesTransformationStage = { module -> - val classLike = module.packages.flatMap { it.classlikes }.first() - assertNotNull(classLike.properties.firstOrNull { it.name == "property" }) - assertEquals( - emptyList(), - classLike.functions.map { it.name }) - } - } - } - - @Test - fun `properties without JvmName should be kept private`() { - testInline( - """ - |/src/main/kotlin/kotlinAsJavaPlugin/sample.kt - |package kotlinAsJavaPlugin - |class SampleClass(val property: String) - """.trimMargin(), - configuration, - ) { - documentablesTransformationStage = { module -> - val classLike = module.packages.flatMap { it.classlikes }.first() - assertEquals(JavaVisibility.Private, classLike.properties.firstOrNull()?.visibility?.values?.first()) - assertNotNull(classLike.functions.firstOrNull { it.name.startsWith("get") }) - assertEquals( - JavaVisibility.Public, - classLike.functions.first { it.name.startsWith("get") }.visibility.values.first() - ) - } - } - } - - @Test - fun `object jvmfield property should have no getters`(){ - testInline( - """ - |/src/main/kotlin/kotlinAsJavaPlugin/sample.kt - |package kotlinAsJavaPlugin - |object MyObject { - | @JvmField - | val property: String = TODO() - |} - """.trimMargin(), - configuration, - ) { - documentablesTransformationStage = { module -> - val classLike = module.packages.flatMap { it.classlikes }.first() - val property = classLike.properties.singleOrNull { it.name == "property" } - assertNotNull(property) - assertEquals( - emptyList(), - classLike.functions.map { it.name } - ) - assertNull(property.getter) - assertNull(property.setter) - } - } - } - - @Test - fun `enum jvmfield property should have no getters`(){ - testInline( - """ - |/src/main/kotlin/kotlinAsJavaPlugin/sample.kt - |package kotlinAsJavaPlugin - |enum class MyEnum { - | ITEM; - | - | @JvmField - | val property: String = TODO() - |} - """.trimMargin(), - configuration, - ) { - documentablesTransformationStage = { module -> - val classLike = module.packages.flatMap { it.classlikes }.first() - val property = classLike.properties.singleOrNull { it.name == "property" } - assertNotNull(property) - assertEquals( - emptyList(), - classLike.functions - .filter{ it.name.contains("property", ignoreCase = true) } - .map { it.name } - ) - assertNull(property.getter) - assertNull(property.setter) - } - } - } - - - @Test - fun `object jvmfield property should be static`(){ - testInline( - """ - |/src/main/kotlin/kotlinAsJavaPlugin/sample.kt - |package kotlinAsJavaPlugin - |object MyObject { - | @JvmField - | val property: String = TODO() - |} - """.trimMargin(), - configuration, - ) { - documentablesTransformationStage = { module -> - val classLike = module.packages.flatMap { it.classlikes }.first() - val property = classLike.properties.singleOrNull { it.name == "property" } - assertNotNull(property) - - val extra = property.extra[AdditionalModifiers] - assertNotNull(extra, "Additional modifiers for property are exist") - assertTrue(extra.content.values.contains(setOf(ExtraModifiers.JavaOnlyModifiers.Static)), - "Extra modifiers contains static") - } - } - } -} |