From 9c6634cfec5c59db93c36d7ab44b604a4c6c244c Mon Sep 17 00:00:00 2001 From: Aadhavan Srinivasan Date: Tue, 20 May 2025 16:42:40 -0400 Subject: [PATCH] Added ordered list tests --- src/MdToHtmlTest.hs | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/src/MdToHtmlTest.hs b/src/MdToHtmlTest.hs index effbda1..084cf1e 100644 --- a/src/MdToHtmlTest.hs +++ b/src/MdToHtmlTest.hs @@ -73,7 +73,24 @@ unorderedListTests = check_equal "Paragraph in list" "" (convert "- Item 1\n- Item 2\n\n More stuff\n\n- Item 3"), check_equal "Paragraph before list" "

This is a list

" (convert "This is a list\n\n* Item 1\n* Item 2"), check_equal "Paragraph before list" "

This is a list

" (convert "### This is a list\n\n* Item 1\n* Item 2"), - check_equal "Nested list then back" "" (convert "- Item 1\n- Item 2\n - Item 3\n - Item 4\n- Item 5") + check_equal "Nested list then back" "" (convert "- Item 1\n- Item 2\n - Item 3\n - Item 4\n- Item 5"), + check_equal "Blockquote in list" "" (convert "- Item 1\n- Item 2\n\n > Quote\n\n- Item 3"), + check_equal "Ordered list in unordered list" "" (convert "- Item 1\n- Item 2\n 1. Item 1\n 2. Item 2\n- Item 3") + ] + +orderedListTests = + TestList + [ check_equal "Basic ordered list" "
  1. Item 1
  2. Item 2
  3. Item 3
" (convert "1. Item 1\n2. Item 2\n3. Item 3"), + check_equal "Mixing list numbering" "
  1. Item 1
  2. Item 2
  3. Item 3
" (convert "1. Item 1\n3. Item 2\n2. Item 3"), + check_equal "Should not convert list without number 1" "

2. Item 1 1. Item 2

" (convert "2. Item 1\n1. Item 2"), + check_equal "Formatted lists" "
  1. Item 1
  2. Item 2
  3. Item 3
" (convert "1. __Item 1__\n2. _Item 2_\n3. ***Item 3***"), + check_equal "Nested list" "
  1. Item 1
  2. Item 2
  3. Item 3
    1. Subitem 1
    2. Subitem 2
" (convert "1. Item 1\n2. Item 2\n3. Item 3\n 1. Subitem 1\n 2. Subitem 2"), + check_equal "Paragraph in list" "
  1. Item 1
  2. Item 2

    More stuff

  3. Item 3
" (convert "1. Item 1\n2. Item 2\n\n More stuff\n\n1. Item 3"), + check_equal "Paragraph before list" "

This is a list

  1. Item 1
  2. Item 2
" (convert "This is a list\n\n1. Item 1\n1. Item 2"), + check_equal "Paragraph before list" "

This is a list

  1. Item 1
  2. Item 2
" (convert "### This is a list\n\n1. Item 1\n200. Item 2"), + check_equal "Nested list then back" "
  1. Item 1
  2. Item 2
    1. Item 3
    2. Item 4
  3. Item 5
" (convert "1. Item 1\n2. Item 2\n 1. Item 3\n 3. Item 4\n5. Item 5"), + check_equal "Blockquote in list" "
  1. Item 1
  2. Item 2

    Quote

  3. Item 3
" (convert "1. Item 1\n2. Item 2\n\n > Quote\n\n3. Item 3"), + check_equal "Unordered list in ordered list" "
  1. Item 1
  2. Item 2
    • Item 1
    • Item 2
  3. Item 3
" (convert "1. Item 1\n2. Item 2\n - Item 1\n * Item 2\n4. Item 3") ] integrationTests = @@ -87,14 +104,14 @@ integrationTests = check_equal "Integration 7" "

Sample Markdown

This is some basic, sample markdown.

Second \ - \Heading

Blockquote

\ + \Heading

Blockquote

\ \

And bold, italics, and even italics \ \and later bold. Even strikethrough. \ \A link to somewhere.

" ( convert "# Sample Markdown\n\nThis is some basic, sample markdown.\n\n## Second \ - \Heading\n\n- Unordered lists, and:\n - One\n - Two\n - Three\n\ + \Heading\n\n- Unordered lists, and:\n 1. One\n 2. Two\n 3. Three\n\ \- More\n\n> Blockquote\n\nAnd **bold**, *italics*, and even *italics and \ \later **bold***. Even ~~strikethrough~~. [A link](https://markdowntohtml.com) to somewhere." ) @@ -109,6 +126,7 @@ tests = escapedCharTests, blockquoteTests, unorderedListTests, + orderedListTests, integrationTests ]