aboutsummaryrefslogtreecommitdiff
path: root/plugins/all-modules-page/src/test/kotlin/templates/ResolveLinkGfmCommandResolutionTest.kt
diff options
context:
space:
mode:
authorBłażej Kardyś <bkardys@virtuslab.com>2021-01-05 17:59:38 +0100
committerGitHub <noreply@github.com>2021-01-05 17:59:38 +0100
commit1618e552c136e25d86bf0708e0d760841c77c139 (patch)
treec608ce91b020bb0ecbfe75d0f456a0eae84b4c51 /plugins/all-modules-page/src/test/kotlin/templates/ResolveLinkGfmCommandResolutionTest.kt
parentef98e4b6505c3fdd192b1d5057c718079d27b972 (diff)
downloaddokka-1618e552c136e25d86bf0708e0d760841c77c139.tar.gz
dokka-1618e552c136e25d86bf0708e0d760841c77c139.tar.bz2
dokka-1618e552c136e25d86bf0708e0d760841c77c139.zip
Versioning (#1654)
* Adding versioning mechanism for multimodule * Versioning improvement * Refactor configuration, add ordering * Fix integration tests * Change packages, unignore test Co-authored-by: Marcin Aman <marcin.aman@gmail.com>
Diffstat (limited to 'plugins/all-modules-page/src/test/kotlin/templates/ResolveLinkGfmCommandResolutionTest.kt')
-rw-r--r--plugins/all-modules-page/src/test/kotlin/templates/ResolveLinkGfmCommandResolutionTest.kt74
1 files changed, 74 insertions, 0 deletions
diff --git a/plugins/all-modules-page/src/test/kotlin/templates/ResolveLinkGfmCommandResolutionTest.kt b/plugins/all-modules-page/src/test/kotlin/templates/ResolveLinkGfmCommandResolutionTest.kt
new file mode 100644
index 00000000..75576727
--- /dev/null
+++ b/plugins/all-modules-page/src/test/kotlin/templates/ResolveLinkGfmCommandResolutionTest.kt
@@ -0,0 +1,74 @@
+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.Rule
+import org.junit.jupiter.api.Test
+import org.junit.rules.TemporaryFolder
+import java.io.File
+import kotlin.test.assertEquals
+
+class ResolveLinkGfmCommandResolutionTest : MultiModuleAbstractTest() {
+ @get:Rule
+ val folder: TemporaryFolder = TemporaryFolder()
+
+ private fun configuration() = dokkaConfiguration {
+ modules = listOf(
+ DokkaModuleDescriptionImpl(
+ name = "module1",
+ relativePathToOutputDirectory = folder.root.resolve("module1"),
+ includes = emptySet(),
+ sourceOutputDirectory = folder.root.resolve("module1"),
+ ),
+ DokkaModuleDescriptionImpl(
+ name = "module2",
+ relativePathToOutputDirectory = folder.root.resolve("module2"),
+ includes = emptySet(),
+ sourceOutputDirectory = folder.root.resolve("module2"),
+ )
+ )
+ this.outputDir = folder.root
+ }
+
+ @Test
+ fun `should resolve link to another module`(){
+ val testedDri = DRI(
+ packageName = "package2",
+ classNames = "Sample",
+ )
+
+ val link = StringBuilder().apply {
+ templateCommand(ResolveLinkGfmCommand(testedDri)){
+ append("Sample text inside")
+ }
+ }.toString()
+
+ val expected = "[Sample text inside](../../module2/package2/-sample/index.md)"
+
+ val content = setup(link)
+ val configuration = configuration()
+
+ testFromData(configuration, pluginOverrides = listOf(GfmTemplateProcessingPlugin(), GfmPlugin()), preserveOutputLocation = true) {
+ submoduleProcessingStage = {
+ assertEquals(expected, content.readText().trim())
+ }
+ }
+ }
+
+ private fun setup(content: String): File {
+ folder.create()
+ val innerModule1 = folder.newFolder("module1", "module1")
+ val innerModule2 = folder.newFolder("module2", "module2")
+ val packageList = innerModule2.resolve("package-list")
+ packageList.writeText(mockedPackageListForPackages(RecognizedLinkFormat.DokkaGFM, "package2"))
+ val contentFile = innerModule1.resolve("index.md")
+ contentFile.writeText(content)
+ return contentFile
+ }
+}