aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/test/kotlin
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/base/src/test/kotlin')
-rw-r--r--plugins/base/src/test/kotlin/basic/DRITest.kt5
-rw-r--r--plugins/base/src/test/kotlin/basic/DokkaBasicTests.kt9
-rw-r--r--plugins/base/src/test/kotlin/enums/EnumsTest.kt20
-rw-r--r--plugins/base/src/test/kotlin/expect/AbstractExpectTest.kt104
-rw-r--r--plugins/base/src/test/kotlin/expect/ExpectGenerator.kt15
-rw-r--r--plugins/base/src/test/kotlin/expect/ExpectTest.kt70
-rw-r--r--plugins/base/src/test/kotlin/expect/ExpectUtils.kt28
-rw-r--r--plugins/base/src/test/kotlin/issues/IssuesTest.kt2
-rw-r--r--plugins/base/src/test/kotlin/markdown/KDocTest.kt4
-rw-r--r--plugins/base/src/test/kotlin/markdown/ParserTest.kt761
-rw-r--r--plugins/base/src/test/kotlin/model/ClassesTest.kt6
-rw-r--r--plugins/base/src/test/kotlin/model/CommentTest.kt2
-rw-r--r--plugins/base/src/test/kotlin/model/FunctionsTest.kt2
-rw-r--r--plugins/base/src/test/kotlin/model/InheritorsTest.kt2
-rw-r--r--plugins/base/src/test/kotlin/model/JavaTest.kt6
-rw-r--r--plugins/base/src/test/kotlin/model/PackagesTest.kt2
-rw-r--r--plugins/base/src/test/kotlin/model/PropertyTest.kt2
-rw-r--r--plugins/base/src/test/kotlin/multiplatform/BasicMultiplatformTest.kt4
-rw-r--r--plugins/base/src/test/kotlin/pageMerger/PageNodeMergerTest.kt19
-rw-r--r--plugins/base/src/test/kotlin/renderers/html/GroupWrappingTest.kt2
-rw-r--r--plugins/base/src/test/kotlin/renderers/html/PlatformDependentHintTest.kt5
21 files changed, 677 insertions, 393 deletions
diff --git a/plugins/base/src/test/kotlin/basic/DRITest.kt b/plugins/base/src/test/kotlin/basic/DRITest.kt
index ca8e4bad..0e1f095e 100644
--- a/plugins/base/src/test/kotlin/basic/DRITest.kt
+++ b/plugins/base/src/test/kotlin/basic/DRITest.kt
@@ -3,10 +3,11 @@ package basic
import org.jetbrains.dokka.links.*
import org.jetbrains.dokka.pages.ContentPage
import org.jetbrains.dokka.pages.asSequence
-import org.junit.Assert.assertEquals
-import org.junit.Test
+import org.junit.jupiter.api.Assertions.assertEquals
import org.jetbrains.dokka.testApi.testRunner.AbstractCoreTest
+import org.junit.jupiter.api.Test
+
class DRITest : AbstractCoreTest() {
@Test
fun `#634`() {
diff --git a/plugins/base/src/test/kotlin/basic/DokkaBasicTests.kt b/plugins/base/src/test/kotlin/basic/DokkaBasicTests.kt
index 0405b91c..dae1b2be 100644
--- a/plugins/base/src/test/kotlin/basic/DokkaBasicTests.kt
+++ b/plugins/base/src/test/kotlin/basic/DokkaBasicTests.kt
@@ -2,7 +2,8 @@ package basic
import org.jetbrains.dokka.pages.ClasslikePageNode
import org.jetbrains.dokka.pages.ModulePageNode
-import org.junit.Test
+import org.junit.jupiter.api.Assertions.assertTrue
+import org.junit.jupiter.api.Test
import org.jetbrains.dokka.testApi.testRunner.AbstractCoreTest
class DokkaBasicTests : AbstractCoreTest() {
@@ -31,11 +32,11 @@ class DokkaBasicTests : AbstractCoreTest() {
) {
pagesGenerationStage = {
println(it.dri)
- assert(it.getClasslikeToMemberMap().filterKeys { it.name == "Test" }.entries.firstOrNull()?.value?.size == 5)
+ assertTrue(it.getClasslikeToMemberMap().filterKeys { it.name == "Test" }.entries.firstOrNull()?.value?.size == 5)
}
}
}
- fun ModulePageNode.getClasslikeToMemberMap() =
- this.parentMap.filterValues { it is ClasslikePageNode }.entries.groupBy ({it.value}){it.key}
+ private fun ModulePageNode.getClasslikeToMemberMap() =
+ this.parentMap.filterValues { it is ClasslikePageNode }.entries.groupBy({ it.value }) { it.key }
} \ No newline at end of file
diff --git a/plugins/base/src/test/kotlin/enums/EnumsTest.kt b/plugins/base/src/test/kotlin/enums/EnumsTest.kt
index 34e92d82..55ad0fbc 100644
--- a/plugins/base/src/test/kotlin/enums/EnumsTest.kt
+++ b/plugins/base/src/test/kotlin/enums/EnumsTest.kt
@@ -3,9 +3,9 @@ package enums
import org.jetbrains.dokka.model.DEnum
import org.jetbrains.dokka.pages.ClasslikePageNode
import org.jetbrains.dokka.pages.ModulePageNode
-import org.junit.Assert.*
-import org.junit.Test
+import org.junit.jupiter.api.Test
import org.jetbrains.dokka.testApi.testRunner.AbstractCoreTest
+import org.junit.jupiter.api.Assertions.*
class EnumsTest : AbstractCoreTest() {
@@ -65,11 +65,11 @@ class EnumsTest : AbstractCoreTest() {
configuration
) {
documentablesCreationStage = {m ->
- assertTrue("Module list cannot be empty", m.isNotEmpty())
+ assertTrue(m.isNotEmpty(), "Module list cannot be empty")
m.first().packages.let { p ->
- assertTrue("Package list cannot be empty", p.isNotEmpty())
+ assertTrue(p.isNotEmpty(), "Package list cannot be empty")
p.first().classlikes.let { c ->
- assertTrue("Classlikes list cannot be empty", c.isNotEmpty())
+ assertTrue(c.isNotEmpty(), "Classlikes list cannot be empty")
val enum = c.first() as DEnum
assertEquals(enum.name, "Test")
@@ -78,12 +78,12 @@ class EnumsTest : AbstractCoreTest() {
}
}
}
- pagesGenerationStage = {
- val map = it.getClasslikeToMemberMap()
+ pagesGenerationStage = { module ->
+ val map = module.getClasslikeToMemberMap()
val test = map.filterKeys { it.name == "Test" }.values.firstOrNull()
- assert(test != null) { "Test not found" }
- assert(test!!.any { it.name == "E1" } && test.any { it.name == "E2" }) { "Enum entries missing in parent" }
- assert(map.keys.any { it.name == "E1" } && map.keys.any { it.name == "E2" }) { "Enum entries missing" }
+ assertNotNull(test, "Test not found")
+ assertTrue(test!!.any { it.name == "E1" } && test.any { it.name == "E2" }) { "Enum entries missing in parent" }
+ assertTrue(map.keys.any { it.name == "E1" } && map.keys.any { it.name == "E2" }) { "Enum entries missing" }
}
}
}
diff --git a/plugins/base/src/test/kotlin/expect/AbstractExpectTest.kt b/plugins/base/src/test/kotlin/expect/AbstractExpectTest.kt
new file mode 100644
index 00000000..ef97b04c
--- /dev/null
+++ b/plugins/base/src/test/kotlin/expect/AbstractExpectTest.kt
@@ -0,0 +1,104 @@
+package expect
+
+import org.jetbrains.dokka.testApi.testRunner.AbstractCoreTest
+import org.junit.jupiter.api.Assertions.assertTrue
+import java.nio.file.Files
+import java.nio.file.Path
+import java.nio.file.Paths
+import java.util.concurrent.TimeUnit
+
+abstract class AbstractExpectTest(
+ val testDir: Path? = Paths.get("src/test", "resources", "expect"),
+ val formats: List<String> = listOf("html")
+) : AbstractCoreTest() {
+
+ protected fun generateOutput(path: Path, outFormat: String): Path? {
+ val config = dokkaConfiguration {
+ format = outFormat
+ passes {
+ pass {
+ sourceRoots = listOf(path.asString())
+ }
+ }
+ }
+
+ var result: Path? = null
+ testFromData(config, cleanupOutput = false) {
+ renderingStage = { _, context -> result = Paths.get(context.configuration.outputDir) }
+ }
+ return result
+ }
+
+ protected fun compareOutput(expected: Path, obtained: Path?, gitTimeout: Long = 500) {
+ obtained?.let { path ->
+ val gitCompare = ProcessBuilder(
+ "git",
+ "--no-pager",
+ "diff",
+ expected.asString(),
+ path.asString()
+ ).also { logger.info("git diff command: ${it.command().joinToString(" ")}") }
+ .also { it.redirectErrorStream() }.start()
+
+ assertTrue(gitCompare.waitFor(gitTimeout, TimeUnit.MILLISECONDS)) { "Git timed out after $gitTimeout" }
+ gitCompare.inputStream.bufferedReader().lines().forEach { logger.info(it) }
+ assertTrue(gitCompare.exitValue() == 0) { "${path.fileName}: outputs don't match" }
+ } ?: throw AssertionError("obtained path is null")
+ }
+
+ protected fun compareOutputWithExcludes(
+ expected: Path,
+ obtained: Path?,
+ excludes: List<String>,
+ timeout: Long = 500
+ ) {
+ obtained?.let { path ->
+ val (res, out, err) = runDiff(expected, obtained, excludes, timeout)
+ assertTrue(res == 0, "Outputs differ:\nstdout - $out\n\nstderr - ${err ?: ""}")
+ } ?: throw AssertionError("obtained path is null")
+ }
+
+ protected fun runDiff(exp: Path, obt: Path, excludes: List<String>, timeout: Long): ProcessResult =
+ ProcessBuilder().command(
+ listOf("diff", "-ru") + excludes.flatMap { listOf("-x", it) } + listOf("--", exp.asString(), obt.asString())
+ ).also {
+ it.redirectErrorStream()
+ }.start().also { assertTrue(it.waitFor(timeout, TimeUnit.MILLISECONDS), "diff timed out") }.let {
+ ProcessResult(it.exitValue(), it.inputStream.bufferResult())
+ }
+
+
+ protected fun testOutput(p: Path, outFormat: String) {
+ val expectOut = p.resolve("out/$outFormat")
+ val testOut = generateOutput(p.resolve("src"), outFormat)
+ .also { logger.info("Test out: ${it?.asString()}") }
+
+ compareOutput(expectOut.toAbsolutePath(), testOut?.toAbsolutePath())
+ testOut?.deleteRecursively()
+ }
+
+ protected fun testOutputWithExcludes(
+ p: Path,
+ outFormat: String,
+ ignores: List<String> = emptyList(),
+ timeout: Long = 500
+ ) {
+ val expected = p.resolve("out/$outFormat")
+ generateOutput(p.resolve("src"), outFormat)
+ ?.let { obtained ->
+ compareOutputWithExcludes(expected, obtained, ignores, timeout)
+
+ obtained.deleteRecursively()
+ } ?: throw AssertionError("Output not generated for ${p.fileName}")
+ }
+
+ protected fun generateExpect(p: Path, outFormat: String) {
+ val out = p.resolve("out/$outFormat/")
+ Files.createDirectories(out)
+
+ val ret = generateOutput(p.resolve("src"), outFormat)
+ Files.list(out).forEach { it.deleteRecursively() }
+ ret?.let { Files.list(it).forEach { f -> f.copyRecursively(out.resolve(f.fileName)) } }
+ }
+
+} \ No newline at end of file
diff --git a/plugins/base/src/test/kotlin/expect/ExpectGenerator.kt b/plugins/base/src/test/kotlin/expect/ExpectGenerator.kt
new file mode 100644
index 00000000..667fc249
--- /dev/null
+++ b/plugins/base/src/test/kotlin/expect/ExpectGenerator.kt
@@ -0,0 +1,15 @@
+package expect
+
+import org.junit.jupiter.api.Disabled
+import org.junit.jupiter.api.Test
+import java.nio.file.Files
+import java.nio.file.Path
+
+class ExpectGenerator : AbstractExpectTest() {
+
+ @Disabled
+ @Test
+ fun generateAll() = testDir?.dirsWithFormats(formats).orEmpty().forEach { (p, f) ->
+ generateExpect(p, f)
+ }
+} \ No newline at end of file
diff --git a/plugins/base/src/test/kotlin/expect/ExpectTest.kt b/plugins/base/src/test/kotlin/expect/ExpectTest.kt
index c6c252ed..0423a5b4 100644
--- a/plugins/base/src/test/kotlin/expect/ExpectTest.kt
+++ b/plugins/base/src/test/kotlin/expect/ExpectTest.kt
@@ -1,62 +1,18 @@
package expect
-import org.junit.Test
-import org.jetbrains.dokka.testApi.testRunner.AbstractCoreTest
-import java.nio.file.Files
-import java.nio.file.Path
-import java.nio.file.Paths
-import java.util.concurrent.TimeUnit
-
-class ExpectTest : AbstractCoreTest() {
-
- private fun generateOutput(path: Path): Path? {
- val config = dokkaConfiguration {
- passes {
- pass {
- sourceRoots = listOf(path.asString())
- }
- }
- }
-
- var result: Path? = null
- testFromData(config, cleanupOutput = false) {
- renderingStage = { _, context -> result = Paths.get(context.configuration.outputDir) }
- }
- return result
- }
-
- private fun compareOutput(expected: Path, obtained: Path?, gitTimeout: Long = 500) {
- obtained?.let { path ->
- val gitCompare = ProcessBuilder(
- "git",
- "--no-pager",
- "diff",
- expected.asString(),
- path.asString()
- ).also { logger.info("git diff command: ${it.command().joinToString(" ")}") }
- .start()
-
- assert(gitCompare.waitFor(gitTimeout, TimeUnit.MILLISECONDS)) { "Git timed out after $gitTimeout" }
- gitCompare.inputStream.bufferedReader().lines().forEach { logger.info(it) }
- gitCompare.errorStream.bufferedReader().lines().forEach { logger.info(it) }
- assert(gitCompare.exitValue() == 0) { "${path.fileName}: outputs don't match" }
- } ?: throw AssertionError("obtained path is null")
+import org.junit.jupiter.api.DynamicTest.dynamicTest
+import org.junit.jupiter.api.TestFactory
+
+class ExpectTest : AbstractExpectTest() {
+ private val ignores: List<String> = listOf(
+ "*.js",
+ "*.css",
+ "*.svg"
+ )
+
+ @TestFactory
+ fun expectTest() = testDir?.dirsWithFormats(formats).orEmpty().map { (p, f) ->
+ dynamicTest("${p.fileName}-$f") { testOutputWithExcludes(p, f, ignores) }
}
- @Test
- fun expectTest() {
- val sources = Paths.get("src/test", "resources", "expect")
-
- Files.list(sources).forEach { p ->
- val expectOut = p.resolve("out")
- val testOut = generateOutput(p.resolve("src"))
- .also { logger.info("Test out: ${it?.asString()}") }
-
- compareOutput(expectOut, testOut)
- testOut?.toFile()?.deleteRecursively()
- }
- }
-
- fun Path.asString() = toAbsolutePath().normalize().toString()
-
} \ No newline at end of file
diff --git a/plugins/base/src/test/kotlin/expect/ExpectUtils.kt b/plugins/base/src/test/kotlin/expect/ExpectUtils.kt
new file mode 100644
index 00000000..4ea46dda
--- /dev/null
+++ b/plugins/base/src/test/kotlin/expect/ExpectUtils.kt
@@ -0,0 +1,28 @@
+package expect
+
+import java.io.InputStream
+import java.nio.file.Files
+import java.nio.file.Path
+import kotlin.streams.toList
+
+data class ProcessResult(val code: Int, val out: String, val err: String? = null)
+
+internal fun Path.dirsWithFormats(formats: List<String>): List<Pair<Path, String>> =
+ Files.list(this).toList().flatMap { p -> formats.map { p to it } }
+
+internal fun Path.asString() = normalize().toString()
+internal fun Path.deleteRecursively() = toFile().deleteRecursively()
+
+internal fun Path.copyRecursively(target: Path) = toFile().copyRecursively(target.toFile())
+
+internal fun Path.listRecursively(filter: (Path) -> Boolean): List<Path> = when {
+ Files.isDirectory(this) -> listOfNotNull(takeIf(filter)) + Files.list(this).toList().flatMap {
+ it.listRecursively(
+ filter
+ )
+ }
+ Files.isRegularFile(this) -> listOfNotNull(this.takeIf(filter))
+ else -> emptyList()
+ }
+
+internal fun InputStream.bufferResult(): String = this.bufferedReader().lines().toList().joinToString("\n") \ No newline at end of file
diff --git a/plugins/base/src/test/kotlin/issues/IssuesTest.kt b/plugins/base/src/test/kotlin/issues/IssuesTest.kt
index 1ad7a97b..41fc2632 100644
--- a/plugins/base/src/test/kotlin/issues/IssuesTest.kt
+++ b/plugins/base/src/test/kotlin/issues/IssuesTest.kt
@@ -2,7 +2,7 @@ package issues
import org.jetbrains.dokka.model.DClass
import org.jetbrains.dokka.model.DFunction
-import org.junit.Test
+import org.junit.jupiter.api.Test
import utils.AbstractModelTest
import utils.name
diff --git a/plugins/base/src/test/kotlin/markdown/KDocTest.kt b/plugins/base/src/test/kotlin/markdown/KDocTest.kt
index fa538c3e..a904f725 100644
--- a/plugins/base/src/test/kotlin/markdown/KDocTest.kt
+++ b/plugins/base/src/test/kotlin/markdown/KDocTest.kt
@@ -3,7 +3,7 @@ package markdown
import org.jetbrains.dokka.model.DPackage
import org.jetbrains.dokka.model.doc.DocumentationNode
import org.jetbrains.dokka.pages.ModulePageNode
-import org.junit.Assert
+import org.junit.jupiter.api.Assertions.*
import org.jetbrains.dokka.testApi.testRunner.AbstractCoreTest
open class KDocTest : AbstractCoreTest() {
@@ -37,7 +37,7 @@ open class KDocTest : AbstractCoreTest() {
configuration
) {
pagesGenerationStage = {
- Assert.assertEquals(
+ assertEquals(
expectedDocumentationNode,
actualDocumentationNode(it)
)
diff --git a/plugins/base/src/test/kotlin/markdown/ParserTest.kt b/plugins/base/src/test/kotlin/markdown/ParserTest.kt
index dee8e907..332c9766 100644
--- a/plugins/base/src/test/kotlin/markdown/ParserTest.kt
+++ b/plugins/base/src/test/kotlin/markdown/ParserTest.kt
@@ -2,13 +2,14 @@ package org.jetbrains.dokka.tests
import markdown.KDocTest
import org.jetbrains.dokka.model.doc.*
-import org.junit.Ignore
-import org.junit.Test
+import org.junit.jupiter.api.Disabled
+import org.junit.jupiter.api.Test
class ParserTest : KDocTest() {
- @Test fun `Simple text`() {
+ @Test
+ fun `Simple text`() {
val kdoc = """
| This is simple test of string
| Next line
@@ -23,7 +24,8 @@ class ParserTest : KDocTest() {
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Simple text with new line`() {
+ @Test
+ fun `Simple text with new line`() {
val kdoc = """
| This is simple test of string\
| Next line
@@ -31,18 +33,21 @@ class ParserTest : KDocTest() {
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(
- Text("This is simple test of string"),
- Br,
- Text("Next line")
- ))
+ P(
+ listOf(
+ Text("This is simple test of string"),
+ Br,
+ Text("Next line")
+ )
+ )
)
)
)
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Text with Bold and Emphasis decorators`() {
+ @Test
+ fun `Text with Bold and Emphasis decorators`() {
val kdoc = """
| This is **simple** test of _string_
| Next **_line_**
@@ -66,7 +71,8 @@ class ParserTest : KDocTest() {
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Text with Colon`() {
+ @Test
+ fun `Text with Colon`() {
val kdoc = """
| This is simple text with: colon!
""".trimMargin()
@@ -80,7 +86,8 @@ class ParserTest : KDocTest() {
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Multilined text`() {
+ @Test
+ fun `Multilined text`() {
val kdoc = """
| Text
| and
@@ -96,7 +103,8 @@ class ParserTest : KDocTest() {
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Paragraphs`() {
+ @Test
+ fun `Paragraphs`() {
val kdoc = """
| Paragraph number
| one
@@ -119,7 +127,8 @@ class ParserTest : KDocTest() {
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Emphasis with star`() {
+ @Test
+ fun `Emphasis with star`() {
val kdoc = " *text*"
val expectedDocumentationNode = DocumentationNode(
listOf(
@@ -131,7 +140,8 @@ class ParserTest : KDocTest() {
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Underscores that are not Emphasis`() {
+ @Test
+ fun `Underscores that are not Emphasis`() {
val kdoc = "text_with_underscores"
val expectedDocumentationNode = DocumentationNode(
listOf(
@@ -143,7 +153,8 @@ class ParserTest : KDocTest() {
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Emphasis with underscores`() {
+ @Test
+ fun `Emphasis with underscores`() {
val kdoc = "_text_"
val expectedDocumentationNode = DocumentationNode(
listOf(
@@ -155,7 +166,8 @@ class ParserTest : KDocTest() {
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Embedded star`() {
+ @Test
+ fun `Embedded star`() {
val kdoc = "Embedded*Star"
val expectedDocumentationNode = DocumentationNode(
listOf(
@@ -168,7 +180,8 @@ class ParserTest : KDocTest() {
}
- @Test fun `Unordered list`() {
+ @Test
+ fun `Unordered list`() {
val kdoc = """
| * list item 1
| * list item 2
@@ -188,7 +201,8 @@ class ParserTest : KDocTest() {
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Unordered list with multilines`() {
+ @Test
+ fun `Unordered list with multilines`() {
val kdoc = """
| * list item 1
| continue 1
@@ -210,7 +224,8 @@ class ParserTest : KDocTest() {
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Unordered list with Bold`() {
+ @Test
+ fun `Unordered list with Bold`() {
val kdoc = """
| * list **item** 1
| continue 1
@@ -220,25 +235,40 @@ class ParserTest : KDocTest() {
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- Ul(listOf(
- Li(listOf(P(listOf(
- Text("list "),
- B(listOf(Text("item"))),
- Text(" 1 continue 1")
- )))),
- Li(listOf(P(listOf(
- Text("list "),
- B(listOf(Text("item"))),
- Text(" 2 continue 2")
- ))))
- ))
+ Ul(
+ listOf(
+ Li(
+ listOf(
+ P(
+ listOf(
+ Text("list "),
+ B(listOf(Text("item"))),
+ Text(" 1 continue 1")
+ )
+ )
+ )
+ ),
+ Li(
+ listOf(
+ P(
+ listOf(
+ Text("list "),
+ B(listOf(Text("item"))),
+ Text(" 2 continue 2")
+ )
+ )
+ )
+ )
+ )
+ )
)
)
)
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Unordered list with nested bullets`() {
+ @Test
+ fun `Unordered list with nested bullets`() {
val kdoc = """
| * Outer first
| Outer next line
@@ -255,29 +285,38 @@ class ParserTest : KDocTest() {
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(
- Ul(listOf(
- Li(listOf(P(listOf(Text("Outer first Outer next line"))))),
- Li(listOf(P(listOf(Text("Outer second"))))),
- Ul(listOf(
- Li(listOf(P(listOf(Text("Middle first Middle next line"))))),
- Li(listOf(P(listOf(Text("Middle second"))))),
- Ul(listOf(
- Li(listOf(P(listOf(Text("Inner first Inner next line")))))
- )),
- Li(listOf(P(listOf(Text("Middle third")))))
- )),
- Li(listOf(P(listOf(Text("Outer third")))))
- )),
- P(listOf(Text("New paragraph")))
- ))
+ P(
+ listOf(
+ Ul(
+ listOf(
+ Li(listOf(P(listOf(Text("Outer first Outer next line"))))),
+ Li(listOf(P(listOf(Text("Outer second"))))),
+ Ul(
+ listOf(
+ Li(listOf(P(listOf(Text("Middle first Middle next line"))))),
+ Li(listOf(P(listOf(Text("Middle second"))))),
+ Ul(
+ listOf(
+ Li(listOf(P(listOf(Text("Inner first Inner next line")))))
+ )
+ ),
+ Li(listOf(P(listOf(Text("Middle third")))))
+ )
+ ),
+ Li(listOf(P(listOf(Text("Outer third")))))
+ )
+ ),
+ P(listOf(Text("New paragraph")))
+ )
+ )
)
)
)
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Ordered list`() {
+ @Test
+ fun `Ordered list`() {
val kdoc = """
| 1. list item 1
| 2. list item 2
@@ -299,7 +338,8 @@ class ParserTest : KDocTest() {
}
- @Test fun `Ordered list beginning from other number`() {
+ @Test
+ fun `Ordered list beginning from other number`() {
val kdoc = """
| 9. list item 1
| 12. list item 2
@@ -320,7 +360,8 @@ class ParserTest : KDocTest() {
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Ordered list with multilines`() {
+ @Test
+ fun `Ordered list with multilines`() {
val kdoc = """
| 2. list item 1
| continue 1
@@ -343,7 +384,8 @@ class ParserTest : KDocTest() {
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Ordered list with Bold`() {
+ @Test
+ fun `Ordered list with Bold`() {
val kdoc = """
| 1. list **item** 1
| continue 1
@@ -353,17 +395,30 @@ class ParserTest : KDocTest() {
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- Ol(listOf(
- Li(listOf(P(listOf(
- Text("list "),
- B(listOf(Text("item"))),
- Text(" 1 continue 1")
- )))),
- Li(listOf(P(listOf(
- Text("list "),
- B(listOf(Text("item"))),
- Text(" 2 continue 2")
- ))))
+ Ol(
+ listOf(
+ Li(
+ listOf(
+ P(
+ listOf(
+ Text("list "),
+ B(listOf(Text("item"))),
+ Text(" 1 continue 1")
+ )
+ )
+ )
+ ),
+ Li(
+ listOf(
+ P(
+ listOf(
+ Text("list "),
+ B(listOf(Text("item"))),
+ Text(" 2 continue 2")
+ )
+ )
+ )
+ )
),
mapOf("start" to "1")
)
@@ -373,7 +428,8 @@ class ParserTest : KDocTest() {
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Ordered list with nested bullets`() {
+ @Test
+ fun `Ordered list with nested bullets`() {
val kdoc = """
| 1. Outer first
| Outer next line
@@ -390,35 +446,41 @@ class ParserTest : KDocTest() {
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(
- Ol(listOf(
- Li(listOf(P(listOf(Text("Outer first Outer next line"))))),
- Li(listOf(P(listOf(Text("Outer second"))))),
- Ol(listOf(
- Li(listOf(P(listOf(Text("Middle first Middle next line"))))),
- Li(listOf(P(listOf(Text("Middle second"))))),
- Ol(listOf(
- Li(listOf(P(listOf(Text("Inner first Inner next line")))))
+ P(
+ listOf(
+ Ol(
+ listOf(
+ Li(listOf(P(listOf(Text("Outer first Outer next line"))))),
+ Li(listOf(P(listOf(Text("Outer second"))))),
+ Ol(
+ listOf(
+ Li(listOf(P(listOf(Text("Middle first Middle next line"))))),
+ Li(listOf(P(listOf(Text("Middle second"))))),
+ Ol(
+ listOf(
+ Li(listOf(P(listOf(Text("Inner first Inner next line")))))
+ ),
+ mapOf("start" to "1")
+ ),
+ Li(listOf(P(listOf(Text("Middle third")))))
+ ),
+ mapOf("start" to "1")
),
- mapOf("start" to "1")
- ),
- Li(listOf(P(listOf(Text("Middle third")))))
+ Li(listOf(P(listOf(Text("Outer third")))))
),
mapOf("start" to "1")
),
- Li(listOf(P(listOf(Text("Outer third")))))
- ),
- mapOf("start" to "1")
- ),
- P(listOf(Text("New paragraph")))
- ))
+ P(listOf(Text("New paragraph")))
+ )
+ )
)
)
)
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Ordered nested in Unordered nested in Ordered list`() {
+ @Test
+ fun `Ordered nested in Unordered nested in Ordered list`() {
val kdoc = """
| 1. Outer first
| Outer next line
@@ -435,33 +497,40 @@ class ParserTest : KDocTest() {
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(
- Ol(listOf(
- Li(listOf(P(listOf(Text("Outer first Outer next line"))))),
- Li(listOf(P(listOf(Text("Outer second"))))),
- Ul(listOf(
- Li(listOf(P(listOf(Text("Middle first Middle next line"))))),
- Li(listOf(P(listOf(Text("Middle second"))))),
- Ol(listOf(
- Li(listOf(P(listOf(Text("Inner first Inner next line")))))
- ),
- mapOf("start" to "1")
+ P(
+ listOf(
+ Ol(
+ listOf(
+ Li(listOf(P(listOf(Text("Outer first Outer next line"))))),
+ Li(listOf(P(listOf(Text("Outer second"))))),
+ Ul(
+ listOf(
+ Li(listOf(P(listOf(Text("Middle first Middle next line"))))),
+ Li(listOf(P(listOf(Text("Middle second"))))),
+ Ol(
+ listOf(
+ Li(listOf(P(listOf(Text("Inner first Inner next line")))))
+ ),
+ mapOf("start" to "1")
+ ),
+ Li(listOf(P(listOf(Text("Middle third")))))
+ )
+ ),
+ Li(listOf(P(listOf(Text("Outer third")))))
),
- Li(listOf(P(listOf(Text("Middle third")))))
- )),
- Li(listOf(P(listOf(Text("Outer third")))))
- ),
- mapOf("start" to "1")
- ),
- P(listOf(Text("New paragraph")))
- ))
+ mapOf("start" to "1")
+ ),
+ P(listOf(Text("New paragraph")))
+ )
+ )
)
)
)
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Header and two paragraphs`() {
+ @Test
+ fun `Header and two paragraphs`() {
val kdoc = """
| # Header 1
| Following text
@@ -471,19 +540,22 @@ class ParserTest : KDocTest() {
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(
- H1(listOf(Text("Header 1"))),
- P(listOf(Text("Following text"))),
- P(listOf(Text("New paragraph")))
- ))
+ P(
+ listOf(
+ H1(listOf(Text("Header 1"))),
+ P(listOf(Text("Following text"))),
+ P(listOf(Text("New paragraph")))
+ )
+ )
)
)
)
executeTest(kdoc, expectedDocumentationNode)
}
- @Ignore //TODO: ATX_2 to ATX_6 and sometimes ATX_1 from jetbrains parser consumes white space. Need to handle it in their library
- @Test fun `All headers`() {
+ @Disabled //TODO: ATX_2 to ATX_6 and sometimes ATX_1 from jetbrains parser consumes white space. Need to handle it in their library
+ @Test
+ fun `All headers`() {
val kdoc = """
| # Header 1
| Text 1
@@ -501,27 +573,30 @@ class ParserTest : KDocTest() {
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(
- H1(listOf(Text("Header 1"))),
- P(listOf(Text("Text 1"))),
- H2(listOf(Text("Header 2"))),
- P(listOf(Text("Text 2"))),
- H3(listOf(Text("Header 3"))),
- P(listOf(Text("Text 3"))),
- H4(listOf(Text("Header 4"))),
- P(listOf(Text("Text 4"))),
- H5(listOf(Text("Header 5"))),
- P(listOf(Text("Text 5"))),
- H6(listOf(Text("Header 6"))),
- P(listOf(Text("Text 6")))
- ))
+ P(
+ listOf(
+ H1(listOf(Text("Header 1"))),
+ P(listOf(Text("Text 1"))),
+ H2(listOf(Text("Header 2"))),
+ P(listOf(Text("Text 2"))),
+ H3(listOf(Text("Header 3"))),
+ P(listOf(Text("Text 3"))),
+ H4(listOf(Text("Header 4"))),
+ P(listOf(Text("Text 4"))),
+ H5(listOf(Text("Header 5"))),
+ P(listOf(Text("Text 5"))),
+ H6(listOf(Text("Header 6"))),
+ P(listOf(Text("Text 6")))
+ )
+ )
)
)
)
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Bold New Line Bold`() {
+ @Test
+ fun `Bold New Line Bold`() {
val kdoc = """
| **line 1**\
| **line 2**
@@ -529,18 +604,21 @@ class ParserTest : KDocTest() {
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(
- B(listOf(Text("line 1"))),
- Br,
- B(listOf(Text("line 2")))
- ))
+ P(
+ listOf(
+ B(listOf(Text("line 1"))),
+ Br,
+ B(listOf(Text("line 2")))
+ )
+ )
)
)
)
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Horizontal rule`() {
+ @Test
+ fun `Horizontal rule`() {
val kdoc = """
| ***
| text 1
@@ -555,24 +633,27 @@ class ParserTest : KDocTest() {
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(
- HorizontalRule,
- P(listOf(Text("text 1"))),
- HorizontalRule,
- P(listOf(Text("text 2"))),
- HorizontalRule,
- P(listOf(Text("text 3"))),
- HorizontalRule,
- P(listOf(Text("text 4"))),
- HorizontalRule
- ))
+ P(
+ listOf(
+ HorizontalRule,
+ P(listOf(Text("text 1"))),
+ HorizontalRule,
+ P(listOf(Text("text 2"))),
+ HorizontalRule,
+ P(listOf(Text("text 3"))),
+ HorizontalRule,
+ P(listOf(Text("text 4"))),
+ HorizontalRule
+ )
+ )
)
)
)
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Blockquote`() {
+ @Test
+ fun `Blockquote`() {
val kdoc = """
| > Blockquotes are very handy in email to emulate reply text.
| > This line is part of the same quote.
@@ -584,17 +665,25 @@ class ParserTest : KDocTest() {
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(
- BlockQuote(listOf(
- P(listOf(
- Text("Blockquotes are very handy in email to emulate reply text. This line is part of the same quote.")
- ))
- )),
- P(listOf(Text("Quote break."))),
- BlockQuote(listOf(
- P(listOf(Text("Quote")))
- ))
- ))
+ P(
+ listOf(
+ BlockQuote(
+ listOf(
+ P(
+ listOf(
+ Text("Blockquotes are very handy in email to emulate reply text. This line is part of the same quote.")
+ )
+ )
+ )
+ ),
+ P(listOf(Text("Quote break."))),
+ BlockQuote(
+ listOf(
+ P(listOf(Text("Quote")))
+ )
+ )
+ )
+ )
)
)
)
@@ -602,7 +691,8 @@ class ParserTest : KDocTest() {
}
- @Test fun `Blockquote nested`() {
+ @Test
+ fun `Blockquote nested`() {
val kdoc = """
| > text 1
| > text 2
@@ -618,27 +708,36 @@ class ParserTest : KDocTest() {
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(
- BlockQuote(listOf(
- P(listOf(Text("text 1 text 2"))),
- BlockQuote(listOf(
- P(listOf(Text("text 3 text 4")))
- )),
- P(listOf(Text("text 5")))
- )),
- P(listOf(Text("Quote break."))),
- BlockQuote(listOf(
- P(listOf(Text("Quote")))
- ))
- ))
+ P(
+ listOf(
+ BlockQuote(
+ listOf(
+ P(listOf(Text("text 1 text 2"))),
+ BlockQuote(
+ listOf(
+ P(listOf(Text("text 3 text 4")))
+ )
+ ),
+ P(listOf(Text("text 5")))
+ )
+ ),
+ P(listOf(Text("Quote break."))),
+ BlockQuote(
+ listOf(
+ P(listOf(Text("Quote")))
+ )
+ )
+ )
+ )
)
)
)
executeTest(kdoc, expectedDocumentationNode)
}
- @Ignore //TODO: Again ATX_1 consumes white space
- @Test fun `Blockquote nested with fancy text enhancement`() {
+ @Disabled //TODO: Again ATX_1 consumes white space
+ @Test
+ fun `Blockquote nested with fancy text enhancement`() {
val kdoc = """
| > text **1**
| > text 2
@@ -655,36 +754,51 @@ class ParserTest : KDocTest() {
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(
- BlockQuote(listOf(
- P(listOf(
- Text("text "),
- B(listOf(Text("1"))),
- Text("\ntext 2")
- )),
- BlockQuote(listOf(
- H1(listOf(Text("text 3"))),
- Ul(listOf(
- Li(listOf(P(listOf(Text("text 4"))))),
- Ul(listOf(
- Li(listOf(P(listOf(Text("text 5")))))
- )
- )))
- )),
- P(listOf(Text("text 6")))
- )),
- P(listOf(Text("Quote break."))),
- BlockQuote(listOf(
- P(listOf(Text("Quote")))
- ))
- ))
+ P(
+ listOf(
+ BlockQuote(
+ listOf(
+ P(
+ listOf(
+ Text("text "),
+ B(listOf(Text("1"))),
+ Text("\ntext 2")
+ )
+ ),
+ BlockQuote(
+ listOf(
+ H1(listOf(Text("text 3"))),
+ Ul(
+ listOf(
+ Li(listOf(P(listOf(Text("text 4"))))),
+ Ul(
+ listOf(
+ Li(listOf(P(listOf(Text("text 5")))))
+ )
+ )
+ )
+ )
+ )
+ ),
+ P(listOf(Text("text 6")))
+ )
+ ),
+ P(listOf(Text("Quote break."))),
+ BlockQuote(
+ listOf(
+ P(listOf(Text("Quote")))
+ )
+ )
+ )
+ )
)
)
)
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Simple Code Block`() {
+ @Test
+ fun `Simple Code Block`() {
val kdoc = """
| `Some code`
| Sample text
@@ -692,17 +806,20 @@ class ParserTest : KDocTest() {
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(
- Code(listOf(Text("Some code"))),
- Text(" Sample text")
- ))
+ P(
+ listOf(
+ Code(listOf(Text("Some code"))),
+ Text(" Sample text")
+ )
+ )
)
)
)
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Multilined Code Block`() {
+ @Test
+ fun `Multilined Code Block`() {
val kdoc = """
| ```kotlin
| val x: Int = 0
@@ -718,20 +835,22 @@ class ParserTest : KDocTest() {
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(
- Code(
- listOf(
- Text("val x: Int = 0"), Br,
- Text("val y: String = \"Text\""), Br, Br,
- Text(" val z: Boolean = true"), Br,
- Text("for(i in 0..10) {"), Br,
- Text(" println(i)"), Br,
- Text("}")
+ P(
+ listOf(
+ Code(
+ listOf(
+ Text("val x: Int = 0"), Br,
+ Text("val y: String = \"Text\""), Br, Br,
+ Text(" val z: Boolean = true"), Br,
+ Text("for(i in 0..10) {"), Br,
+ Text(" println(i)"), Br,
+ Text("}")
+ ),
+ mapOf("lang" to "kotlin")
),
- mapOf("lang" to "kotlin")
- ),
- P(listOf(Text("Sample text")))
- ))
+ P(listOf(Text("Sample text")))
+ )
+ )
)
)
)
@@ -739,41 +858,52 @@ class ParserTest : KDocTest() {
}
- @Test fun `Inline link`() {
+ @Test
+ fun `Inline link`() {
val kdoc = """
| [I'm an inline-style link](https://www.google.com)
""".trimMargin()
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(A(
- listOf(Text("I'm an inline-style link")),
- mapOf("href" to "https://www.google.com")
- )))
+ P(
+ listOf(
+ A(
+ listOf(Text("I'm an inline-style link")),
+ mapOf("href" to "https://www.google.com")
+ )
+ )
+ )
)
)
)
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Inline link with title`() {
+ @Test
+ fun `Inline link with title`() {
val kdoc = """
| [I'm an inline-style link with title](https://www.google.com "Google's Homepage")
""".trimMargin()
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(A(
- listOf(Text("I'm an inline-style link with title")),
- mapOf("href" to "https://www.google.com", "title" to "Google's Homepage")
- )))
+ P(
+ listOf(
+ A(
+ listOf(Text("I'm an inline-style link with title")),
+ mapOf("href" to "https://www.google.com", "title" to "Google's Homepage")
+ )
+ )
+ )
)
)
)
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Full reference link`() {
+ @Test
+ fun `Full reference link`() {
val kdoc = """
| [I'm a reference-style link][Arbitrary case-insensitive reference text]
|
@@ -782,17 +912,26 @@ class ParserTest : KDocTest() {
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(P(listOf(A(
- listOf(Text("I'm a reference-style link")),
- mapOf("href" to "https://www.mozilla.org")
- )))))
+ P(
+ listOf(
+ P(
+ listOf(
+ A(
+ listOf(Text("I'm a reference-style link")),
+ mapOf("href" to "https://www.mozilla.org")
+ )
+ )
+ )
+ )
+ )
)
)
)
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Full reference link with number`() {
+ @Test
+ fun `Full reference link with number`() {
val kdoc = """
| [You can use numbers for reference-style link definitions][1]
|
@@ -801,17 +940,26 @@ class ParserTest : KDocTest() {
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(P(listOf(A(
- listOf(Text("You can use numbers for reference-style link definitions")),
- mapOf("href" to "http://slashdot.org")
- )))))
+ P(
+ listOf(
+ P(
+ listOf(
+ A(
+ listOf(Text("You can use numbers for reference-style link definitions")),
+ mapOf("href" to "http://slashdot.org")
+ )
+ )
+ )
+ )
+ )
)
)
)
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Short reference link`() {
+ @Test
+ fun `Short reference link`() {
val kdoc = """
| Or leave it empty and use the [link text itself].
|
@@ -820,21 +968,28 @@ class ParserTest : KDocTest() {
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(P(listOf(
- Text("Or leave it empty and use the "),
- A(
- listOf(Text("link text itself")),
- mapOf("href" to "http://www.reddit.com")
- ),
- Text(".")
- ))))
+ P(
+ listOf(
+ P(
+ listOf(
+ Text("Or leave it empty and use the "),
+ A(
+ listOf(Text("link text itself")),
+ mapOf("href" to "http://www.reddit.com")
+ ),
+ Text(".")
+ )
+ )
+ )
+ )
)
)
)
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Autolink`() {
+ @Test
+ fun `Autolink`() {
val kdoc = """
| URLs and URLs in angle brackets will automatically get turned into links.
| http://www.example.com or <http://www.example.com> and sometimes
@@ -843,21 +998,24 @@ class ParserTest : KDocTest() {
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(
- Text("URLs and URLs in angle brackets will automatically get turned into links. http://www.example.com or "),
- A(
- listOf(Text("http://www.example.com")),
- mapOf("href" to "http://www.example.com")
- ),
- Text(" and sometimes example.com (but not on Github, for example).")
- ))
+ P(
+ listOf(
+ Text("URLs and URLs in angle brackets will automatically get turned into links. http://www.example.com or "),
+ A(
+ listOf(Text("http://www.example.com")),
+ mapOf("href" to "http://www.example.com")
+ ),
+ Text(" and sometimes example.com (but not on Github, for example).")
+ )
+ )
)
)
)
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Various links`() {
+ @Test
+ fun `Various links`() {
val kdoc = """
| [I'm an inline-style link](https://www.google.com)
|
@@ -882,55 +1040,80 @@ class ParserTest : KDocTest() {
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(
- P(listOf(A(
- listOf(Text("I'm an inline-style link")),
- mapOf("href" to "https://www.google.com")
- ))),
- P(listOf(A(
- listOf(Text("I'm an inline-style link with title")),
- mapOf("href" to "https://www.google.com", "title" to "Google's Homepage")
- ))),
- P(listOf(A(
- listOf(Text("I'm a reference-style link")),
- mapOf("href" to "https://www.mozilla.org")
- ))),
- P(listOf(A(
- listOf(Text("You can use numbers for reference-style link definitions")),
- mapOf("href" to "http://slashdot.org")
- ))),
- P(listOf(
- Text("Or leave it empty and use the "),
- A(
- listOf(Text("link text itself")),
- mapOf("href" to "http://www.reddit.com")
+ P(
+ listOf(
+ P(
+ listOf(
+ A(
+ listOf(Text("I'm an inline-style link")),
+ mapOf("href" to "https://www.google.com")
+ )
+ )
),
- Text(".")
- )),
- P(listOf(
- Text("URLs and URLs in angle brackets will automatically get turned into links. http://www.example.com or "),
- A(
- listOf(Text("http://www.example.com")),
- mapOf("href" to "http://www.example.com")
+ P(
+ listOf(
+ A(
+ listOf(Text("I'm an inline-style link with title")),
+ mapOf("href" to "https://www.google.com", "title" to "Google's Homepage")
+ )
+ )
),
- Text(" and sometimes example.com (but not on Github, for example).")
- )),
- P(listOf(Text("Some text to show that the reference links can follow later.")))
- ))
+ P(
+ listOf(
+ A(
+ listOf(Text("I'm a reference-style link")),
+ mapOf("href" to "https://www.mozilla.org")
+ )
+ )
+ ),
+ P(
+ listOf(
+ A(
+ listOf(Text("You can use numbers for reference-style link definitions")),
+ mapOf("href" to "http://slashdot.org")
+ )
+ )
+ ),
+ P(
+ listOf(
+ Text("Or leave it empty and use the "),
+ A(
+ listOf(Text("link text itself")),
+ mapOf("href" to "http://www.reddit.com")
+ ),
+ Text(".")
+ )
+ ),
+ P(
+ listOf(
+ Text("URLs and URLs in angle brackets will automatically get turned into links. http://www.example.com or "),
+ A(
+ listOf(Text("http://www.example.com")),
+ mapOf("href" to "http://www.example.com")
+ ),
+ Text(" and sometimes example.com (but not on Github, for example).")
+ )
+ ),
+ P(listOf(Text("Some text to show that the reference links can follow later.")))
+ )
+ )
)
)
)
executeTest(kdoc, expectedDocumentationNode)
}
- @Test fun `Windows Carriage Return Line Feed`() {
+ @Test
+ fun `Windows Carriage Return Line Feed`() {
val kdoc = "text\r\ntext"
val expectedDocumentationNode = DocumentationNode(
listOf(
Description(
- P(listOf(
- Text("text text")
- ))
+ P(
+ listOf(
+ Text("text text")
+ )
+ )
)
)
)
diff --git a/plugins/base/src/test/kotlin/model/ClassesTest.kt b/plugins/base/src/test/kotlin/model/ClassesTest.kt
index 4855056c..2f83d8c0 100644
--- a/plugins/base/src/test/kotlin/model/ClassesTest.kt
+++ b/plugins/base/src/test/kotlin/model/ClassesTest.kt
@@ -1,9 +1,9 @@
package model
import org.jetbrains.dokka.model.*
-import org.jetbrains.dokka.model.KotlinModifier.*
import org.jetbrains.dokka.model.DFunction
-import org.junit.Test
+import org.jetbrains.dokka.model.KotlinModifier.*
+import org.junit.jupiter.api.Test
import utils.AbstractModelTest
import utils.assertNotNull
import utils.name
@@ -151,7 +151,7 @@ class ClassesTest : AbstractModelTest("/src/main/kotlin/classes/Test.kt", "class
name equals "Klass"
visibility.values allEquals KotlinVisibility.Public
with(extra[AdditionalModifiers.AdditionalKey].assertNotNull("Extras")) {
- content.find{it == ExtraModifiers.DATA}.assertNotNull("data modifier")
+ content.find { it == ExtraModifiers.DATA }.assertNotNull("data modifier")
}
}
}
diff --git a/plugins/base/src/test/kotlin/model/CommentTest.kt b/plugins/base/src/test/kotlin/model/CommentTest.kt
index 055892af..b1faa07f 100644
--- a/plugins/base/src/test/kotlin/model/CommentTest.kt
+++ b/plugins/base/src/test/kotlin/model/CommentTest.kt
@@ -3,7 +3,7 @@ package model
import org.jetbrains.dokka.model.DProperty
import org.jetbrains.dokka.model.doc.CustomWrapperTag
import org.jetbrains.dokka.model.doc.Text
-import org.junit.Test
+import org.junit.jupiter.api.Test
import utils.*
class CommentTest : AbstractModelTest("/src/main/kotlin/comment/Test.kt", "comment") {
diff --git a/plugins/base/src/test/kotlin/model/FunctionsTest.kt b/plugins/base/src/test/kotlin/model/FunctionsTest.kt
index 97d6b237..c8b8f2ba 100644
--- a/plugins/base/src/test/kotlin/model/FunctionsTest.kt
+++ b/plugins/base/src/test/kotlin/model/FunctionsTest.kt
@@ -2,7 +2,7 @@ package model
import org.jetbrains.dokka.model.DFunction
import org.jetbrains.dokka.model.DPackage
-import org.junit.Test
+import org.junit.jupiter.api.Test
import utils.*
class FunctionTest : AbstractModelTest("/src/main/kotlin/function/Test.kt", "function") {
diff --git a/plugins/base/src/test/kotlin/model/InheritorsTest.kt b/plugins/base/src/test/kotlin/model/InheritorsTest.kt
index b3d7bf92..da128803 100644
--- a/plugins/base/src/test/kotlin/model/InheritorsTest.kt
+++ b/plugins/base/src/test/kotlin/model/InheritorsTest.kt
@@ -7,7 +7,7 @@ import org.jetbrains.dokka.base.transformers.documentables.InheritorsInfo
import org.jetbrains.dokka.model.DInterface
import org.jetbrains.dokka.model.DPackage
import org.jetbrains.dokka.plugability.DokkaPlugin
-import org.junit.Test
+import org.junit.jupiter.api.Test
import utils.AbstractModelTest
import utils.assertNotNull
diff --git a/plugins/base/src/test/kotlin/model/JavaTest.kt b/plugins/base/src/test/kotlin/model/JavaTest.kt
index 1e33d6fd..c6d111a4 100644
--- a/plugins/base/src/test/kotlin/model/JavaTest.kt
+++ b/plugins/base/src/test/kotlin/model/JavaTest.kt
@@ -3,8 +3,8 @@ package model
import org.jetbrains.dokka.model.*
import org.jetbrains.dokka.model.DEnum
import org.jetbrains.dokka.model.DFunction
-import org.junit.Assert.assertTrue
-import org.junit.Test
+import org.junit.jupiter.api.Assertions.assertTrue
+import org.junit.jupiter.api.Test
import utils.AbstractModelTest
import utils.assertNotNull
import utils.name
@@ -112,8 +112,8 @@ class JavaTest : AbstractModelTest("/src/main/kotlin/java/Test.java", "java") {
with((this / "java" / "Foo").cast<DClass>()) {
val sups = listOf("Exception", "Cloneable")
assertTrue(
- "Foo must extend ${sups.joinToString(", ")}",
sups.all { s -> supertypes.map.values.flatten().any { it.classNames == s } })
+ "Foo must extend ${sups.joinToString(", ")}"
}
}
}
diff --git a/plugins/base/src/test/kotlin/model/PackagesTest.kt b/plugins/base/src/test/kotlin/model/PackagesTest.kt
index 008ae14d..8885dae0 100644
--- a/plugins/base/src/test/kotlin/model/PackagesTest.kt
+++ b/plugins/base/src/test/kotlin/model/PackagesTest.kt
@@ -1,7 +1,7 @@
package model
import org.jetbrains.dokka.model.DPackage
-import org.junit.Test
+import org.junit.jupiter.api.Test
import utils.AbstractModelTest
class PackagesTest : AbstractModelTest("/src/main/kotlin/packages/Test.kt", "packages") {
diff --git a/plugins/base/src/test/kotlin/model/PropertyTest.kt b/plugins/base/src/test/kotlin/model/PropertyTest.kt
index 4af4ee5a..f391df4e 100644
--- a/plugins/base/src/test/kotlin/model/PropertyTest.kt
+++ b/plugins/base/src/test/kotlin/model/PropertyTest.kt
@@ -3,7 +3,7 @@ package model
import org.jetbrains.dokka.model.KotlinVisibility
import org.jetbrains.dokka.model.DPackage
import org.jetbrains.dokka.model.DProperty
-import org.junit.Test
+import org.junit.jupiter.api.Test
import utils.AbstractModelTest
import utils.assertNotNull
import utils.name
diff --git a/plugins/base/src/test/kotlin/multiplatform/BasicMultiplatformTest.kt b/plugins/base/src/test/kotlin/multiplatform/BasicMultiplatformTest.kt
index e9605c5f..0111e8fb 100644
--- a/plugins/base/src/test/kotlin/multiplatform/BasicMultiplatformTest.kt
+++ b/plugins/base/src/test/kotlin/multiplatform/BasicMultiplatformTest.kt
@@ -1,7 +1,7 @@
package multiplatform
-import org.junit.Assert.assertEquals
-import org.junit.Test
+import org.junit.jupiter.api.Assertions.assertEquals
+import org.junit.jupiter.api.Test
import org.jetbrains.dokka.testApi.testRunner.AbstractCoreTest
class BasicMultiplatformTest : AbstractCoreTest() {
diff --git a/plugins/base/src/test/kotlin/pageMerger/PageNodeMergerTest.kt b/plugins/base/src/test/kotlin/pageMerger/PageNodeMergerTest.kt
index 4b90604e..15dc5581 100644
--- a/plugins/base/src/test/kotlin/pageMerger/PageNodeMergerTest.kt
+++ b/plugins/base/src/test/kotlin/pageMerger/PageNodeMergerTest.kt
@@ -1,13 +1,10 @@
package pageMerger
-import org.jetbrains.dokka.CoreExtensions
import org.jetbrains.dokka.pages.ContentPage
import org.jetbrains.dokka.pages.PageNode
-import org.jetbrains.dokka.plugability.DokkaPlugin
-import org.jetbrains.dokka.base.transformers.pages.merger.SameMethodNamePageMergerStrategy
-import org.jetbrains.dokka.utilities.DokkaLogger
-import org.junit.Ignore
-import org.junit.Test
+import org.junit.jupiter.api.Assertions.assertTrue
+import org.junit.jupiter.api.Disabled
+import org.junit.jupiter.api.Test
import org.jetbrains.dokka.testApi.testRunner.AbstractCoreTest
class PageNodeMergerTest : AbstractCoreTest() {
@@ -70,16 +67,16 @@ class PageNodeMergerTest : AbstractCoreTest() {
val testT = allChildren.filter { it.name == "testT" }
val test = allChildren.filter { it.name == "test" }
- assert(testT.size == 1) { "There can be only one testT page" }
- assert(testT.first().dri.size == 2) { "testT page should have 2 DRI, but has ${testT.first().dri.size}" }
+ assertTrue(testT.size == 1) { "There can be only one testT page" }
+ assertTrue(testT.first().dri.size == 2) { "testT page should have 2 DRI, but has ${testT.first().dri.size}" }
- assert(test.size == 1) { "There can be only one test page" }
- assert(test.first().dri.size == 2) { "test page should have 2 DRI, but has ${test.first().dri.size}" }
+ assertTrue(test.size == 1) { "There can be only one test page" }
+ assertTrue(test.first().dri.size == 2) { "test page should have 2 DRI, but has ${test.first().dri.size}" }
}
}
}
- @Ignore("TODO: reenable when we have infrastructure for turning off extensions")
+ @Disabled("TODO: reenable when we have infrastructure for turning off extensions")
@Test
fun defaultStrategyTest() {
val strList: MutableList<String> = mutableListOf()
diff --git a/plugins/base/src/test/kotlin/renderers/html/GroupWrappingTest.kt b/plugins/base/src/test/kotlin/renderers/html/GroupWrappingTest.kt
index e98b97c0..f39d845a 100644
--- a/plugins/base/src/test/kotlin/renderers/html/GroupWrappingTest.kt
+++ b/plugins/base/src/test/kotlin/renderers/html/GroupWrappingTest.kt
@@ -2,7 +2,7 @@ package renderers.html
import org.jetbrains.dokka.base.renderers.html.HtmlRenderer
import org.jetbrains.dokka.pages.TextStyle
-import org.junit.Test
+import org.junit.jupiter.api.Test
import renderers.RenderingOnlyTestBase
import renderers.TestPage
diff --git a/plugins/base/src/test/kotlin/renderers/html/PlatformDependentHintTest.kt b/plugins/base/src/test/kotlin/renderers/html/PlatformDependentHintTest.kt
index 2fda1ee1..f1d50007 100644
--- a/plugins/base/src/test/kotlin/renderers/html/PlatformDependentHintTest.kt
+++ b/plugins/base/src/test/kotlin/renderers/html/PlatformDependentHintTest.kt
@@ -3,13 +3,12 @@ package renderers.html
import org.jetbrains.dokka.Platform
import org.jetbrains.dokka.base.renderers.html.HtmlRenderer
import org.jetbrains.dokka.pages.PlatformData
-import org.jetbrains.dokka.pages.Style
import org.jetbrains.dokka.pages.TextStyle
-import org.junit.Test
+import org.junit.jupiter.api.Test
import renderers.RenderingOnlyTestBase
import renderers.TestPage
-class PlatformDependentHintTest: RenderingOnlyTestBase() {
+class PlatformDependentHintTest : RenderingOnlyTestBase() {
private val pl1 = PlatformData("pl1", Platform.js, listOf("pl1"))
private val pl2 = PlatformData("pl2", Platform.jvm, listOf("pl2"))
private val pl3 = PlatformData("pl3", Platform.native, listOf("pl3"))