aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/test/kotlin/renderers/html/HeaderTest.kt
diff options
context:
space:
mode:
authorIgnat Beresnev <ignat.beresnev@jetbrains.com>2023-11-10 11:46:54 +0100
committerGitHub <noreply@github.com>2023-11-10 11:46:54 +0100
commit8e5c63d035ef44a269b8c43430f43f5c8eebfb63 (patch)
tree1b915207b2b9f61951ddbf0ff2e687efd053d555 /plugins/base/src/test/kotlin/renderers/html/HeaderTest.kt
parenta44efd4ba0c2e4ab921ff75e0f53fc9335aa79db (diff)
downloaddokka-8e5c63d035ef44a269b8c43430f43f5c8eebfb63.tar.gz
dokka-8e5c63d035ef44a269b8c43430f43f5c8eebfb63.tar.bz2
dokka-8e5c63d035ef44a269b8c43430f43f5c8eebfb63.zip
Restructure the project to utilize included builds (#3174)
* Refactor and simplify artifact publishing * Update Gradle to 8.4 * Refactor and simplify convention plugins and build scripts Fixes #3132 --------- Co-authored-by: Adam <897017+aSemy@users.noreply.github.com> Co-authored-by: Oleg Yukhnevich <whyoleg@gmail.com>
Diffstat (limited to 'plugins/base/src/test/kotlin/renderers/html/HeaderTest.kt')
-rw-r--r--plugins/base/src/test/kotlin/renderers/html/HeaderTest.kt102
1 files changed, 0 insertions, 102 deletions
diff --git a/plugins/base/src/test/kotlin/renderers/html/HeaderTest.kt b/plugins/base/src/test/kotlin/renderers/html/HeaderTest.kt
deleted file mode 100644
index c19f965f..00000000
--- a/plugins/base/src/test/kotlin/renderers/html/HeaderTest.kt
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
- */
-
-package renderers.html
-
-import org.jetbrains.dokka.DokkaConfiguration
-import org.jetbrains.dokka.DokkaConfigurationImpl
-import org.jetbrains.dokka.PluginConfigurationImpl
-import org.jetbrains.dokka.base.DokkaBase
-import org.jetbrains.dokka.base.DokkaBaseConfiguration
-import org.jetbrains.dokka.base.templating.toJsonString
-import org.jetbrains.dokka.base.testApi.testRunner.BaseAbstractTest
-import org.jetbrains.dokka.pages.RootPageNode
-import org.jetbrains.dokka.plugability.DokkaContext
-import org.jsoup.Jsoup
-import utils.TestOutputWriter
-import utils.TestOutputWriterPlugin
-import kotlin.test.Test
-import kotlin.test.assertEquals
-import kotlin.test.assertNotNull
-import kotlin.test.assertNull
-
-class HeaderTest : BaseAbstractTest() {
- private val configuration = dokkaConfiguration {
- sourceSets {
- sourceSet {
- name = "jvm"
- sourceRoots = listOf("src/jvm")
- }
- sourceSet {
- name = "js"
- sourceRoots = listOf("src/js")
- }
- }
- }
-
- @Test
- fun `should include homepage link if homepageLink is provided`() {
- testRendering(
- DokkaBaseConfiguration(homepageLink = "https://github.com/Kotlin/dokka/")
- ) { _, _, writer ->
- val renderedContent = navigationElement(writer)
-
- val sourceLinkElement =
- assertNotNull(renderedContent.getElementById("homepage-link"), "Source link element not found")
- val aElement = assertNotNull(sourceLinkElement.selectFirst("a"))
- assertEquals("https://github.com/Kotlin/dokka/", aElement.attr("href"))
- }
- }
-
- @Test
- fun `should not include homepage link by default`() {
- testRendering(null) { _, _, writer ->
- val renderedContent = navigationElement(writer)
- assertNull(renderedContent.getElementById("homepage-link"), "Source link element found")
- }
- }
-
- private fun testRendering(
- baseConfiguration: DokkaBaseConfiguration?,
- block: (RootPageNode, DokkaContext, writer: TestOutputWriter) -> Unit
- ) {
- fun configuration(): DokkaConfigurationImpl {
- baseConfiguration ?: return configuration
- return configuration.copy(
- pluginsConfiguration = listOf(
- PluginConfigurationImpl(
- DokkaBase::class.java.canonicalName,
- DokkaConfiguration.SerializationFormat.JSON,
- toJsonString(baseConfiguration)
- )
- )
- )
- }
-
- val writerPlugin = TestOutputWriterPlugin()
- testInline(
- """
- |/src/jvm/Test.kt
- |fun test() {}
- |/src/js/Test.kt
- |fun test() {}
- """,
- configuration(),
- pluginOverrides = listOf(writerPlugin)
- ) {
- renderingStage = { node, context ->
- block(node, context, writerPlugin.writer)
- }
- }
- }
-
- private fun navigationElement(writer: TestOutputWriter) =
- writer
- .contents
- .getValue("index.html")
- .let(Jsoup::parse)
- .select(".navigation")
- .single()
-
-}