diff options
author | Andrea Falcone <asfalcone@google.com> | 2019-11-22 15:38:08 -0500 |
---|---|---|
committer | Andrea Falcone <asfalcone@google.com> | 2019-11-25 15:40:27 -0500 |
commit | 12acf2f675a5d1daabef3dda39f3a119b2d07b62 (patch) | |
tree | 512d034d3e13da810b333b22affd4b0fff6087b5 /core/src/test/kotlin | |
parent | c7793b2b40619ed67f30303f4206a6264bb50536 (diff) | |
download | dokka-12acf2f675a5d1daabef3dda39f3a119b2d07b62.tar.gz |
Updated test for dac-as-java format to use the full dac format
Test: tested in IDE
Change-Id: If0cea9248810090433231f976a83b6bdf6a6d777
Diffstat (limited to 'core/src/test/kotlin')
-rw-r--r-- | core/src/test/kotlin/format/DacAsJavaFormatTest.kt | 75 |
1 files changed, 70 insertions, 5 deletions
diff --git a/core/src/test/kotlin/format/DacAsJavaFormatTest.kt b/core/src/test/kotlin/format/DacAsJavaFormatTest.kt index 8fc94786e..a369e653f 100644 --- a/core/src/test/kotlin/format/DacAsJavaFormatTest.kt +++ b/core/src/test/kotlin/format/DacAsJavaFormatTest.kt @@ -1,13 +1,67 @@ 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.tests.FileGeneratorTestCase +import org.jetbrains.dokka.Formats.DacAsJavaFormatDescriptor +import org.jetbrains.dokka.Formats.JavaLayoutHtmlFormatGenerator +import org.jetbrains.dokka.Utilities.bind import org.jetbrains.dokka.tests.verifyJavaOutput -import org.jetbrains.dokka.tests.verifyOutput +import org.junit.Rule import org.junit.Test +import org.junit.rules.TemporaryFolder +import java.io.File +import java.net.URI -class DacAsJavaFormatTest: FileGeneratorTestCase() { - override val formatService = HtmlFormatService(fileGenerator, KotlinLanguageService(), HtmlTemplateService.default(), listOf()) +class DacAsJavaFormatTest { + val formatDescriptor = DacAsJavaFormatDescriptor() + + @get:Rule + var folder = TemporaryFolder() + + var options = + DocumentationOptions( + folder.toString(), + "dac-as-java", + apiVersion = null, + languageVersion = null, + generateClassIndexPage = false, + generatePackageIndexPage = false, + noStdlibLink = false, + noJdkLink = false, + collectInheritedExtensionsFromLibraries = true + ) + + val injector: Injector by lazy { + createInjector(Module { binder -> + + binder.bind<Boolean>().annotatedWith(Names.named("generateClassIndex")).toInstance(false) + binder.bind<Boolean>().annotatedWith(Names.named("generatePackageIndex")).toInstance(false) + + binder.bind<String>().annotatedWith(Names.named("dacRoot")).toInstance("") + binder.bind<String>().annotatedWith(Names.named("outlineRoot")).toInstance("") + binder.bind<File>().annotatedWith(Names.named("outputDir")).toInstance(folder.root) + + binder.bind<DocumentationOptions>().toProvider { options } + binder.bind<DokkaLogger>().toInstance(object : DokkaLogger { + override fun info(message: String) { + println(message) + } + + override fun warn(message: String) { + println("WARN: $message") + } + + override fun error(message: String) { + println("ERROR: $message") + } + }) + + formatDescriptor.configureOutput(binder) + }) + } @Test fun javaSeeTag() { verifyJavaHtmlNode("javaSeeTag") @@ -23,7 +77,18 @@ class DacAsJavaFormatTest: FileGeneratorTestCase() { nodeFilter: (DocumentationModule) -> List<DocumentationNode> ) { verifyJavaOutput("testdata/format/dac-as-java/$fileName.java",".html", format = format, withKotlinRuntime = withKotlinRuntime) { model, output -> - buildPagesAndReadInto(nodeFilter(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()) + } + } }
\ No newline at end of file |