aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/test
diff options
context:
space:
mode:
authorRyan Nett <JNett96@gmail.com>2021-05-06 02:09:21 -0700
committerGitHub <noreply@github.com>2021-05-06 11:09:21 +0200
commit326048cd6ed3334a84e489dac8c692bc184709c0 (patch)
treefe9004e41ba7731bb90d4cbdf022e611d5c269e1 /plugins/base/src/test
parent63378589a37b740cad0ede77b159e888fbbed89c (diff)
downloaddokka-326048cd6ed3334a84e489dac8c692bc184709c0.tar.gz
dokka-326048cd6ed3334a84e489dac8c692bc184709c0.tar.bz2
dokka-326048cd6ed3334a84e489dac8c692bc184709c0.zip
Fix line separator issues (#1887)
* Fix line separator issues * Test fix * Handle just CR as well, add better test * Add escaped \r\n to tests
Diffstat (limited to 'plugins/base/src/test')
-rw-r--r--plugins/base/src/test/kotlin/parsers/ParseModuleAndPackageDocumentationFragmentsTest.kt26
-rw-r--r--plugins/base/src/test/kotlin/transformers/ContextModuleAndPackageDocumentationReaderTest1.kt15
2 files changed, 27 insertions, 14 deletions
diff --git a/plugins/base/src/test/kotlin/parsers/ParseModuleAndPackageDocumentationFragmentsTest.kt b/plugins/base/src/test/kotlin/parsers/ParseModuleAndPackageDocumentationFragmentsTest.kt
index a2c2f97d..4560c532 100644
--- a/plugins/base/src/test/kotlin/parsers/ParseModuleAndPackageDocumentationFragmentsTest.kt
+++ b/plugins/base/src/test/kotlin/parsers/ParseModuleAndPackageDocumentationFragmentsTest.kt
@@ -1,8 +1,12 @@
package parsers
-import org.jetbrains.dokka.base.parsers.moduleAndPackage.*
+import org.jetbrains.dokka.base.parsers.moduleAndPackage.IllegalModuleAndPackageDocumentation
import org.jetbrains.dokka.base.parsers.moduleAndPackage.ModuleAndPackageDocumentation.Classifier.Module
import org.jetbrains.dokka.base.parsers.moduleAndPackage.ModuleAndPackageDocumentation.Classifier.Package
+import org.jetbrains.dokka.base.parsers.moduleAndPackage.ModuleAndPackageDocumentationFile
+import org.jetbrains.dokka.base.parsers.moduleAndPackage.ModuleAndPackageDocumentationFragment
+import org.jetbrains.dokka.base.parsers.moduleAndPackage.ModuleAndPackageDocumentationSource
+import org.jetbrains.dokka.base.parsers.moduleAndPackage.parseModuleAndPackageDocumentationFragments
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.Test
@@ -12,9 +16,7 @@ import java.nio.file.Path
class ParseModuleAndPackageDocumentationFragmentsTest {
- @Test
- fun `basic example`() {
-
+ private fun testBasicExample(lineSeperator: String = "\n") {
val source = source(
"""
# Module kotlin-demo
@@ -23,11 +25,11 @@ class ParseModuleAndPackageDocumentationFragmentsTest {
# Package org.jetbrains.kotlin.demo
Package demo description
## Level 2 heading
- Heading 2
+ Heading 2\r\n
# Package org.jetbrains.kotlin.demo2
Package demo2 description
- """.trimIndent()
+ """.trimIndent().replace("\n", lineSeperator)
)
val fragments = parseModuleAndPackageDocumentationFragments(source)
@@ -42,7 +44,7 @@ class ParseModuleAndPackageDocumentationFragmentsTest {
ModuleAndPackageDocumentationFragment(
classifier = Package,
name = "org.jetbrains.kotlin.demo",
- documentation = "Package demo description\n## Level 2 heading\nHeading 2",
+ documentation = "Package demo description${lineSeperator}## Level 2 heading${lineSeperator}Heading 2\\r\\n",
source = source
),
ModuleAndPackageDocumentationFragment(
@@ -57,6 +59,16 @@ class ParseModuleAndPackageDocumentationFragmentsTest {
}
@Test
+ fun `basic example`() {
+ testBasicExample()
+ }
+
+ @Test
+ fun `CRLF line seperators`() {
+ testBasicExample("\r\n")
+ }
+
+ @Test
fun `no module name specified fails`() {
val exception = assertThrows<IllegalModuleAndPackageDocumentation> {
parseModuleAndPackageDocumentationFragments(
diff --git a/plugins/base/src/test/kotlin/transformers/ContextModuleAndPackageDocumentationReaderTest1.kt b/plugins/base/src/test/kotlin/transformers/ContextModuleAndPackageDocumentationReaderTest1.kt
index a3069107..4b4116a2 100644
--- a/plugins/base/src/test/kotlin/transformers/ContextModuleAndPackageDocumentationReaderTest1.kt
+++ b/plugins/base/src/test/kotlin/transformers/ContextModuleAndPackageDocumentationReaderTest1.kt
@@ -14,7 +14,6 @@ import org.junit.jupiter.api.assertThrows
import testApi.testRunner.TestDokkaConfigurationBuilder
import testApi.testRunner.dModule
import testApi.testRunner.dPackage
-import java.lang.IllegalStateException
class ContextModuleAndPackageDocumentationReaderTest1 : AbstractContextModuleAndPackageDocumentationReaderTest() {
@@ -30,11 +29,11 @@ class ContextModuleAndPackageDocumentationReaderTest1 : AbstractContextModuleAnd
This is moduleA
# Package sample.a
- This is package sample.a
+ This is package sample.a\r\n
# Package noise.b
This will just add some noise
- """.trimIndent()
+ """.trimIndent().replace("\n", "\r\n")
)
includeSourceSetB.writeText(
@@ -114,9 +113,11 @@ class ContextModuleAndPackageDocumentationReaderTest1 : AbstractContextModuleAnd
fun `assert moduleA with unknown source set`() {
assertThrows<IllegalStateException>(
"Expected no documentation received for module with unknown sourceSet"
- ) { reader[
- dModule("moduleA", sourceSets = setOf(configurationBuilder.unattachedSourceSet { name = "unknown" }))
- ]}
+ ) {
+ reader[
+ dModule("moduleA", sourceSets = setOf(configurationBuilder.unattachedSourceSet { name = "unknown" }))
+ ]
+ }
}
@Test
@@ -140,7 +141,7 @@ class ContextModuleAndPackageDocumentationReaderTest1 : AbstractContextModuleAnd
val documentation = reader[dPackage(DRI("sample.a"), sourceSets = setOf(sourceSetA))]
assertEquals(1, documentation.keys.size, "Expected only one entry from sourceSetA")
assertEquals(sourceSetA, documentation.keys.single(), "Expected only one entry from sourceSetA")
- assertEquals("This is package sample.a", documentation.texts.single())
+ assertEquals("This is package sample.a\\r\\n", documentation.texts.single())
}
@Test