From c0ce35627413103d64845ca3c56b9ceab0606b6b Mon Sep 17 00:00:00 2001 From: "sebastian.sellmair" Date: Wed, 1 Jul 2020 14:30:49 +0200 Subject: Re-implement first basic gradle integration test --- .../src/main/kotlin/it/basic/PublicClass.kt | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 integration-tests/gradle/projects/it-basic/src/main/kotlin/it/basic/PublicClass.kt (limited to 'integration-tests/gradle/projects/it-basic/src') diff --git a/integration-tests/gradle/projects/it-basic/src/main/kotlin/it/basic/PublicClass.kt b/integration-tests/gradle/projects/it-basic/src/main/kotlin/it/basic/PublicClass.kt new file mode 100644 index 00000000..71bc7e63 --- /dev/null +++ b/integration-tests/gradle/projects/it-basic/src/main/kotlin/it/basic/PublicClass.kt @@ -0,0 +1,48 @@ +@file:Suppress("unused") + +package it.basic + +class PublicClass { + /** + * This function is public and documented + */ + fun publicDocumentedFunction(): String = "" + + fun publicUndocumentedFunction(): String = "" + + /** + * This function is internal and documented + */ + internal fun internalDocumentedFunction(): String = "" + + internal fun internalUndocumentedFunction(): String = "" + + /** + * This function is private and documented + */ + private fun privateDocumentedFunction(): String = "" + + private fun privateUndocumentedFunction(): String = "" + + + /** + * This property is public and documented + */ + val publicDocumentedProperty: Int = 0 + + val publicUndocumentedProperty: Int = 0 + + /** + * This property internal and documented + */ + val internalDocumentedProperty: Int = 0 + + val internalUndocumentedProperty: Int = 0 + + /** + * This property private and documented + */ + private val privateDocumentedProperty: Int = 0 + + private val privateUndocumentedProperty: Int = 0 +} -- cgit From 76132da3437873f5483b8a7ce03b1028fa37d139 Mon Sep 17 00:00:00 2001 From: "sebastian.sellmair" Date: Thu, 2 Jul 2020 10:19:23 +0200 Subject: BasicGradleIntegrationTest: Add java source --- .../main/java/it/basic/java/SampleJavaClass.java | 17 ++++++ .../dokka/it/gradle/BasicGradleIntegrationTest.kt | 64 ++++++++++++++++++++++ .../org/jetbrains/dokka/it/gradle/BasicTest.kt | 61 --------------------- 3 files changed, 81 insertions(+), 61 deletions(-) create mode 100644 integration-tests/gradle/projects/it-basic/src/main/java/it/basic/java/SampleJavaClass.java create mode 100644 integration-tests/gradle/src/test/kotlin/org/jetbrains/dokka/it/gradle/BasicGradleIntegrationTest.kt delete mode 100644 integration-tests/gradle/src/test/kotlin/org/jetbrains/dokka/it/gradle/BasicTest.kt (limited to 'integration-tests/gradle/projects/it-basic/src') diff --git a/integration-tests/gradle/projects/it-basic/src/main/java/it/basic/java/SampleJavaClass.java b/integration-tests/gradle/projects/it-basic/src/main/java/it/basic/java/SampleJavaClass.java new file mode 100644 index 00000000..23b0202c --- /dev/null +++ b/integration-tests/gradle/projects/it-basic/src/main/java/it/basic/java/SampleJavaClass.java @@ -0,0 +1,17 @@ +package it.basic.java; + +import it.basic.PublicClass; + +/** + * This class is, unlike {@link PublicClass}, written in Java + */ +@SuppressWarnings("unused") +public class SampleJavaClass { + + /** + * @return Empty instance of {@link PublicClass} + */ + public PublicClass publicDocumentedFunction() { + return new PublicClass(); + } +} diff --git a/integration-tests/gradle/src/test/kotlin/org/jetbrains/dokka/it/gradle/BasicGradleIntegrationTest.kt b/integration-tests/gradle/src/test/kotlin/org/jetbrains/dokka/it/gradle/BasicGradleIntegrationTest.kt new file mode 100644 index 00000000..b697f2a1 --- /dev/null +++ b/integration-tests/gradle/src/test/kotlin/org/jetbrains/dokka/it/gradle/BasicGradleIntegrationTest.kt @@ -0,0 +1,64 @@ +package org.jetbrains.dokka.it.gradle + +import org.gradle.testkit.runner.TaskOutcome +import java.io.File +import kotlin.test.* + +class BasicGradleIntegrationTest : AbstractDefaultVersionsGradleIntegrationTest() { + + @BeforeTest + fun prepareProjectFiles() { + val templateProjectDir = File("projects", "it-basic") + + templateProjectDir.listFiles().orEmpty() + .filter { it.isFile } + .forEach { topLevelFile -> topLevelFile.copyTo(File(projectDir, topLevelFile.name)) } + + File(templateProjectDir, "src").copyRecursively(File(projectDir, "src")) + } + + override fun execute(versions: BuildVersions) { + val result = createGradleRunner( + buildVersions = versions, + arguments = arrayOf("dokka", "--stacktrace") + ).build() + assertEquals(TaskOutcome.SUCCESS, assertNotNull(result.task(":dokka")).outcome) + + val dokkaOutputDir = File(projectDir, "build/dokka") + assertTrue(dokkaOutputDir.isDirectory, "Missing dokka output directory") + + val imagesDir = File(dokkaOutputDir, "images") + assertTrue(imagesDir.isDirectory, "Missing images directory") + + val scriptsDir = File(dokkaOutputDir, "scripts") + assertTrue(scriptsDir.isDirectory, "Missing scripts directory") + + val stylesDir = File(dokkaOutputDir, "styles") + assertTrue(stylesDir.isDirectory, "Missing styles directory") + + val navigationHtml = File(dokkaOutputDir, "navigation.html") + assertTrue(navigationHtml.isFile, "Missing navigation.html") + + val moduleOutputDir = File(dokkaOutputDir, "it-basic") + assertTrue(moduleOutputDir.isDirectory, "Missing module directory") + + val moduleIndexHtml = File(moduleOutputDir, "index.html") + assertTrue(moduleIndexHtml.isFile, "Missing module index.html") + + val modulePackageDir = File(moduleOutputDir, "it.basic") + assertTrue(modulePackageDir.isDirectory, "Missing it.basic package directory") + + val modulePackageIndexHtml = File(modulePackageDir, "index.html") + assertTrue(modulePackageIndexHtml.isFile, "Missing module package index.html") + + val moduleJavaPackageDir = File(moduleOutputDir, "it.basic.java") + assertTrue(moduleJavaPackageDir.isDirectory, "Missing it.basic.java package directory") + + dokkaOutputDir.walkTopDown() + .filter { file -> file.extension == "html" } + .forEach { file -> + assertContainsNoErrorClass(file) + assertNoUnresolvedLInks(file) + } + } +} diff --git a/integration-tests/gradle/src/test/kotlin/org/jetbrains/dokka/it/gradle/BasicTest.kt b/integration-tests/gradle/src/test/kotlin/org/jetbrains/dokka/it/gradle/BasicTest.kt deleted file mode 100644 index ba6da4f9..00000000 --- a/integration-tests/gradle/src/test/kotlin/org/jetbrains/dokka/it/gradle/BasicTest.kt +++ /dev/null @@ -1,61 +0,0 @@ -package org.jetbrains.dokka.it.gradle - -import org.gradle.testkit.runner.TaskOutcome -import java.io.File -import kotlin.test.* - -class BasicTest : AbstractDefaultVersionsGradleIntegrationTest() { - - @BeforeTest - fun prepareProjectFiles() { - val templateProjectDir = File("projects", "it-basic") - - templateProjectDir.listFiles().orEmpty() - .filter { it.isFile } - .forEach { topLevelFile -> topLevelFile.copyTo(File(projectDir, topLevelFile.name)) } - - File(templateProjectDir, "src").copyRecursively(File(projectDir, "src")) - } - - override fun execute(versions: BuildVersions) { - val result = createGradleRunner( - buildVersions = versions, - arguments = arrayOf("dokka", "--stacktrace") - ).build() - assertEquals(TaskOutcome.SUCCESS, assertNotNull(result.task(":dokka")).outcome) - - val dokkaOutputDir = File(projectDir, "build/dokka") - assertTrue(dokkaOutputDir.isDirectory, "Missing dokka output directory") - - val imagesDir = File(dokkaOutputDir, "images") - assertTrue(imagesDir.isDirectory, "Missing images directory") - - val scriptsDir = File(dokkaOutputDir, "scripts") - assertTrue(scriptsDir.isDirectory, "Missing scripts directory") - - val stylesDir = File(dokkaOutputDir, "styles") - assertTrue(stylesDir.isDirectory, "Missing styles directory") - - val navigationHtml = File(dokkaOutputDir, "navigation.html") - assertTrue(navigationHtml.isFile, "Missing navigation.html") - - val moduleOutputDir = File(dokkaOutputDir, "it-basic") - assertTrue(moduleOutputDir.isDirectory, "Missing module directory") - - val moduleIndexHtml = File(moduleOutputDir, "index.html") - assertTrue(moduleIndexHtml.isFile, "Missing module index.html") - - val modulePackageDir = File(moduleOutputDir, "it.basic") - assertTrue(modulePackageDir.isDirectory, "Missing module package directory") - - val modulePackageIndexHtml = File(modulePackageDir, "index.html") - assertTrue(modulePackageIndexHtml.isFile, "Missing module package index.html") - - dokkaOutputDir.walkTopDown() - .filter { file -> file.extension == "html" } - .forEach { file -> - assertContainsNoErrorClass(file) - assertNoUnresolvedLInks(file) - } - } -} -- cgit