aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/base/src/test')
-rw-r--r--plugins/base/src/test/kotlin/renderers/html/SearchbarDataInstallerTest.kt46
-rw-r--r--plugins/base/src/test/kotlin/utils/HtmlUtils.kt5
2 files changed, 51 insertions, 0 deletions
diff --git a/plugins/base/src/test/kotlin/renderers/html/SearchbarDataInstallerTest.kt b/plugins/base/src/test/kotlin/renderers/html/SearchbarDataInstallerTest.kt
new file mode 100644
index 00000000..33f86e9f
--- /dev/null
+++ b/plugins/base/src/test/kotlin/renderers/html/SearchbarDataInstallerTest.kt
@@ -0,0 +1,46 @@
+package renderers.html
+
+import org.jetbrains.dokka.base.testApi.testRunner.BaseAbstractTest
+import org.junit.Test
+import org.junit.jupiter.api.Assertions
+import utils.TestOutputWriterPlugin
+import utils.pagesJson
+
+class SearchbarDataInstallerTest: BaseAbstractTest() {
+
+ @Test // see #2289
+ fun `should display description of root declarations without a leading dot`() {
+ val configuration = dokkaConfiguration {
+ moduleName = "Dokka Module"
+
+ sourceSets {
+ sourceSet {
+ sourceRoots = listOf("src/kotlin/Test.kt")
+ }
+ }
+ }
+
+ val source = """
+ |/src/kotlin/Test.kt
+ |
+ |class Test
+ |
+ """.trimIndent()
+
+ val writerPlugin = TestOutputWriterPlugin()
+ testInline(
+ source,
+ configuration,
+ pluginOverrides = listOf(writerPlugin)
+ ) {
+ renderingStage = { _, _ ->
+ val searchRecords = writerPlugin.writer.pagesJson()
+
+ Assertions.assertEquals(
+ "Test",
+ searchRecords.find { record -> record.name == "class Test" }?.description ?: ""
+ )
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/plugins/base/src/test/kotlin/utils/HtmlUtils.kt b/plugins/base/src/test/kotlin/utils/HtmlUtils.kt
index bfba882a..0748d91a 100644
--- a/plugins/base/src/test/kotlin/utils/HtmlUtils.kt
+++ b/plugins/base/src/test/kotlin/utils/HtmlUtils.kt
@@ -1,11 +1,16 @@
package utils
+import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
+import com.fasterxml.jackson.module.kotlin.readValue
+import org.jetbrains.dokka.base.renderers.html.SearchRecord
import org.jsoup.Jsoup
import org.jsoup.nodes.Element
import org.jsoup.select.Elements
internal fun TestOutputWriter.navigationHtml(): Element = contents.getValue("navigation.html").let { Jsoup.parse(it) }
+internal fun TestOutputWriter.pagesJson(): List<SearchRecord> = jacksonObjectMapper().readValue(contents.getValue("scripts/pages.json"))
+
internal fun Elements.selectNavigationGrid(): Element {
return this.select("div.overview").select("span.nav-link-grid").single()
}