diff options
author | Dmitry Jemerov <yole@jetbrains.com> | 2017-02-23 15:21:03 +0100 |
---|---|---|
committer | Dmitry Jemerov <yole@jetbrains.com> | 2017-02-23 15:21:03 +0100 |
commit | a39c7a161282d132d08bcf89eed0213374a574e9 (patch) | |
tree | 973c36ded09cfd3a92b1fbfef947503b5ee71afe /core/src/test/kotlin | |
parent | 287c8207f6c7534ac9c5dfbc6e2ce10fae9a696b (diff) | |
download | dokka-a39c7a161282d132d08bcf89eed0213374a574e9.tar.gz dokka-a39c7a161282d132d08bcf89eed0213374a574e9.tar.bz2 dokka-a39c7a161282d132d08bcf89eed0213374a574e9.zip |
Allow specifying implicit platforms for each source root
Diffstat (limited to 'core/src/test/kotlin')
-rw-r--r-- | core/src/test/kotlin/TestAPI.kt | 35 | ||||
-rw-r--r-- | core/src/test/kotlin/format/MarkdownFormatTest.kt | 15 |
2 files changed, 35 insertions, 15 deletions
diff --git a/core/src/test/kotlin/TestAPI.kt b/core/src/test/kotlin/TestAPI.kt index 61eab562..b3085008 100644 --- a/core/src/test/kotlin/TestAPI.kt +++ b/core/src/test/kotlin/TestAPI.kt @@ -22,6 +22,22 @@ fun verifyModel(vararg roots: ContentRoot, format: String = "html", includeNonPublic: Boolean = true, verifier: (DocumentationModule) -> Unit) { + val documentation = DocumentationModule("test") + appendDocumentation(documentation, *roots, + withJdk = withJdk, + withKotlinRuntime = withKotlinRuntime, + format = format, + includeNonPublic = includeNonPublic) + verifier(documentation) +} + +fun appendDocumentation(documentation: DocumentationModule, + vararg roots: ContentRoot, + withJdk: Boolean = false, + withKotlinRuntime: Boolean = false, + format: String = "html", + includeNonPublic: Boolean = true, + implicitPlatforms: List<String> = emptyList()) { val messageCollector = object : MessageCollector { override fun clear() { @@ -65,10 +81,8 @@ fun verifyModel(vararg roots: ContentRoot, skipEmptyPackages = false, sourceLinks = listOf<SourceLinkDefinition>(), generateIndexPages = false) - val injector = Guice.createInjector(DokkaAnalysisModule(environment, options, DokkaConsoleLogger)) - val documentation = DocumentationModule("test") + val injector = Guice.createInjector(DokkaAnalysisModule(environment, options, implicitPlatforms, DokkaConsoleLogger)) buildDocumentationModule(injector, documentation) - verifier(documentation) Disposer.dispose(environment) } @@ -129,19 +143,18 @@ fun verifyOutput(roots: Array<ContentRoot>, format: String = "html", outputGenerator: (DocumentationModule, StringBuilder) -> Unit) { verifyModel(*roots, withJdk = withJdk, withKotlinRuntime = withKotlinRuntime, format = format) { - verifyModelOutput(it, outputExtension, outputGenerator, roots.first().path) + verifyModelOutput(it, outputExtension, roots.first().path, outputGenerator) } } -private fun verifyModelOutput(it: DocumentationModule, - outputExtension: String, - outputGenerator: (DocumentationModule, StringBuilder) -> Unit, - sourcePath: String) { +fun verifyModelOutput(it: DocumentationModule, + outputExtension: String, + sourcePath: String, + outputGenerator: (DocumentationModule, StringBuilder) -> Unit) { val output = StringBuilder() outputGenerator(it, output) val ext = outputExtension.removePrefix(".") - val path = sourcePath - val expectedFileContent = File(path.replaceAfterLast(".", ext, path + "." + ext)).readText() + val expectedFileContent = File(sourcePath.replaceAfterLast(".", ext, sourcePath + "." + ext)).readText() val expectedOutput = if (ext.equals("html", true)) expectedFileContent.lines().joinToString(separator = "\n", transform = String::trim) @@ -164,7 +177,7 @@ fun verifyJavaOutput(path: String, withKotlinRuntime: Boolean = false, outputGenerator: (DocumentationModule, StringBuilder) -> Unit) { verifyJavaModel(path, withKotlinRuntime) { model -> - verifyModelOutput(model, outputExtension, outputGenerator, path) + verifyModelOutput(model, outputExtension, path, outputGenerator) } } diff --git a/core/src/test/kotlin/format/MarkdownFormatTest.kt b/core/src/test/kotlin/format/MarkdownFormatTest.kt index 4dd01a20..967bc5e4 100644 --- a/core/src/test/kotlin/format/MarkdownFormatTest.kt +++ b/core/src/test/kotlin/format/MarkdownFormatTest.kt @@ -1,9 +1,6 @@ package org.jetbrains.dokka.tests -import org.jetbrains.dokka.DocumentationModule -import org.jetbrains.dokka.DocumentationNode -import org.jetbrains.dokka.KotlinLanguageService -import org.jetbrains.dokka.MarkdownFormatService +import org.jetbrains.dokka.* import org.junit.Test class MarkdownFormatTest { @@ -245,6 +242,16 @@ class MarkdownFormatTest { verifyMarkdownPackage("sinceKotlin") } + @Test fun multiplePlatforms() { + val module = DocumentationModule("test") + val sourcePath = "testdata/format/multiplatform/foo.kt" + appendDocumentation(module, contentRootFromPath(sourcePath), implicitPlatforms = listOf("JVM")) + appendDocumentation(module, contentRootFromPath("testdata/format/multiplatform/bar.kt"), implicitPlatforms = listOf("JS")) + verifyModelOutput(module, ".package.md", sourcePath) { model, output -> + markdownService.createOutputBuilder(output, tempLocation).appendNodes(model.members) + } + } + private fun verifyMarkdownPackage(fileName: String, withKotlinRuntime: Boolean = false) { verifyOutput("testdata/format/$fileName.kt", ".package.md", withKotlinRuntime = withKotlinRuntime) { model, output -> markdownService.createOutputBuilder(output, tempLocation).appendNodes(model.members) |