From 1f82c97e90c160a1cd37ed28d3a57b0e77cc6a1c Mon Sep 17 00:00:00 2001 From: Andrzej Ratajczak <32793002+BarkingBad@users.noreply.github.com> Date: Thu, 23 Dec 2021 17:43:13 +0100 Subject: Remove filtering out primary constructors from constructors tab (#2277) --- .../SkippingParenthesisForConstructorsTest.kt | 12 +++++++ .../PageTransformerBuilderTest.kt | 42 ++++++++++++++++++++-- 2 files changed, 51 insertions(+), 3 deletions(-) (limited to 'plugins/base/src/test') diff --git a/plugins/base/src/test/kotlin/content/signatures/SkippingParenthesisForConstructorsTest.kt b/plugins/base/src/test/kotlin/content/signatures/SkippingParenthesisForConstructorsTest.kt index 92bba3c6..12160db8 100644 --- a/plugins/base/src/test/kotlin/content/signatures/SkippingParenthesisForConstructorsTest.kt +++ b/plugins/base/src/test/kotlin/content/signatures/SkippingParenthesisForConstructorsTest.kt @@ -4,6 +4,7 @@ import matchers.content.* import org.jetbrains.dokka.pages.ContentPage import org.jetbrains.dokka.base.testApi.testRunner.BaseAbstractTest import org.junit.jupiter.api.Test +import utils.ParamAttributes import utils.functionSignature class ConstructorsSignaturesTest : BaseAbstractTest() { @@ -183,6 +184,17 @@ class ConstructorsSignaturesTest : BaseAbstractTest() { name = "SomeClass" ) } + group { + link { +"SomeClass" } + functionSignature( + annotations = emptyMap(), + visibility = "", + modifier = "", + keywords = emptySet(), + name = "SomeClass", + params = listOf("a" to ParamAttributes(emptyMap(), emptySet(), "String")).toTypedArray() + ) + } } skipAllNotMatching() } diff --git a/plugins/base/src/test/kotlin/transformerBuilders/PageTransformerBuilderTest.kt b/plugins/base/src/test/kotlin/transformerBuilders/PageTransformerBuilderTest.kt index e17f0800..a6f9af7d 100644 --- a/plugins/base/src/test/kotlin/transformerBuilders/PageTransformerBuilderTest.kt +++ b/plugins/base/src/test/kotlin/transformerBuilders/PageTransformerBuilderTest.kt @@ -1,9 +1,7 @@ package transformerBuilders; import org.jetbrains.dokka.CoreExtensions -import org.jetbrains.dokka.pages.PageNode -import org.jetbrains.dokka.pages.RendererSpecificResourcePage -import org.jetbrains.dokka.pages.RenderingStrategy +import org.jetbrains.dokka.pages.* import org.jetbrains.dokka.plugability.DokkaPlugin import org.jetbrains.dokka.base.testApi.testRunner.BaseAbstractTest import org.jetbrains.dokka.transformers.pages.PageTransformer @@ -11,6 +9,7 @@ import org.jetbrains.dokka.transformers.pages.pageMapper import org.jetbrains.dokka.transformers.pages.pageScanner import org.jetbrains.dokka.transformers.pages.pageStructureTransformer import org.junit.jupiter.api.Test +import kotlin.test.assertEquals class PageTransformerBuilderTest : BaseAbstractTest() { @@ -133,6 +132,43 @@ class PageTransformerBuilderTest : BaseAbstractTest() { } } + @Test + fun `kotlin constructors tab should exist even though there is primary constructor only`() { + val configuration = dokkaConfiguration { + sourceSets { + sourceSet { + sourceRoots = listOf("src/") + } + } + } + testInline( + """ + |/src/main/kotlin/kotlinAsJavaPlugin/Test.kt + |package kotlinAsJavaPlugin + | + |class Test(val xd: Int) + """.trimMargin(), + configuration + ) { + pagesGenerationStage = { root -> + val content = root.children + .flatMap { it.children() } + .map { it.content }.single().children + .filterIsInstance() + .single { it.dci.kind == ContentKind.Main }.children + + val constructorTabsCount = content.filter { it is ContentHeader }.flatMap { + it.children.filter { it is ContentText } + }.count { + (it as? ContentText)?.text == "Constructors" + } + + assertEquals(1, constructorTabsCount) + } + } + } + + private fun Collection.assertCount(n: Int, prefix: String = "") = assert(count() == n) { "${prefix}Expected $n, got ${count()}" } -- cgit