From 89a36e0eed4a31856cca0cedb9b67ce79cee5100 Mon Sep 17 00:00:00 2001 From: Ingo Kegel Date: Mon, 4 Jan 2016 13:36:54 +0100 Subject: Embedded underscores in words like word_with_underscores or single embedded stars like embedded*star were removed in the output. --- core/src/main/kotlin/Kotlin/ContentBuilder.kt | 6 ++++++ core/src/test/kotlin/format/HtmlFormatTest.kt | 6 ++++++ core/src/test/kotlin/markdown/ParserTest.kt | 12 ++++++++++++ core/testdata/format/uninterpretedEmphasisCharacters.html | 15 +++++++++++++++ core/testdata/format/uninterpretedEmphasisCharacters.kt | 5 +++++ 5 files changed, 44 insertions(+) create mode 100644 core/testdata/format/uninterpretedEmphasisCharacters.html create mode 100644 core/testdata/format/uninterpretedEmphasisCharacters.kt (limited to 'core') diff --git a/core/src/main/kotlin/Kotlin/ContentBuilder.kt b/core/src/main/kotlin/Kotlin/ContentBuilder.kt index c4bb18de..1a6ffb98 100644 --- a/core/src/main/kotlin/Kotlin/ContentBuilder.kt +++ b/core/src/main/kotlin/Kotlin/ContentBuilder.kt @@ -103,6 +103,12 @@ public fun buildContentTo(tree: MarkdownNode, target: ContentBlock, linkResolver parent.append(createEntityOrText(node.text)) } + MarkdownTokenTypes.EMPH -> { + if (node.parent?.type != MarkdownElementTypes.EMPH) { + parent.append(ContentText(node.text)) + } + } + MarkdownTokenTypes.COLON, MarkdownTokenTypes.DOUBLE_QUOTE, MarkdownTokenTypes.LT, diff --git a/core/src/test/kotlin/format/HtmlFormatTest.kt b/core/src/test/kotlin/format/HtmlFormatTest.kt index 593dbfe6..8045d38c 100644 --- a/core/src/test/kotlin/format/HtmlFormatTest.kt +++ b/core/src/test/kotlin/format/HtmlFormatTest.kt @@ -153,5 +153,11 @@ public class HtmlFormatTest { htmlService.appendNodes(tempLocation, output, model.members.single().members.filter { it.name == "Bar" }) } } + + @Test fun uninterpretedEmphasisCharacters() { + verifyOutput("testdata/format/uninterpretedEmphasisCharacters.kt", ".html") { model, output -> + htmlService.appendNodes(tempLocation, output, model.members.single().members) + } + } } diff --git a/core/src/test/kotlin/markdown/ParserTest.kt b/core/src/test/kotlin/markdown/ParserTest.kt index 5a7adf05..b0ec68ff 100644 --- a/core/src/test/kotlin/markdown/ParserTest.kt +++ b/core/src/test/kotlin/markdown/ParserTest.kt @@ -86,6 +86,18 @@ number two runTestFor("*text*") } + @Test fun underscoresNoEmph() { + runTestFor("text_with_underscores") + } + + @Test fun emphUnderscores() { + runTestFor("_text_") + } + + @Test fun singleStar() { + runTestFor("Embedded*Star") + } + @Test fun directive() { runTestFor("A text \${code with.another.value} with directive") } diff --git a/core/testdata/format/uninterpretedEmphasisCharacters.html b/core/testdata/format/uninterpretedEmphasisCharacters.html new file mode 100644 index 00000000..9afd88d9 --- /dev/null +++ b/core/testdata/format/uninterpretedEmphasisCharacters.html @@ -0,0 +1,15 @@ + + +test / foo + + +test / foo
+
+

foo

+fun foo(): Unit
+

This is emphasized text but text_with_underscores has to preserve the underscores. +Single stars embedded in a word like Embedded*Star have to be preserved as well.

+
+
+ + diff --git a/core/testdata/format/uninterpretedEmphasisCharacters.kt b/core/testdata/format/uninterpretedEmphasisCharacters.kt new file mode 100644 index 00000000..711bb567 --- /dev/null +++ b/core/testdata/format/uninterpretedEmphasisCharacters.kt @@ -0,0 +1,5 @@ +/** + * This is _emphasized text_ but text_with_underscores has to preserve the underscores. + * Single stars embedded in a word like Embedded*Star have to be preserved as well. + */ +fun foo() {} \ No newline at end of file -- cgit