> result = new ArrayList<>(Arrays.asList(
// Generic unknown node formatter
new HtmlNodeRendererHandler<>(FlexmarkHtmlConverter.COMMENT_NODE, Comment.class, this::processComment),
new HtmlNodeRendererHandler<>(FlexmarkHtmlConverter.A_NODE, Element.class, this::processA),
diff --git a/flexmark-html2md-converter/src/test/java/com/vladsch/flexmark/html2md/converter/HtmlNodeRendererHandlerTest.java b/flexmark-html2md-converter/src/test/java/com/vladsch/flexmark/html2md/converter/HtmlNodeRendererHandlerTest.java
new file mode 100644
index 0000000000..a999b4b13c
--- /dev/null
+++ b/flexmark-html2md-converter/src/test/java/com/vladsch/flexmark/html2md/converter/HtmlNodeRendererHandlerTest.java
@@ -0,0 +1,44 @@
+package com.vladsch.flexmark.html2md.converter;
+
+import com.vladsch.flexmark.util.data.DataHolder;
+
+import com.vladsch.flexmark.util.data.MutableDataSet;
+
+import org.junit.Test;
+
+import static com.vladsch.flexmark.html2md.converter.FlexmarkHtmlConverter.UNWRAPPED_TAGS;
+import static org.junit.Assert.assertEquals;
+
+public class HtmlNodeRendererHandlerTest {
+ @Test
+ public void overrideDefinitionListRendererHandler() {
+ String markdown;
+ int incorrect = 0;
+
+ DataHolder flexmarkOptions = new MutableDataSet()
+ .set(UNWRAPPED_TAGS, new String[]{"article", "address", "frameset", "section", "small", "iframe",
+ "dl", "dt", "dd",})
+ .toImmutable();
+ FlexmarkHtmlConverter converter = FlexmarkHtmlConverter.builder(flexmarkOptions).build();
+
+ for (int i = 0; i < 10000; i++) {
+ String html = "\n" +
+ "\n" +
+ "
\n" +
+ "- Data 1
\n" +
+ "\n" +
+ "- Data 2
\n" +
+ "\n" +
+ "\n" +
+ "
";
+
+ markdown = converter.convert(html);
+
+ if (!markdown.contains("Data 2")) {
+ incorrect++;
+ }
+ }
+
+ assertEquals(0, incorrect);
+ }
+}
diff --git a/flexmark-java-samples/src/com/vladsch/flexmark/java/samples/HtmlToMarkdownCustomizedSample.java b/flexmark-java-samples/src/com/vladsch/flexmark/java/samples/HtmlToMarkdownCustomizedSample.java
index d123e5cbba..bf4db802f3 100644
--- a/flexmark-java-samples/src/com/vladsch/flexmark/java/samples/HtmlToMarkdownCustomizedSample.java
+++ b/flexmark-java-samples/src/com/vladsch/flexmark/java/samples/HtmlToMarkdownCustomizedSample.java
@@ -11,8 +11,9 @@
import org.jsoup.nodes.Element;
import org.jsoup.nodes.Node;
+import java.util.ArrayList;
import java.util.Collections;
-import java.util.HashSet;
+import java.util.List;
import java.util.Set;
public class HtmlToMarkdownCustomizedSample {
@@ -77,8 +78,8 @@ public CustomHtmlNodeConverter(DataHolder options) {
}
@Override
- public Set> getHtmlNodeRendererHandlers() {
- return new HashSet<>(Collections.singletonList(
+ public List> getHtmlNodeRendererHandlers() {
+ return new ArrayList<>(Collections.singletonList(
new HtmlNodeRendererHandler<>("kbd", Element.class, this::processKbd)
));
}