diff options
Diffstat (limited to 'plugins/all-modules-page/src/test/kotlin/templates')
4 files changed, 0 insertions, 276 deletions
diff --git a/plugins/all-modules-page/src/test/kotlin/templates/MultiModuleDocumentationTest.kt b/plugins/all-modules-page/src/test/kotlin/templates/MultiModuleDocumentationTest.kt deleted file mode 100644 index 3d9636ef..00000000 --- a/plugins/all-modules-page/src/test/kotlin/templates/MultiModuleDocumentationTest.kt +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. - */ - -package org.jetbrains.dokka.allModulesPage.templates - -import matchers.content.* -import org.jetbrains.dokka.allModulesPage.MultiModuleAbstractTest -import org.jetbrains.dokka.model.dfs -import org.jetbrains.dokka.pages.ContentKind -import org.jetbrains.dokka.pages.ContentResolvedLink -import org.jetbrains.dokka.pages.MultimoduleRootPageNode -import org.junit.jupiter.api.io.TempDir -import java.io.File -import kotlin.test.AfterTest -import kotlin.test.BeforeTest -import kotlin.test.Test -import kotlin.test.assertEquals - -class MultiModuleDocumentationTest : MultiModuleAbstractTest() { - - @field:TempDir - lateinit var tempDir: File - - val documentationContent = """ - # Sample project - Sample documentation with [external link](https://www.google.pl) - """.trimIndent() - - @BeforeTest - fun setup() { - tempDir.resolve("README.md").writeText(documentationContent) - } - - @AfterTest - fun teardown(){ - tempDir.resolve("README.md").delete() - } - - @Test - fun `documentation should be included in all modules page`() { - val configuration = dokkaConfiguration { - includes = listOf(tempDir.resolve("README.md")) - } - - testFromData(configuration) { - allModulesPageCreationStage = { rootPage -> - (rootPage as? MultimoduleRootPageNode)?.content?.dfs { it.dci.kind == ContentKind.Cover }?.children?.firstOrNull() - ?.assertNode { - group { - group { - group { - header(1) { - +"Sample project" - } - group { - +"Sample documentation with " - link { - +"external link" - check { - assertEquals( - "https://www.google.pl", - (this as ContentResolvedLink).address - ) - } - } - } - } - } - } - } - } - } - } -} diff --git a/plugins/all-modules-page/src/test/kotlin/templates/ResolveLinkCommandResolutionTest.kt b/plugins/all-modules-page/src/test/kotlin/templates/ResolveLinkCommandResolutionTest.kt deleted file mode 100644 index 32b06a5b..00000000 --- a/plugins/all-modules-page/src/test/kotlin/templates/ResolveLinkCommandResolutionTest.kt +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. - */ - -package org.jetbrains.dokka.allModulesPage.templates - -import kotlinx.html.a -import kotlinx.html.span -import kotlinx.html.stream.createHTML -import org.jetbrains.dokka.DokkaModuleDescriptionImpl -import org.jetbrains.dokka.allModulesPage.MultiModuleAbstractTest -import org.jetbrains.dokka.base.renderers.html.templateCommand -import org.jetbrains.dokka.base.resolvers.shared.RecognizedLinkFormat -import org.jetbrains.dokka.base.templating.ResolveLinkCommand -import org.jetbrains.dokka.links.DRI -import org.junit.jupiter.api.io.TempDir -import utils.assertHtmlEqualsIgnoringWhitespace -import java.io.File -import kotlin.test.Test -import kotlin.test.assertTrue - -class ResolveLinkCommandResolutionTest : MultiModuleAbstractTest() { - - @Test - fun `should resolve link to another module`(@TempDir outputDirectory: File) { - val testedDri = DRI( - packageName = "package2", - classNames = "Sample", - ) - val link = createHTML().templateCommand(ResolveLinkCommand(testedDri)) { - span { - +"Sample" - } - } - - val expected = createHTML().a { - href = "../module2/package2/-sample/index.html" - span { - +"Sample" - } - } - - val contentFile = setup(outputDirectory, link) - val configuration = createConfiguration(outputDirectory) - - testFromData(configuration, useOutputLocationFromConfig = true) { - finishProcessingSubmodules = { - assertHtmlEqualsIgnoringWhitespace(expected, contentFile.readText()) - } - } - } - - @Test - fun `should produce content when link is not resolvable`(@TempDir outputDirectory: File) { - val testedDri = DRI( - packageName = "not-resolvable-package", - classNames = "Sample", - ) - val link = createHTML().templateCommand(ResolveLinkCommand(testedDri)) { - span { - +"Sample" - } - } - - val expected = createHTML().span { - attributes["data-unresolved-link"] = testedDri.toString() - span { - +"Sample" - } - } - - val contentFile = setup(outputDirectory, link) - val configuration = createConfiguration(outputDirectory) - - testFromData(configuration, useOutputLocationFromConfig = true) { - finishProcessingSubmodules = { - assertHtmlEqualsIgnoringWhitespace(expected, contentFile.readText()) - } - } - } - - private fun setup(outputDirectory: File, content: String): File { - val innerModule1 = outputDirectory.resolve("module1").also { assertTrue(it.mkdirs()) } - val innerModule2 = outputDirectory.resolve("module2").also { assertTrue(it.mkdirs()) } - val packageList = innerModule2.resolve("package-list") - packageList.writeText(mockedPackageListForPackages(RecognizedLinkFormat.DokkaHtml, "package2")) - val contentFile = innerModule1.resolve("index.html") - contentFile.writeText(content) - return contentFile - } - - private fun createConfiguration(outputDirectory: File) = dokkaConfiguration { - modules = listOf( - DokkaModuleDescriptionImpl( - name = "module1", - relativePathToOutputDirectory = outputDirectory.resolve("module1"), - includes = emptySet(), - sourceOutputDirectory = outputDirectory.resolve("module1"), - ), - DokkaModuleDescriptionImpl( - name = "module2", - relativePathToOutputDirectory = outputDirectory.resolve("module2"), - includes = emptySet(), - sourceOutputDirectory = outputDirectory.resolve("module2"), - ) - ) - this.outputDir = outputDirectory - } -} diff --git a/plugins/all-modules-page/src/test/kotlin/templates/ResolveLinkGfmCommandResolutionTest.kt b/plugins/all-modules-page/src/test/kotlin/templates/ResolveLinkGfmCommandResolutionTest.kt deleted file mode 100644 index b17d6765..00000000 --- a/plugins/all-modules-page/src/test/kotlin/templates/ResolveLinkGfmCommandResolutionTest.kt +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. - */ - -package org.jetbrains.dokka.allModulesPage.templates - -import org.jetbrains.dokka.DokkaModuleDescriptionImpl -import org.jetbrains.dokka.allModulesPage.MultiModuleAbstractTest -import org.jetbrains.dokka.base.resolvers.shared.RecognizedLinkFormat -import org.jetbrains.dokka.gfm.GfmCommand.Companion.templateCommand -import org.jetbrains.dokka.gfm.GfmPlugin -import org.jetbrains.dokka.gfm.ResolveLinkGfmCommand -import org.jetbrains.dokka.gfm.templateProcessing.GfmTemplateProcessingPlugin -import org.jetbrains.dokka.links.DRI -import org.junit.jupiter.api.io.TempDir -import java.io.File -import kotlin.test.Test -import kotlin.test.assertEquals -import kotlin.test.assertTrue - -class ResolveLinkGfmCommandResolutionTest : MultiModuleAbstractTest() { - - @Test - fun `should resolve link to another module`(@TempDir outputDirectory: File) { - val configuration = dokkaConfiguration { - modules = listOf( - DokkaModuleDescriptionImpl( - name = "module1", - relativePathToOutputDirectory = outputDirectory.resolve("module1"), - includes = emptySet(), - sourceOutputDirectory = outputDirectory.resolve("module1"), - ), - DokkaModuleDescriptionImpl( - name = "module2", - relativePathToOutputDirectory = outputDirectory.resolve("module2"), - includes = emptySet(), - sourceOutputDirectory = outputDirectory.resolve("module2"), - ) - ) - outputDir = outputDirectory - } - - val innerModule1 = outputDirectory.resolve("module1").also { assertTrue(it.mkdirs()) } - val innerModule2 = outputDirectory.resolve("module2").also { assertTrue(it.mkdirs()) } - - val indexMd = innerModule1.resolve("index.md") - val packageList = innerModule2.resolve("package-list") - - val indexMdContent = StringBuilder().apply { - templateCommand( - ResolveLinkGfmCommand( - dri = DRI( - packageName = "package2", - classNames = "Sample", - ) - ) - ) { - append("Sample text inside") - } - }.toString() - - indexMd.writeText(indexMdContent) - packageList.writeText(mockedPackageListForPackages(RecognizedLinkFormat.DokkaGFM, "package2")) - - testFromData( - configuration, - pluginOverrides = listOf(GfmTemplateProcessingPlugin(), GfmPlugin()), - useOutputLocationFromConfig = true - ) { - finishProcessingSubmodules = { - val expectedIndexMd = "[Sample text inside](../module2/package2/-sample/index.md)" - assertEquals(expectedIndexMd, indexMd.readText().trim()) - } - } - } -} diff --git a/plugins/all-modules-page/src/test/kotlin/templates/mockedPackageListFactory.kt b/plugins/all-modules-page/src/test/kotlin/templates/mockedPackageListFactory.kt deleted file mode 100644 index e4ee4eaa..00000000 --- a/plugins/all-modules-page/src/test/kotlin/templates/mockedPackageListFactory.kt +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. - */ - -package org.jetbrains.dokka.allModulesPage.templates - -import org.jetbrains.dokka.base.resolvers.shared.PackageList -import org.jetbrains.dokka.base.resolvers.shared.RecognizedLinkFormat - -internal fun mockedPackageListForPackages(format: RecognizedLinkFormat, vararg packages: String): String = - """ - ${PackageList.DOKKA_PARAM_PREFIX}.format:${format.formatName} - ${PackageList.DOKKA_PARAM_PREFIX}.linkExtension:${format.linkExtension} - - ${packages.sorted().joinToString(separator = "\n", postfix = "\n") { it }} - """.trimIndent() |