aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/test/kotlin/renderers
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/base/src/test/kotlin/renderers')
-rw-r--r--plugins/base/src/test/kotlin/renderers/RenderingOnlyTestBase.kt7
-rw-r--r--plugins/base/src/test/kotlin/renderers/html/PlatformDependentHintTest.kt120
-rw-r--r--plugins/base/src/test/kotlin/renderers/html/SourceSetDependentHintTest.kt121
3 files changed, 126 insertions, 122 deletions
diff --git a/plugins/base/src/test/kotlin/renderers/RenderingOnlyTestBase.kt b/plugins/base/src/test/kotlin/renderers/RenderingOnlyTestBase.kt
index 237f4fd9..dd4d1ee0 100644
--- a/plugins/base/src/test/kotlin/renderers/RenderingOnlyTestBase.kt
+++ b/plugins/base/src/test/kotlin/renderers/RenderingOnlyTestBase.kt
@@ -14,6 +14,8 @@ import org.jetbrains.dokka.base.transformers.pages.samples.DefaultSamplesTransfo
import org.jetbrains.dokka.base.translators.documentables.PageContentBuilder
import org.jetbrains.dokka.links.DRI
import org.jetbrains.dokka.model.Documentable
+import org.jetbrains.dokka.model.SourceSetCache
+import org.jetbrains.dokka.model.SourceSetData
import org.jetbrains.dokka.model.doc.DocTag
import org.jetbrains.dokka.model.properties.PropertyContainer
import org.jetbrains.dokka.pages.*
@@ -34,6 +36,7 @@ abstract class RenderingOnlyTestBase {
DokkaBase().htmlPreprocessors to { _ -> RootCreator },
DokkaBase().externalLocationProviderFactory to { _ -> ::JavadocExternalLocationProviderFactory },
DokkaBase().externalLocationProviderFactory to { _ -> ::DokkaExternalLocationProviderFactory },
+ sourceSetCache = SourceSetCache(),
testConfiguration = DokkaConfigurationImpl("", "", false, null, emptyList(), emptyList(), emptyList(), emptyMap())
)
@@ -105,7 +108,7 @@ internal object EmptyCommentConverter : CommentsToContentConverter {
override fun buildContent(
docTag: DocTag,
dci: DCI,
- platforms: Set<PlatformData>,
+ sourceSets: Set<SourceSetData>,
styles: Set<Style>,
extras: PropertyContainer<ContentNode>
): List<ContentNode> = emptyList()
@@ -113,7 +116,7 @@ internal object EmptyCommentConverter : CommentsToContentConverter {
internal object EmptyLocationProviderFactory: LocationProviderFactory {
override fun getLocationProvider(pageNode: RootPageNode) = object : LocationProvider {
- override fun resolve(dri: DRI, platforms: List<PlatformData>, context: PageNode?): String = ""
+ override fun resolve(dri: DRI, sourceSets: List<SourceSetData>, context: PageNode?): String = ""
override fun resolve(node: PageNode, context: PageNode?, skipExtension: Boolean): String = node.name
diff --git a/plugins/base/src/test/kotlin/renderers/html/PlatformDependentHintTest.kt b/plugins/base/src/test/kotlin/renderers/html/PlatformDependentHintTest.kt
deleted file mode 100644
index cf1ac0a9..00000000
--- a/plugins/base/src/test/kotlin/renderers/html/PlatformDependentHintTest.kt
+++ /dev/null
@@ -1,120 +0,0 @@
-package renderers.html
-
-import org.jetbrains.dokka.Platform
-import org.jetbrains.dokka.base.renderers.html.HtmlRenderer
-import org.jetbrains.dokka.pages.PlatformData
-import org.jetbrains.dokka.pages.TextStyle
-import org.junit.jupiter.api.Test
-import renderers.Div
-import renderers.RenderingOnlyTestBase
-import renderers.TestPage
-import renderers.match
-
-class PlatformDependentHintTest : RenderingOnlyTestBase() {
- private val pl1 = PlatformData("pl1", Platform.js, listOf("pl1"))
- private val pl2 = PlatformData("pl2", Platform.jvm, listOf("pl2"))
- private val pl3 = PlatformData("pl3", Platform.native, listOf("pl3"))
-
- @Test
- fun platformIndependentCase() {
- val page = TestPage {
- platformDependentHint(platformData = setOf(pl1, pl2, pl3), styles = setOf(TextStyle.Block)) {
- text("a")
- text("b")
- text("c")
- }
- }
-
- HtmlRenderer(context).render(page)
- renderedContent.match(Div(Div(Div("abc"))))
- }
-
- @Test
- fun completelyDivergentCase() {
- val page = TestPage {
- platformDependentHint(platformData = setOf(pl1, pl2, pl3), styles = setOf(TextStyle.Block)) {
- text("a", platformData = setOf(pl1))
- text("b", platformData = setOf(pl2))
- text("c", platformData = setOf(pl3))
- }
- }
-
- HtmlRenderer(context).render(page)
- renderedContent.match(Div(Div(Div("a")), Div(Div("b")), Div(Div("c"))))
- }
-
- @Test
- fun overlappingCase() {
- val page = TestPage {
- platformDependentHint(platformData = setOf(pl1, pl2), styles = setOf(TextStyle.Block)) {
- text("a", platformData = setOf(pl1))
- text("b", platformData = setOf(pl1, pl2))
- text("c", platformData = setOf(pl2))
- }
- }
-
- HtmlRenderer(context).render(page)
- renderedContent.match(Div(Div(Div("ab")), Div(Div("bc"))))
- }
-
- @Test
- fun caseThatCanBeSimplified() {
- val page = TestPage {
- platformDependentHint(platformData = setOf(pl1, pl2), styles = setOf(TextStyle.Block)) {
- text("a", platformData = setOf(pl1, pl2))
- text("b", platformData = setOf(pl1))
- text("b", platformData = setOf(pl2))
- }
- }
-
- HtmlRenderer(context).render(page)
- renderedContent.match(Div(Div(Div("ab"))))
- }
-
- @Test
- fun caseWithGroupBreakingSimplification() {
- val page = TestPage {
- platformDependentHint(platformData = setOf(pl1, pl2), styles = setOf(TextStyle.Block)) {
- group(styles = setOf(TextStyle.Block)) {
- text("a", platformData = setOf(pl1, pl2))
- text("b", platformData = setOf(pl1))
- }
- text("b", platformData = setOf(pl2))
- }
- }
-
- HtmlRenderer(context).render(page)
- renderedContent.match(Div(Div(Div(Div("ab"))), Div(Div(Div("a"), "b"))))
- }
-
- @Test
- fun caseWithGroupNotBreakingSimplification() {
- val page = TestPage {
- platformDependentHint(platformData = setOf(pl1, pl2)) {
- group {
- text("a", platformData = setOf(pl1, pl2))
- text("b", platformData = setOf(pl1))
- }
- text("b", platformData = setOf(pl2))
- }
- }
-
- HtmlRenderer(context).render(page)
- println(renderedContent)
- renderedContent.match(Div(Div("ab")))
- }
-
- @Test
- fun partiallyUnifiedCase() {
- val page = TestPage {
- platformDependentHint(platformData = setOf(pl1, pl2, pl3), styles = setOf(TextStyle.Block)) {
- text("a", platformData = setOf(pl1))
- text("a", platformData = setOf(pl2))
- text("b", platformData = setOf(pl3))
- }
- }
-
- HtmlRenderer(context).render(page)
- renderedContent.match(Div(Div(Div("a")), Div(Div("b"))))
- }
-} \ No newline at end of file
diff --git a/plugins/base/src/test/kotlin/renderers/html/SourceSetDependentHintTest.kt b/plugins/base/src/test/kotlin/renderers/html/SourceSetDependentHintTest.kt
new file mode 100644
index 00000000..f774a09b
--- /dev/null
+++ b/plugins/base/src/test/kotlin/renderers/html/SourceSetDependentHintTest.kt
@@ -0,0 +1,121 @@
+package renderers.html
+
+import org.jetbrains.dokka.Platform
+import org.jetbrains.dokka.SourceRootImpl
+import org.jetbrains.dokka.base.renderers.html.HtmlRenderer
+import org.jetbrains.dokka.model.SourceSetData
+import org.jetbrains.dokka.pages.TextStyle
+import org.junit.jupiter.api.Test
+import renderers.Div
+import renderers.RenderingOnlyTestBase
+import renderers.TestPage
+import renderers.match
+
+class SourceSetDependentHintTest : RenderingOnlyTestBase() {
+ private val pl1 = SourceSetData("root", "pl1", Platform.js, listOf(SourceRootImpl("pl1")))
+ private val pl2 = SourceSetData("root","pl2", Platform.jvm, listOf(SourceRootImpl("pl1")))
+ private val pl3 = SourceSetData("root","pl3", Platform.native, listOf(SourceRootImpl("pl1")))
+
+ @Test
+ fun platformIndependentCase() {
+ val page = TestPage {
+ sourceSetDependentHint(sourceSets = setOf(pl1, pl2, pl3), styles = setOf(TextStyle.Block)) {
+ text("a")
+ text("b")
+ text("c")
+ }
+ }
+
+ HtmlRenderer(context).render(page)
+ renderedContent.match(Div(Div(Div("abc"))))
+ }
+
+ @Test
+ fun completelyDivergentCase() {
+ val page = TestPage {
+ sourceSetDependentHint(sourceSets = setOf(pl1, pl2, pl3), styles = setOf(TextStyle.Block)) {
+ text("a", sourceSets = setOf(pl1))
+ text("b", sourceSets = setOf(pl2))
+ text("c", sourceSets = setOf(pl3))
+ }
+ }
+
+ HtmlRenderer(context).render(page)
+ renderedContent.match(Div(Div(Div("a")), Div(Div("b")), Div(Div("c"))))
+ }
+
+ @Test
+ fun overlappingCase() {
+ val page = TestPage {
+ sourceSetDependentHint(sourceSets = setOf(pl1, pl2), styles = setOf(TextStyle.Block)) {
+ text("a", sourceSets = setOf(pl1))
+ text("b", sourceSets = setOf(pl1, pl2))
+ text("c", sourceSets = setOf(pl2))
+ }
+ }
+
+ HtmlRenderer(context).render(page)
+ renderedContent.match(Div(Div(Div("ab")), Div(Div("bc"))))
+ }
+
+ @Test
+ fun caseThatCanBeSimplified() {
+ val page = TestPage {
+ sourceSetDependentHint(sourceSets = setOf(pl1, pl2), styles = setOf(TextStyle.Block)) {
+ text("a", sourceSets = setOf(pl1, pl2))
+ text("b", sourceSets = setOf(pl1))
+ text("b", sourceSets = setOf(pl2))
+ }
+ }
+
+ HtmlRenderer(context).render(page)
+ renderedContent.match(Div(Div(Div("ab"))))
+ }
+
+ @Test
+ fun caseWithGroupBreakingSimplification() {
+ val page = TestPage {
+ sourceSetDependentHint(sourceSets = setOf(pl1, pl2), styles = setOf(TextStyle.Block)) {
+ group(styles = setOf(TextStyle.Block)) {
+ text("a", sourceSets = setOf(pl1, pl2))
+ text("b", sourceSets = setOf(pl1))
+ }
+ text("b", sourceSets = setOf(pl2))
+ }
+ }
+
+ HtmlRenderer(context).render(page)
+ renderedContent.match(Div(Div(Div(Div("ab"))), Div(Div(Div("a"), "b"))))
+ }
+
+ @Test
+ fun caseWithGroupNotBreakingSimplification() {
+ val page = TestPage {
+ sourceSetDependentHint(sourceSets = setOf(pl1, pl2)) {
+ group {
+ text("a", sourceSets = setOf(pl1, pl2))
+ text("b", sourceSets = setOf(pl1))
+ }
+ text("b", sourceSets = setOf(pl2))
+ }
+ }
+
+ HtmlRenderer(context).render(page)
+ println(renderedContent)
+ renderedContent.match(Div(Div("ab")))
+ }
+
+ @Test
+ fun partiallyUnifiedCase() {
+ val page = TestPage {
+ sourceSetDependentHint(sourceSets = setOf(pl1, pl2, pl3), styles = setOf(TextStyle.Block)) {
+ text("a", sourceSets = setOf(pl1))
+ text("a", sourceSets = setOf(pl2))
+ text("b", sourceSets = setOf(pl3))
+ }
+ }
+
+ HtmlRenderer(context).render(page)
+ renderedContent.match(Div(Div(Div("a")), Div(Div("b"))))
+ }
+} \ No newline at end of file