Skip to content

Commit

Permalink
Remove an empty span in place of Java's default visibility (#3402)
Browse files Browse the repository at this point in the history
fixes #3095
  • Loading branch information
berezinant committed Dec 12, 2023
1 parent c149484 commit f4510a2
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ public class KotlinSignatureProvider(
sourceSets = setOf(sourceSet)
) {
annotationsBlock(c)
c.visibility[sourceSet]?.takeIf { it !in ignoredVisibilities }?.name?.let { keyword("$it ") }
c.visibility[sourceSet]?.takeIf { it !in ignoredVisibilities && it.name.isNotBlank() }?.name?.let { keyword("$it ") }
if (c.isExpectActual) keyword(if (sourceSet == c.expectPresentInSet) "expect " else "actual ")
if (c is DClass) {
val modifier =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

package signatures

import org.jetbrains.dokka.DokkaConfiguration
import org.jetbrains.dokka.DokkaSourceSetID
import org.jetbrains.dokka.base.testApi.testRunner.BaseAbstractTest
import org.jetbrains.dokka.model.DFunction
Expand Down Expand Up @@ -1094,4 +1095,41 @@ class SignatureTest : BaseAbstractTest() {
}
}
}

@Test
fun `should not add an empty span with java default visibility`() {
val configuration = dokkaConfiguration {
sourceSets {
sourceSet {
sourceRoots = listOf("src/")
documentedVisibilities = setOf(
DokkaConfiguration.Visibility.PUBLIC,
DokkaConfiguration.Visibility.PACKAGE
)
}
}
}

val writerPlugin = TestOutputWriterPlugin()
testInline(
"""
|/src/test/JavaAnnotationWithSpace.java
|package test;
|
|@interface JavaAnnotationWithSpace {}
""".trimIndent(),
configuration,
pluginOverrides = listOf(writerPlugin)
) {
renderingStage = { _, _ ->
val signatureHtml = writerPlugin.writer.renderedContent("root/test/-java-annotation-with-space/index.html")
.firstSignature()
.html()

val expectedSignature = "<span class=\"token keyword\">annotation class </span><a href=\"index.html\">JavaAnnotationWithSpace</a>"

assertEquals(expectedSignature, signatureHtml)
}
}
}
}

0 comments on commit f4510a2

Please sign in to comment.