Add test for ordered list parsing with multi-line items, update parser to increment list index correctly, and bump version to 2.0.1.

This commit is contained in:
2026-01-31 15:18:32 +01:00
parent e25990ca25
commit 5c0d09e38f
12 changed files with 104 additions and 2 deletions

View File

@@ -0,0 +1,8 @@
<component name="ArtifactManager">
<artifact type="jar" name="markdown-parser-js-1.0.10-SNAPSHOT">
<output-path>$PROJECT_DIR$/build/libs</output-path>
<root id="archive" name="markdown-parser-js-1.0.10-SNAPSHOT.jar">
<element id="module-output" name="markdown-parser.jsMain" />
</root>
</artifact>
</component>

View File

@@ -0,0 +1,8 @@
<component name="ArtifactManager">
<artifact type="jar" name="markdown-parser-js-1.0.11-SNAPSHOT">
<output-path>$PROJECT_DIR$/build/libs</output-path>
<root id="archive" name="markdown-parser-js-1.0.11-SNAPSHOT.jar">
<element id="module-output" name="markdown-parser.jsMain" />
</root>
</artifact>
</component>

View File

@@ -0,0 +1,8 @@
<component name="ArtifactManager">
<artifact type="jar" name="markdown-parser-js-1.0.6-SNAPSHOT">
<output-path>$PROJECT_DIR$/build/libs</output-path>
<root id="archive" name="markdown-parser-js-1.0.6-SNAPSHOT.jar">
<element id="module-output" name="markdown-parser.jsMain" />
</root>
</artifact>
</component>

View File

@@ -0,0 +1,8 @@
<component name="ArtifactManager">
<artifact type="jar" name="markdown-parser-js-1.1.0">
<output-path>$PROJECT_DIR$/build/libs</output-path>
<root id="archive" name="markdown-parser-js-1.1.0.jar">
<element id="module-output" name="markdown-parser.jsMain" />
</root>
</artifact>
</component>

View File

@@ -0,0 +1,8 @@
<component name="ArtifactManager">
<artifact type="jar" name="markdown-parser-jvm-1.0.10-SNAPSHOT">
<output-path>$PROJECT_DIR$/build/libs</output-path>
<root id="archive" name="markdown-parser-jvm-1.0.10-SNAPSHOT.jar">
<element id="module-output" name="markdown-parser.jvmMain" />
</root>
</artifact>
</component>

View File

@@ -0,0 +1,8 @@
<component name="ArtifactManager">
<artifact type="jar" name="markdown-parser-jvm-1.0.11-SNAPSHOT">
<output-path>$PROJECT_DIR$/build/libs</output-path>
<root id="archive" name="markdown-parser-jvm-1.0.11-SNAPSHOT.jar">
<element id="module-output" name="markdown-parser.jvmMain" />
</root>
</artifact>
</component>

View File

@@ -0,0 +1,8 @@
<component name="ArtifactManager">
<artifact type="jar" name="markdown-parser-jvm-1.0.6-SNAPSHOT">
<output-path>$PROJECT_DIR$/build/libs</output-path>
<root id="archive" name="markdown-parser-jvm-1.0.6-SNAPSHOT.jar">
<element id="module-output" name="markdown-parser.jvmMain" />
</root>
</artifact>
</component>

View File

@@ -0,0 +1,8 @@
<component name="ArtifactManager">
<artifact type="jar" name="markdown-parser-jvm-1.1.0">
<output-path>$PROJECT_DIR$/build/libs</output-path>
<root id="archive" name="markdown-parser-jvm-1.1.0.jar">
<element id="module-output" name="markdown-parser.jvmMain" />
</root>
</artifact>
</component>

15
.idea/checkstyle-idea.xml generated Normal file
View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CheckStyle-IDEA" serialisationVersion="2">
<checkstyleVersion>13.0.0</checkstyleVersion>
<scanScope>JavaOnly</scanScope>
<option name="thirdPartyClasspath" />
<option name="activeLocationIds" />
<option name="locations">
<list>
<ConfigurationLocation id="bundled-sun-checks" type="BUNDLED" scope="All" description="Sun Checks">(bundled)</ConfigurationLocation>
<ConfigurationLocation id="bundled-google-checks" type="BUNDLED" scope="All" description="Google Checks">(bundled)</ConfigurationLocation>
</list>
</option>
</component>
</project>

View File

@@ -8,7 +8,7 @@ plugins {
} }
group = "nl.astraeus" group = "nl.astraeus"
version = "2.0.0" version = "2.0.1"
repositories { repositories {
mavenCentral() mavenCentral()

View File

@@ -46,10 +46,11 @@ fun markdown(text: String): List<MarkdownPart> {
parseBuffer() parseBuffer()
continue continue
} else if ( } else if (
line.startsWith("${listIndex++}.") line.startsWith("${listIndex}.")
|| line.startsWith("-.") || line.startsWith("-.")
|| line.startsWith("#.") || line.startsWith("#.")
) { ) {
listIndex++
buffer.append("\n") buffer.append("\n")
buffer.append(rawLine) buffer.append(rawLine)
} else { } else {

View File

@@ -225,6 +225,28 @@ class ParseTest {
assertEquals("Second More text", list.lines[1].text) assertEquals("Second More text", list.lines[1].text)
} }
@Test
fun testOrderedListNumbers() {
val input = """
Dit is een text
1. Item 1.
Long notes can span multiple lines in edit mode.
2. Item 2
3. Item 3
Another paragraph
""".trimIndent()
val md = markdown(input)
assertEquals(3, md.size)
val list = md[1] as MarkdownPart.OrderedList
assertEquals(3, list.lines.size)
assertEquals("Item 1. Long notes can span multiple lines in edit mode.", list.lines[0].text)
assertEquals("Item 2", list.lines[1].text)
}
@Test @Test
fun testCheckboxList() { fun testCheckboxList() {
val input = """ val input = """