aboutsummaryrefslogtreecommitdiff
path: root/core/src/test/kotlin
diff options
context:
space:
mode:
authorDmitry Jemerov <yole@jetbrains.com>2017-02-23 15:21:03 +0100
committerDmitry Jemerov <yole@jetbrains.com>2017-02-23 15:21:03 +0100
commita39c7a161282d132d08bcf89eed0213374a574e9 (patch)
tree973c36ded09cfd3a92b1fbfef947503b5ee71afe /core/src/test/kotlin
parent287c8207f6c7534ac9c5dfbc6e2ce10fae9a696b (diff)
downloaddokka-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.kt35
-rw-r--r--core/src/test/kotlin/format/MarkdownFormatTest.kt15
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)