From ee20f09019d336b82755e4f59c4e961953719a6c Mon Sep 17 00:00:00 2001 From: vmishenev Date: Fri, 29 Oct 2021 01:36:14 +0300 Subject: [PATCH] Fix names of nested inheritors (#2188) --- .../documentables/DefaultPageCreator.kt | 2 +- .../kotlin/renderers/html/CoverPageTest.kt | 47 +++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 plugins/base/src/test/kotlin/renderers/html/CoverPageTest.kt diff --git a/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt b/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt index 300e092653..332a066344 100644 --- a/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt +++ b/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt @@ -197,7 +197,7 @@ open class DefaultPageCreator( }), children = map.entries.flatMap { entry -> entry.value.map { Pair(entry.key, it) } } .groupBy({ it.second }, { it.first }).map { (classlike, platforms) -> - val label = classlike.classNames?.substringBeforeLast(".") ?: classlike.toString() + val label = classlike.classNames?.substringAfterLast(".") ?: classlike.toString() .also { logger.warn("No class name found for DRI $classlike") } buildGroup( setOf(classlike), diff --git a/plugins/base/src/test/kotlin/renderers/html/CoverPageTest.kt b/plugins/base/src/test/kotlin/renderers/html/CoverPageTest.kt new file mode 100644 index 0000000000..0e1f53ecec --- /dev/null +++ b/plugins/base/src/test/kotlin/renderers/html/CoverPageTest.kt @@ -0,0 +1,47 @@ +package renderers.html + +import org.jetbrains.dokka.base.testApi.testRunner.BaseAbstractTest +import org.junit.jupiter.api.Test +import signatures.renderedContent +import utils.TestOutputWriterPlugin +import kotlin.test.assertEquals + +class CoverPageTest : BaseAbstractTest() { + + private val configuration = dokkaConfiguration { + sourceSets { + sourceSet { + sourceRoots = listOf("src/") + classpath = listOf(commonStdlibPath!!) + externalDocumentationLinks = listOf(stdlibExternalDocumentationLink) + } + } + } + + @Test + fun `names of nested inheritors`() { + val source = """ + |/src/main/kotlin/test/Test.kt + |package example + | + | sealed class Result{ + | class Success(): Result() + | class Failed(): Result() + | } + """ + val writerPlugin = TestOutputWriterPlugin() + + testInline( + source, + configuration, + pluginOverrides = listOf(writerPlugin) + ) { + renderingStage = { _, _ -> + val content = writerPlugin.writer.renderedContent("root/example/-result/index.html") + val tableInheritors = content.select("div.table[data-togglable=Inheritors]").single() + assertEquals(tableInheritors.getElementsContainingOwnText("Failed").singleOrNull()?.tagName(), "a") + assertEquals(tableInheritors.getElementsContainingOwnText("Success").singleOrNull()?.tagName(), "a") + } + } + } +} \ No newline at end of file