Fix invalid line breaks in table cells for markdown formats
#KT-16234 fixed
diff --git a/core/src/main/kotlin/Formats/MarkdownFormatService.kt b/core/src/main/kotlin/Formats/MarkdownFormatService.kt
index f7c1740..a7c18a2 100644
--- a/core/src/main/kotlin/Formats/MarkdownFormatService.kt
+++ b/core/src/main/kotlin/Formats/MarkdownFormatService.kt
@@ -87,7 +87,11 @@
maxBackticksInCodeBlock = maxBackticksInCodeBlock.coerceAtLeast(longestBackTickRun)
}
else {
- to.append(text.htmlEscape())
+ if (text == "\n" && inTableCell) {
+ to.append(" ")
+ } else {
+ to.append(text.htmlEscape())
+ }
}
}
diff --git a/core/src/test/kotlin/format/MarkdownFormatTest.kt b/core/src/test/kotlin/format/MarkdownFormatTest.kt
index 52a6265..e3f4bae 100644
--- a/core/src/test/kotlin/format/MarkdownFormatTest.kt
+++ b/core/src/test/kotlin/format/MarkdownFormatTest.kt
@@ -364,6 +364,10 @@
verifyMarkdownNode("nestedLists")
}
+ @Test fun newlineInTableCell() {
+ verifyMarkdownPackage("newlineInTableCell")
+ }
+
private fun buildMultiplePlatforms(path: String): DocumentationModule {
val module = DocumentationModule("test")
val options = DocumentationOptions("", "html", generateIndexPages = false, noStdlibLink = true)
diff --git a/core/testdata/format/newlineInTableCell.kt b/core/testdata/format/newlineInTableCell.kt
new file mode 100644
index 0000000..3e0616f
--- /dev/null
+++ b/core/testdata/format/newlineInTableCell.kt
@@ -0,0 +1,6 @@
+/**
+ * There is `long long int` story
+ * full of
+ * new lines
+ */
+class A
\ No newline at end of file
diff --git a/core/testdata/format/newlineInTableCell.package.md b/core/testdata/format/newlineInTableCell.package.md
new file mode 100644
index 0000000..4b3875b
--- /dev/null
+++ b/core/testdata/format/newlineInTableCell.package.md
@@ -0,0 +1,8 @@
+[test](test/index)
+
+## Package <root>
+
+### Types
+
+| [A](test/-a/index) | `class A`<br>There is `long long int` story full of new lines |
+