aboutsummaryrefslogtreecommitdiff
path: root/plugins/javadoc
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/javadoc')
-rw-r--r--plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/renderer/JavadocContentToTemplateMapTranslator.kt3
-rw-r--r--plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/JavadocLocationTemplateMapTest.kt38
2 files changed, 40 insertions, 1 deletions
diff --git a/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/renderer/JavadocContentToTemplateMapTranslator.kt b/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/renderer/JavadocContentToTemplateMapTranslator.kt
index 88bd90c3..46cad6f5 100644
--- a/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/renderer/JavadocContentToTemplateMapTranslator.kt
+++ b/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/renderer/JavadocContentToTemplateMapTranslator.kt
@@ -13,6 +13,7 @@ import org.jetbrains.dokka.model.InheritedFunction
import org.jetbrains.dokka.pages.*
import org.jetbrains.dokka.plugability.DokkaContext
import org.jetbrains.dokka.utilities.formatToEndWithHtml
+import java.io.File
import java.nio.file.Paths
internal class JavadocContentToTemplateMapTranslator(
@@ -47,7 +48,7 @@ internal class JavadocContentToTemplateMapTranslator(
else -> run {
val link = locationProvider.resolve(node, skipExtension = true)
val dir = Paths.get(link).parent?.toNormalized().orEmpty()
- return dir.split("/").filter { it.isNotEmpty() }.joinToString("/") { ".." }.let {
+ return dir.split(File.separator).filter { it.isNotEmpty() }.joinToString("/") { ".." }.let {
if (it.isNotEmpty()) "$it/" else it
}
}
diff --git a/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/JavadocLocationTemplateMapTest.kt b/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/JavadocLocationTemplateMapTest.kt
new file mode 100644
index 00000000..ce14d675
--- /dev/null
+++ b/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/JavadocLocationTemplateMapTest.kt
@@ -0,0 +1,38 @@
+package org.jetbrains.dokka.javadoc
+
+import org.jetbrains.dokka.javadoc.pages.JavadocClasslikePageNode
+import org.junit.jupiter.api.Assertions.assertEquals
+import org.junit.jupiter.api.Test
+
+internal class JavadocLocationTemplateMapTest : AbstractJavadocTemplateMapTest() {
+ @Test
+ fun `should have correct location to root from class`(){
+ dualTestTemplateMapInline(
+ kotlin =
+ """
+ /src/source0.kt
+ package com.test.package0
+ /**
+ * Documentation for TestClass
+ */
+ class TestClass
+ """,
+ java =
+ """
+ /src/com/test/package0/TestClass.java
+ package com.test.package0;
+ /**
+ * Documentation for TestClass
+ */
+ public final class TestClass {}
+ """
+ ) {
+ val map = singlePageOfType<JavadocClasslikePageNode>().templateMap
+ assertEquals("TestClass", map["name"])
+ assertEquals("TestClass", map["title"])
+ //This is taken from the expected location of files based on the package, so:
+ //com -> test -> package0
+ assertEquals("../../../", map["pathToRoot"])
+ }
+ }
+} \ No newline at end of file