This is an automated email from the ASF dual-hosted git repository. kwin pushed a commit to branch bugfix/nested-lists-are-always-loose in repository https://gitbox.apache.org/repos/asf/maven-doxia.git
commit f0a40a215f5c420ee73c70b6fd445fe28f05c198 Author: Konrad Windszus <k...@apache.org> AuthorDate: Tue Oct 22 13:24:31 2024 +0200 [DOXIA-753] Do not end lists with a blank line Otherwise every nested list is implicitly "loose" instead of "tight" --- .../maven/doxia/module/markdown/MarkdownSink.java | 4 +-- .../doxia/module/markdown/MarkdownSinkTest.java | 39 +++++++++++++++++++--- 2 files changed, 37 insertions(+), 6 deletions(-) diff --git a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownSink.java b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownSink.java index 5cdb78b5..4463a63e 100644 --- a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownSink.java +++ b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownSink.java @@ -448,7 +448,7 @@ public class MarkdownSink extends AbstractTextSink implements MarkdownMarkup { @Override public void list_() { - ensureBlankLine(); + ensureBeginningOfLine(); } @Override @@ -476,7 +476,7 @@ public class MarkdownSink extends AbstractTextSink implements MarkdownMarkup { @Override public void numberedList_() { - writeUnescaped(EOL); + ensureBeginningOfLine(); } @Override diff --git a/doxia-modules/doxia-module-markdown/src/test/java/org/apache/maven/doxia/module/markdown/MarkdownSinkTest.java b/doxia-modules/doxia-module-markdown/src/test/java/org/apache/maven/doxia/module/markdown/MarkdownSinkTest.java index cda8c930..73e62516 100644 --- a/doxia-modules/doxia-module-markdown/src/test/java/org/apache/maven/doxia/module/markdown/MarkdownSinkTest.java +++ b/doxia-modules/doxia-module-markdown/src/test/java/org/apache/maven/doxia/module/markdown/MarkdownSinkTest.java @@ -157,12 +157,12 @@ public class MarkdownSinkTest extends AbstractSinkTest { /** {@inheritDoc} */ protected String getListBlock(String item) { - return MarkdownMarkup.LIST_UNORDERED_ITEM_START_MARKUP + getEscapedText(item) + EOL + EOL; + return MarkdownMarkup.LIST_UNORDERED_ITEM_START_MARKUP + getEscapedText(item) + EOL; } /** {@inheritDoc} */ protected String getNumberedListBlock(String item) { - return MarkdownMarkup.LIST_ORDERED_ITEM_START_MARKUP + getEscapedText(item) + EOL + EOL; + return MarkdownMarkup.LIST_ORDERED_ITEM_START_MARKUP + getEscapedText(item) + EOL; } /** {@inheritDoc} */ @@ -486,7 +486,6 @@ public class MarkdownSinkTest extends AbstractSinkTest { String expected = "- item1" + EOL + " - item1a" + EOL - + EOL + "- " + EOL + EOL + " > blockquote" + EOL + EOL + "- item3" + EOL @@ -548,7 +547,7 @@ public class MarkdownSinkTest extends AbstractSinkTest { String expected = "- Before" + EOL + EOL + MarkdownMarkup.INDENT + MarkdownMarkup.VERBATIM_START_MARKUP + EOL + MarkdownMarkup.INDENT + "codeline1" + EOL + MarkdownMarkup.INDENT + "codeline2" + EOL - + MarkdownMarkup.INDENT + MarkdownMarkup.VERBATIM_END_MARKUP + EOL + EOL + "After" + EOL + EOL; + + MarkdownMarkup.INDENT + MarkdownMarkup.VERBATIM_END_MARKUP + EOL + EOL + "After" + EOL; assertEquals(expected, getSinkContent(), "Wrong verbatim!"); } @@ -570,4 +569,36 @@ public class MarkdownSinkTest extends AbstractSinkTest { + "<dd>prefix <code>code</code><em>suffix<a>test</a></em></dd>" + EOL + "</dl>" + EOL + EOL; assertEquals(expected, getSinkContent(), "Wrong heading after inline element!"); } + + @Test + public void testNestedListBeingTight() { + try (final Sink sink = getSink()) { + sink.list(); + sink.listItem(); + sink.text("item 1"); + sink.listItem_(); + sink.listItem(); + sink.text("item 2"); + sink.list(); + sink.listItem(); + sink.text("item 2 a"); + sink.listItem_(); + sink.listItem(); + sink.text("item 2 b"); + sink.listItem_(); + sink.list_(); + sink.listItem_(); + sink.list_(); + sink.listItem(); + sink.text("item 3"); + sink.listItem_(); + sink.list(); + } + String expected = "- item 1" + EOL + + "- item 2" + EOL + + " - item 2 a" + EOL + + " - item 2 b" + EOL + + "- item 3" + EOL; + assertEquals(expected, getSinkContent()); + } }