From 50e711d24b517bc93c37d89f258c9dafaa038ad1 Mon Sep 17 00:00:00 2001 From: Szymon Świstun Date: Mon, 20 Jan 2020 14:55:42 +0100 Subject: kotlin-as-java plugin --- .../src/test/kotlin/KotlinAsJavaPluginTest.kt | 98 ++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 plugins/kotlin-as-java/src/test/kotlin/KotlinAsJavaPluginTest.kt (limited to 'plugins/kotlin-as-java/src/test') diff --git a/plugins/kotlin-as-java/src/test/kotlin/KotlinAsJavaPluginTest.kt b/plugins/kotlin-as-java/src/test/kotlin/KotlinAsJavaPluginTest.kt new file mode 100644 index 00000000..c0833293 --- /dev/null +++ b/plugins/kotlin-as-java/src/test/kotlin/KotlinAsJavaPluginTest.kt @@ -0,0 +1,98 @@ +package kotlinAsJavaPlugin + +import junit.framework.Assert.fail +import org.jetbrains.dokka.pages.ContentGroup +import org.jetbrains.dokka.pages.ContentPage +import org.jetbrains.dokka.pages.ContentTable +import org.jetbrains.dokka.pages.children +import org.junit.Test +import testApi.testRunner.AbstractCoreTest + +class KotlinAsJavaPluginTest : AbstractCoreTest() { + + @Test + fun topLevelTest() { + val configuration = dokkaConfiguration { + passes { + pass { + sourceRoots = listOf("src/") + } + } + } + testInline( + """ + |/src/main/kotlin/kotlinAsJavaPlugin/Test.kt + |package kotlinAsJavaPlugin + | + |object TestObj {} + | + |fun testFL(l: List) = l + |fun testF() {} + |fun testF2(i: Int) = i + |fun testF3(to: TestObj) = to + |fun testF4(t: T) = listOf(t) + |val testV = 1 + """, + configuration, + cleanupOutput = true + ) { + pagesGenerationStage = { root -> + val content = (root.children.firstOrNull()?.children?.firstOrNull() as? ContentPage )?.content ?: run { + fail("Either children or content is null") + } + + val children = + if (content is ContentGroup) + content.children.filterIsInstance().filter { it.children.isNotEmpty() } + else emptyList() + + children.assertCount(2) + } + } + } + + @Test + fun topLevelWithClassTest() { + val configuration = dokkaConfiguration { + passes { + pass { + sourceRoots = listOf("src/") + } + } + } + testInline( + """ + |/src/main/kotlin/kotlinAsJavaPlugin/Test.kt + |package kotlinAsJavaPlugin + | + |class Test { + | fun testFC() {} + | val testVC = 1 + |} + | + |fun testF(i: Int) = i + |val testV = 1 + """, + configuration, + cleanupOutput = true + ) { + pagesGenerationStage = { root -> + val contentList = root.children + .flatMap { it.children() } + .map { it.content } + + val children = contentList.flatMap { content -> + if (content is ContentGroup) + content.children.filterIsInstance().filter { it.children.isNotEmpty() } + else emptyList() + }.filterNot { it.toString().contains("") } + + children.assertCount(4) + } + } + } + + private fun Collection.assertCount(n: Int) = + assert(count() == n) { "Expected $n, got ${count()}" } + +} \ No newline at end of file -- cgit