From 5f9299b074355e3f636da6eb6e1f9283f06ab8c7 Mon Sep 17 00:00:00 2001 From: Marcin Aman Date: Thu, 21 May 2020 14:51:55 +0200 Subject: Return types links in inner classes with generic parents --- plugins/base/src/test/kotlin/basic/DRITest.kt | 40 ++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) (limited to 'plugins/base/src/test/kotlin/basic') diff --git a/plugins/base/src/test/kotlin/basic/DRITest.kt b/plugins/base/src/test/kotlin/basic/DRITest.kt index 1ac05177..b09932fe 100644 --- a/plugins/base/src/test/kotlin/basic/DRITest.kt +++ b/plugins/base/src/test/kotlin/basic/DRITest.kt @@ -4,6 +4,7 @@ import org.jetbrains.dokka.links.* import org.jetbrains.dokka.model.DClass import org.jetbrains.dokka.model.DFunction import org.jetbrains.dokka.model.DParameter +import org.jetbrains.dokka.model.OtherParameter import org.jetbrains.dokka.pages.* import org.junit.jupiter.api.Assertions.assertEquals import org.jetbrains.dokka.testApi.testRunner.AbstractCoreTest @@ -212,7 +213,7 @@ class DRITest : AbstractCoreTest() { |package example | |class Sample(first: S){ - | fun genericFun(param1: String): Triple = TODO() + | fun genericFun(param1: String): Tuple = TODO() |} | | @@ -238,6 +239,43 @@ class DRITest : AbstractCoreTest() { } } + @Test + fun driForFunctionNestedInsideInnerClass() { + val configuration = dokkaConfiguration { + passes { + pass { + sourceRoots = listOf("src/") + classpath = listOfNotNull(jvmStdlibPath) + } + } + } + testInline( + """ + |/src/main/kotlin/Test.kt + |package example + | + |class Sample(first: S){ + | inner class SampleInner { + | fun foo(): S = TODO() + | } + |} + | + | + """.trimMargin(), + configuration + ) { + pagesGenerationStage = { module -> + val sampleClass = module.dfs { it.name == "Sample" } as ClasslikePageNode + val sampleInner = sampleClass.children.first { it.name == "SampleInner" } as ClasslikePageNode + val foo = sampleInner.children.first { it.name == "foo" } as MemberPageNode + val documentable = foo.documentable as DFunction + + assertEquals(sampleClass.dri.first().toString(), (documentable.type as OtherParameter).declarationDRI.toString()) + assertEquals(0, documentable.generics.size) + } + } + } + @Test fun driForGenericExtensionFunction(){ val configuration = dokkaConfiguration { -- cgit