Skip to content

Commit

Permalink
Fix names of nested inheritors (Kotlin#2188)
Browse files Browse the repository at this point in the history
  • Loading branch information
vmishenev authored and owengray-google committed Dec 29, 2021
1 parent 5461b72 commit ee20f09
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 1 deletion.
Expand Up @@ -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),
Expand Down
47 changes: 47 additions & 0 deletions 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")
}
}
}
}

0 comments on commit ee20f09

Please sign in to comment.