diff options
Diffstat (limited to 'plugins/javadoc')
3 files changed, 80 insertions, 11 deletions
diff --git a/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/AbstractJavadocTemplateMapTest.kt b/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/AbstractJavadocTemplateMapTest.kt index 09feebe9..ec5c215e 100644 --- a/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/AbstractJavadocTemplateMapTest.kt +++ b/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/AbstractJavadocTemplateMapTest.kt @@ -1,7 +1,6 @@ package org.jetbrains.dokka.javadoc -import org.jetbrains.dokka.DokkaConfigurationImpl -import org.jetbrains.dokka.ExternalDocumentationLink +import org.jetbrains.dokka.* import org.jetbrains.dokka.javadoc.pages.JavadocPageNode import org.jetbrains.dokka.javadoc.renderer.JavadocContentToTemplateMapTranslator import org.jetbrains.dokka.javadoc.JavadocPlugin @@ -19,8 +18,8 @@ internal abstract class AbstractJavadocTemplateMapTest : AbstractCoreTest() { sourceRoots = listOf("src") analysisPlatform = "jvm" externalDocumentationLinks = listOf( - ExternalDocumentationLink("https://docs.oracle.com/javase/8/docs/api/"), - ExternalDocumentationLink("https://kotlinlang.org/api/latest/jvm/stdlib/") + DokkaConfiguration.ExternalDocumentationLink.jdk(8), + DokkaConfiguration.ExternalDocumentationLink.kotlinStdlib() ) } } diff --git a/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/location/JavadocLinkingTest.kt b/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/location/JavadocLinkingTest.kt new file mode 100644 index 00000000..95dc6a2e --- /dev/null +++ b/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/location/JavadocLinkingTest.kt @@ -0,0 +1,74 @@ +package org.jetbrains.dokka.javadoc.location + +import org.jetbrains.dokka.DokkaConfiguration +import org.jetbrains.dokka.jdk +import org.jetbrains.dokka.kotlinStdlib +import org.jetbrains.dokka.model.doc.DocumentationLink +import org.jetbrains.dokka.model.doc.Text +import org.jetbrains.dokka.testApi.testRunner.AbstractCoreTest +import org.jetbrains.dokka.utilities.cast +import org.junit.jupiter.api.Test +import utils.TestOutputWriterPlugin +import kotlin.test.assertEquals + +class JavadocLinkingTest : AbstractCoreTest() { + + @Test + fun lineBrokenLink() { + val config = dokkaConfiguration { + sourceSets { + sourceSet { + sourceRoots = listOf("jvmSrc/") + externalDocumentationLinks = listOf( + DokkaConfiguration.ExternalDocumentationLink.jdk(8), + DokkaConfiguration.ExternalDocumentationLink.kotlinStdlib(), + ) + analysisPlatform = "jvm" + } + } + } + testInline( + """ + |/jvmSrc/javadoc/test/SomeClass.kt + | + |package example + | + |class SomeClass { + | fun someFun(x: Int): Int = 1 + |} + | + |/jvmSrc/javadoc/test/SomeJavaDocExample.java + | + |package example; + | + |/** + | * Here comes some comment + | * + | * {@link example.SomeClass#someFun(int) someName(ads, + | * dsa)} + | * + | * longer comment + | */ + |public class SomeJavaDocExample { + | public void someFunc(int integer, Object object) { + | } + |} + """.trimMargin(), + config, + pluginOverrides = listOf(TestOutputWriterPlugin()) + ) { + documentablesMergingStage = { + it.packages.single() + .classlikes.single { classlike -> classlike.name == "SomeJavaDocExample" } + .documentation.values.single() + .children.single() + .children.single() + .children.single { + it is DocumentationLink + }.children.filterIsInstance<Text>().single { it.body.contains("someName") }.cast<Text>().body.run { + assertEquals("someName(ads, dsa)", this) + } + } + } + } +} diff --git a/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/location/JavadocLocationTest.kt b/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/location/JavadocLocationTest.kt index 87de4228..c8ae59e3 100644 --- a/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/location/JavadocLocationTest.kt +++ b/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/location/JavadocLocationTest.kt @@ -1,11 +1,9 @@ package org.jetbrains.dokka.javadoc.location +import org.jetbrains.dokka.* import org.jetbrains.dokka.javadoc.pages.JavadocClasslikePageNode import org.jetbrains.dokka.javadoc.pages.JavadocPackagePageNode import org.jetbrains.dokka.javadoc.renderer.JavadocContentToHtmlTranslator -import org.jetbrains.dokka.DokkaConfiguration -import org.jetbrains.dokka.ExternalDocumentationLink -import org.jetbrains.dokka.ExternalDocumentationLinkImpl import org.jetbrains.dokka.javadoc.JavadocPlugin import org.jetbrains.dokka.model.firstChildOfType import org.jetbrains.dokka.pages.RootPageNode @@ -19,16 +17,14 @@ import org.junit.jupiter.api.Assertions.assertEquals class JavadocLocationTest : AbstractCoreTest() { private fun locationTestInline(testHandler: (RootPageNode, DokkaContext) -> Unit) { - fun externalLink(link: String) = ExternalDocumentationLink(link) - val config = dokkaConfiguration { format = "javadoc" sourceSets { sourceSet { sourceRoots = listOf("jvmSrc/") externalDocumentationLinks = listOf( - externalLink("https://docs.oracle.com/javase/8/docs/api/"), - externalLink("https://kotlinlang.org/api/latest/jvm/stdlib/") + DokkaConfiguration.ExternalDocumentationLink.jdk(8), + DokkaConfiguration.ExternalDocumentationLink.kotlinStdlib() ) analysisPlatform = "jvm" } |