diff options
author | Aurimas Liutikas <aurimas@google.com> | 2020-01-30 16:28:04 -0800 |
---|---|---|
committer | Aurimas Liutikas <aurimas@google.com> | 2020-01-31 14:56:19 -0800 |
commit | 131dc7a2716ab5de6e9211cf51d2e2530d9307d8 (patch) | |
tree | d91fe489749a38792957db344d64720c1e214741 /core/src/test/kotlin/format | |
parent | ec981fdf9c47b286fa146de9fc61c08a2def6ee4 (diff) | |
download | dokka-131dc7a2716ab5de6e9211cf51d2e2530d9307d8.tar.gz |
Rewrite how DAC tests are structured.
Update the test structure to allow to pass in multiple input files for
a single test.
Test: existing tests still pass
Change-Id: I3944eae55bd8fc71528c91d9c3c6d37f90531729
Diffstat (limited to 'core/src/test/kotlin/format')
-rw-r--r-- | core/src/test/kotlin/format/DacAsJavaFormatTest.kt | 37 | ||||
-rw-r--r-- | core/src/test/kotlin/format/DacFormatTest.kt | 17 | ||||
-rw-r--r-- | core/src/test/kotlin/format/DacFormatTestCase.kt | 49 |
3 files changed, 43 insertions, 60 deletions
diff --git a/core/src/test/kotlin/format/DacAsJavaFormatTest.kt b/core/src/test/kotlin/format/DacAsJavaFormatTest.kt index 7c625c9b2..b0d9b2dbd 100644 --- a/core/src/test/kotlin/format/DacAsJavaFormatTest.kt +++ b/core/src/test/kotlin/format/DacAsJavaFormatTest.kt @@ -1,38 +1,33 @@ package org.jetbrains.dokka.tests.format -import com.google.inject.Guice.createInjector -import com.google.inject.Injector -import com.google.inject.Module -import com.google.inject.name.Names -import org.jetbrains.dokka.* import org.jetbrains.dokka.Formats.DacAsJavaFormatDescriptor -import org.jetbrains.dokka.Formats.DacFormatDescriptor -import org.jetbrains.dokka.Formats.JavaLayoutHtmlFormatGenerator -import org.jetbrains.dokka.Utilities.bind -import org.jetbrains.dokka.tests.verifyJavaOutput -import org.junit.Rule import org.junit.Test -import org.junit.rules.TemporaryFolder -import java.io.File -import java.net.URI class DacAsJavaFormatTest: DacFormatTestCase() { override val formatDescriptor = DacAsJavaFormatDescriptor() override val dokkaFormat = "dac-as-java" - @Test fun javaSeeTag() { - verifyJavaHtmlNode("javaSeeTag") + @Test + fun javaSeeTag() { + verifyDirectory("javaSeeTag") } - @Test fun javaConstructor() { - verifyJavaHtmlNode("javaConstructor") + @Test + fun javaConstructor() { + verifyDirectory("javaConstructor") } - @Test fun javaDefaultConstructor() { - verifyJavaHtmlNode("javaDefaultConstructor") + @Test + fun javaDefaultConstructor() { + verifyDirectory("javaDefaultConstructor") + } + + @Test + fun javaInheritedMethods() { + verifyDirectory("inheritedMethods") } @Test fun javaMethodVisibilities() { - verifyJavaHtmlNode("javaMethodVisibilities") + verifyDirectory("javaMethodVisibilities") } -}
\ No newline at end of file +} diff --git a/core/src/test/kotlin/format/DacFormatTest.kt b/core/src/test/kotlin/format/DacFormatTest.kt index 9a6e75ee4..e84f11f68 100644 --- a/core/src/test/kotlin/format/DacFormatTest.kt +++ b/core/src/test/kotlin/format/DacFormatTest.kt @@ -1,30 +1,17 @@ package org.jetbrains.dokka.tests.format -import com.google.inject.Guice.createInjector -import com.google.inject.Injector -import com.google.inject.Module -import com.google.inject.name.Names -import org.jetbrains.dokka.* -import org.jetbrains.dokka.Formats.DacAsJavaFormatDescriptor import org.jetbrains.dokka.Formats.DacFormatDescriptor -import org.jetbrains.dokka.Formats.JavaLayoutHtmlFormatGenerator -import org.jetbrains.dokka.Utilities.bind -import org.jetbrains.dokka.tests.verifyJavaOutput -import org.junit.Rule import org.junit.Test -import org.junit.rules.TemporaryFolder -import java.io.File -import java.net.URI class DacFormatTest: DacFormatTestCase() { override val formatDescriptor = DacFormatDescriptor() override val dokkaFormat = "dac" @Test fun javaSeeTag() { - verifyJavaHtmlNode("javaSeeTag") + verifyDirectory("javaSeeTag") } @Test fun javaConstructor() { - verifyJavaHtmlNode("javaConstructor") + verifyDirectory("javaConstructor") } }
\ No newline at end of file diff --git a/core/src/test/kotlin/format/DacFormatTestCase.kt b/core/src/test/kotlin/format/DacFormatTestCase.kt index 23c01c75d..221bee2ff 100644 --- a/core/src/test/kotlin/format/DacFormatTestCase.kt +++ b/core/src/test/kotlin/format/DacFormatTestCase.kt @@ -4,11 +4,15 @@ import com.google.inject.Guice import com.google.inject.Injector import com.google.inject.Module import com.google.inject.name.Names -import org.jetbrains.dokka.* +import org.jetbrains.dokka.DocumentationOptions +import org.jetbrains.dokka.DokkaLogger import org.jetbrains.dokka.Formats.JavaLayoutHtmlFormatDescriptorBase import org.jetbrains.dokka.Formats.JavaLayoutHtmlFormatGenerator +import org.jetbrains.dokka.Generator import org.jetbrains.dokka.Utilities.bind -import org.jetbrains.dokka.tests.verifyJavaOutput +import org.jetbrains.dokka.tests.assertEqualsIgnoringSeparators +import org.jetbrains.dokka.tests.verifyModel +import org.jetbrains.kotlin.cli.jvm.config.JavaSourceRoot import org.junit.Rule import org.junit.rules.TemporaryFolder import java.io.File @@ -62,28 +66,25 @@ abstract class DacFormatTestCase { }) } - protected fun verifyJavaHtmlNode(fileName: String, withKotlinRuntime: Boolean = false) { - verifyJavaHtmlNodes(fileName, withKotlinRuntime) { model -> model.members.single().members } - } - - private fun verifyJavaHtmlNodes(fileName: String, - withKotlinRuntime: Boolean = false, - format: String = dokkaFormat, - nodeFilter: (DocumentationModule) -> List<DocumentationNode> - ) { - verifyJavaOutput("testdata/format/$dokkaFormat/$fileName.java",".html", format = format, withKotlinRuntime = withKotlinRuntime) { model, output -> - buildPagesAndReadInto(model, nodeFilter(model), output) - } - } - - protected fun buildPagesAndReadInto(model: DocumentationNode, nodes: List<DocumentationNode>, sb: StringBuilder) = - with(injector.getInstance(Generator::class.java)) { - this as JavaLayoutHtmlFormatGenerator - buildPages(listOf(model)) - val byLocations = nodes.groupBy { mainUri(it) } - val tmpFolder = folder.root.toURI().resolve(model.name+"/") - byLocations.forEach { (loc, _) -> - sb.append(tmpFolder.resolve(URI("/").relativize(loc)).toURL().readText()) + protected fun verifyDirectory(directory: String) { + val directoryFile = File("testdata/format/$dokkaFormat/$directory") + verifyModel( + JavaSourceRoot(directoryFile, null), + format = dokkaFormat + ) { documentationModule -> + val nodes = documentationModule.members.single().members + with(injector.getInstance(Generator::class.java)) { + this as JavaLayoutHtmlFormatGenerator + buildPages(listOf(documentationModule)) + val byLocations = nodes.groupBy { mainUri(it) } + val tmpFolder = folder.root.toURI().resolve("${documentationModule.name}/") + byLocations.forEach { (loc, node) -> + val output = StringBuilder() + output.append(tmpFolder.resolve(URI("/").relativize(loc)).toURL().readText()) + val expectedFile = File(directoryFile, "${node.first().name}.html") + assertEqualsIgnoringSeparators(expectedFile, output.toString()) + } } } + } }
\ No newline at end of file |