From 8e5c63d035ef44a269b8c43430f43f5c8eebfb63 Mon Sep 17 00:00:00 2001 From: Ignat Beresnev Date: Fri, 10 Nov 2023 11:46:54 +0100 Subject: 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 --- .../src/test/kotlin/packageList/PackageListTest.kt | 69 ++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 dokka-subprojects/plugin-base/src/test/kotlin/packageList/PackageListTest.kt (limited to 'dokka-subprojects/plugin-base/src/test/kotlin/packageList') diff --git a/dokka-subprojects/plugin-base/src/test/kotlin/packageList/PackageListTest.kt b/dokka-subprojects/plugin-base/src/test/kotlin/packageList/PackageListTest.kt new file mode 100644 index 00000000..d6033433 --- /dev/null +++ b/dokka-subprojects/plugin-base/src/test/kotlin/packageList/PackageListTest.kt @@ -0,0 +1,69 @@ +/* + * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +package packageList + +import org.jetbrains.dokka.base.renderers.PackageListService +import org.jetbrains.dokka.base.resolvers.shared.RecognizedLinkFormat +import kotlin.test.Test +import kotlin.test.assertEquals + +class PackageListTest { + @Test + fun `one module package list is created correctly`() { + val nonStandardLocations = mapOf("//longArrayWithFun/#kotlin.Int#kotlin.Function1[kotlin.Int,kotlin.Long]/PointingToDeclaration/" to "[JS root]/long-array-with-fun.html") + val modules = mapOf("" to setOf("foo", "bar", "baz")) + val format = RecognizedLinkFormat.DokkaHtml + val output = PackageListService.renderPackageList(nonStandardLocations, modules, format.formatName, format.linkExtension) + val expected = """ + |${'$'}dokka.format:html-v1 + |${'$'}dokka.linkExtension:html + |${'$'}dokka.location://longArrayWithFun/#kotlin.Int#kotlin.Function1[kotlin.Int,kotlin.Long]/PointingToDeclaration/[JS root]/long-array-with-fun.html + |bar + |baz + |foo + |""".trimMargin() + assertEquals(expected, output) + } + + @Test + fun `multi-module package list is created correctly`() { + val nonStandardLocations = mapOf("//longArrayWithFun/#kotlin.Int#kotlin.Function1[kotlin.Int,kotlin.Long]/PointingToDeclaration/" to "[JS root]/long-array-with-fun.html") + val modules = mapOf("moduleA" to setOf("foo", "bar"), "moduleB" to setOf("baz"), "moduleC" to setOf("qux")) + val format = RecognizedLinkFormat.DokkaHtml + val output = PackageListService.renderPackageList(nonStandardLocations, modules, format.formatName, format.linkExtension) + val expected = """ + |${'$'}dokka.format:html-v1 + |${'$'}dokka.linkExtension:html + |${'$'}dokka.location://longArrayWithFun/#kotlin.Int#kotlin.Function1[kotlin.Int,kotlin.Long]/PointingToDeclaration/[JS root]/long-array-with-fun.html + |module:moduleA + |bar + |foo + |module:moduleB + |baz + |module:moduleC + |qux + |""".trimMargin() + assertEquals(expected, output) + } + + @Test + fun `empty package set in module`() { + val nonStandardLocations = emptyMap() + val modules = mapOf("moduleA" to setOf("foo", "bar"), "moduleB" to emptySet(), "moduleC" to setOf("qux")) + val format = RecognizedLinkFormat.DokkaHtml + val output = PackageListService.renderPackageList(nonStandardLocations, modules, format.formatName, format.linkExtension) + val expected = """ + |${'$'}dokka.format:html-v1 + |${'$'}dokka.linkExtension:html + | + |module:moduleA + |bar + |foo + |module:moduleC + |qux + |""".trimMargin() + assertEquals(expected, output) + } +} -- cgit