From 14a6e60b97e446832b792355ade26443ab8df8cf Mon Sep 17 00:00:00 2001 From: Owen Gray Date: Fri, 8 Apr 2022 11:28:37 -0400 Subject: [PATCH] Move around and rename some tests Test: changes tests --- ...tDescriptorToDocumentableTranslatorTest.kt | 67 ++++++++++++++++++- .../DefaultPsiToDocumentableTranslatorTest.kt | 54 --------------- .../src/test/kotlin/KotlinAsJavaPluginTest.kt | 2 +- 3 files changed, 66 insertions(+), 57 deletions(-) diff --git a/plugins/base/src/test/kotlin/translators/DefaultDescriptorToDocumentableTranslatorTest.kt b/plugins/base/src/test/kotlin/translators/DefaultDescriptorToDocumentableTranslatorTest.kt index 798a3f3b8d..fd9fcc5d46 100644 --- a/plugins/base/src/test/kotlin/translators/DefaultDescriptorToDocumentableTranslatorTest.kt +++ b/plugins/base/src/test/kotlin/translators/DefaultDescriptorToDocumentableTranslatorTest.kt @@ -1,13 +1,15 @@ package translators import org.jetbrains.dokka.DokkaConfiguration +import org.jetbrains.dokka.base.testApi.testRunner.BaseAbstractTest +import org.jetbrains.dokka.links.DRI import org.jetbrains.dokka.model.* -import org.junit.jupiter.api.Assertions.* import org.jetbrains.dokka.model.doc.CodeBlock import org.jetbrains.dokka.model.doc.P import org.jetbrains.dokka.model.doc.Text -import org.jetbrains.dokka.base.testApi.testRunner.BaseAbstractTest import org.junit.Assert +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Disabled import org.junit.jupiter.api.Test class DefaultDescriptorToDocumentableTranslatorTest : BaseAbstractTest() { @@ -663,4 +665,65 @@ class DefaultDescriptorToDocumentableTranslatorTest : BaseAbstractTest() { } } } + + val javaConfiguration = dokkaConfiguration { + sourceSets { + sourceSet { + sourceRoots = listOf("src/main/java") + includeNonPublic = true + } + } + } + + @Disabled // The compiler throws away annotations on unresolved types upstream + @Test + fun `Can annotate unresolved type`() { + testInline( + """ + |/src/main/java/sample/FooLibrary.kt + |package sample; + |@MustBeDocumented + |@Target(AnnotationTarget.TYPE) + |annotation class Hello() + |fun bar(): @Hello() TypeThatDoesntResolve + """.trimMargin(), + javaConfiguration + ) { + documentablesMergingStage = { module -> + val type = module.packages.single().functions.single().type as GenericTypeConstructor + assertEquals( + Annotations.Annotation(DRI("sample", "Hello"), emptyMap()), + type.extra[Annotations]?.directAnnotations?.values?.single()?.single() + ) + } + } + } + + /** + * Kotlin Int becomes java int. Java int cannot be annotated in source, but Kotlin Int can be. + * This is paired with KotlinAsJavaPluginTest.`Java primitive annotations work`() + */ + @Test + fun `Java primitive annotations work`() { + testInline( + """ + |/src/main/java/sample/FooLibrary.kt + |package sample; + |@MustBeDocumented + |@Target(AnnotationTarget.TYPE) + |annotation class Hello() + |fun bar(): @Hello() Int + """.trimMargin(), + javaConfiguration + ) { + documentablesMergingStage = { module -> + val type = module.packages.single().functions.single().type as GenericTypeConstructor + assertEquals( + Annotations.Annotation(DRI("sample", "Hello"), emptyMap()), + type.extra[Annotations]?.directAnnotations?.values?.single()?.single() + ) + assertEquals("kotlin/Int///PointingToDeclaration/", type.dri.toString()) + } + } + } } diff --git a/plugins/base/src/test/kotlin/translators/DefaultPsiToDocumentableTranslatorTest.kt b/plugins/base/src/test/kotlin/translators/DefaultPsiToDocumentableTranslatorTest.kt index 5dfd941541..9f74e2196f 100644 --- a/plugins/base/src/test/kotlin/translators/DefaultPsiToDocumentableTranslatorTest.kt +++ b/plugins/base/src/test/kotlin/translators/DefaultPsiToDocumentableTranslatorTest.kt @@ -4,14 +4,12 @@ import org.jetbrains.dokka.base.DokkaBase import org.jetbrains.dokka.base.testApi.testRunner.BaseAbstractTest import org.jetbrains.dokka.links.DRI import org.jetbrains.dokka.model.Annotations -import org.jetbrains.dokka.model.GenericTypeConstructor import org.jetbrains.dokka.model.TypeConstructor import org.jetbrains.dokka.model.doc.Text import org.jetbrains.dokka.model.firstMemberOfType import org.jetbrains.dokka.plugability.DokkaPlugin import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertTrue -import org.junit.jupiter.api.Disabled import org.junit.jupiter.api.Test import utils.assertNotNull @@ -260,56 +258,4 @@ class DefaultPsiToDocumentableTranslatorTest : BaseAbstractTest() { } } } - - @Disabled // The compiler throws away annotations on unresolved types upstream - @Test - fun `Can annotate UnresolvedBound`() { - testInline( - """ - |/src/main/java/sample/FooLibrary.kt - |package sample; - |@MustBeDocumented - |@Target(AnnotationTarget.TYPE) - |annotation class Hello() - |fun bar(): @Hello() TypeThatDoesntResolve - """.trimMargin(), - configuration - ) { - documentablesMergingStage = { module -> - val type = module.packages.single().functions.single().type as GenericTypeConstructor - assertEquals( - Annotations.Annotation(DRI("sample", "Hello"), emptyMap()), - type.extra[Annotations]?.directAnnotations?.values?.single()?.single() - ) - } - } - } - - /** - * Kotlin Int becomes java int. Java int cannot be annotated in source, but Kotlin Int can be. - * This is paired with KotlinAsJavaPluginTest.`Java primitive annotations work`() - */ - @Test - fun `Java primitive annotations work`() { - testInline( - """ - |/src/main/java/sample/FooLibrary.kt - |package sample; - |@MustBeDocumented - |@Target(AnnotationTarget.TYPE) - |annotation class Hello() - |fun bar(): @Hello() Int - """.trimMargin(), - configuration - ) { - documentablesMergingStage = { module -> - val type = module.packages.single().functions.single().type as GenericTypeConstructor - assertEquals( - Annotations.Annotation(DRI("sample", "Hello"), emptyMap()), - type.extra[Annotations]?.directAnnotations?.values?.single()?.single() - ) - assertEquals("kotlin/Int///PointingToDeclaration/", type.dri.toString()) - } - } - } } diff --git a/plugins/kotlin-as-java/src/test/kotlin/KotlinAsJavaPluginTest.kt b/plugins/kotlin-as-java/src/test/kotlin/KotlinAsJavaPluginTest.kt index 5589edbf8a..0235b9d130 100644 --- a/plugins/kotlin-as-java/src/test/kotlin/KotlinAsJavaPluginTest.kt +++ b/plugins/kotlin-as-java/src/test/kotlin/KotlinAsJavaPluginTest.kt @@ -541,7 +541,7 @@ class KotlinAsJavaPluginTest : BaseAbstractTest() { /** * Kotlin Int becomes java int. Java int cannot be annotated in source, but Kotlin Int can be. - * This is paired with DefaultPsiToDocumentableTranslatorTest.`Java primitive annotations work`() + * This is paired with DefaultDescriptorToDocumentableTranslatorTest.`Java primitive annotations work`() * * This test currently does not do anything because Kotlin.Int currently becomes java.lang.Integer not primitive int */