From 326048cd6ed3334a84e489dac8c692bc184709c0 Mon Sep 17 00:00:00 2001 From: Ryan Nett Date: Thu, 6 May 2021 02:09:21 -0700 Subject: 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 --- ...seModuleAndPackageDocumentationFragmentsTest.kt | 26 ++++++++++++++++------ ...textModuleAndPackageDocumentationReaderTest1.kt | 15 +++++++------ 2 files changed, 27 insertions(+), 14 deletions(-) (limited to 'plugins/base/src/test/kotlin') 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( @@ -56,6 +58,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 { 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( "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 -- cgit