From e5795e0d75eb7b4e61273df1199a1b6caac26702 Mon Sep 17 00:00:00 2001 From: Aadhavan Srinivasan Date: Wed, 30 Jul 2025 15:34:43 -0400 Subject: [PATCH] Added more tests --- src/MdToHtmlTest.hs | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/MdToHtmlTest.hs b/src/MdToHtmlTest.hs index 5773ebe..d66dec7 100644 --- a/src/MdToHtmlTest.hs +++ b/src/MdToHtmlTest.hs @@ -76,7 +76,15 @@ unorderedListTests = check_equal "Nested list then back" "" (convert "- Item 1\n- Item 2\n - Item 3\n - Item 4\n- Item 5"), check_equal "Triply nested list" "" (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") + check_equal "Ordered list in unordered list" "" (convert "- Item 1\n- Item 2\n 1. Item 1\n 2. Item 2\n- Item 3"), + check_equal + "Checkbox in unordered list" + "" + (convert "- [ ] Not checked\n- [x] Checked\n- Normal list item"), + check_equal "List with link at the start" "" (convert "- [a](b)\n- [c](d)") ] orderedListTests = @@ -92,7 +100,14 @@ orderedListTests = 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"), - check_equal "List with just 1 item" "
  1. Item 1
" (convert "1. Item 1") + check_equal "List with just 1 item" "
  1. Item 1
" (convert "1. Item 1"), + check_equal + "Checkbox in ordered list" + "
    \ + \
  1. Not checked
  2. \ + \
  3. Checked
  4. \ + \
  5. Normal list item
" + (convert "1. [ ] Not checked\n2. [x] Checked\n3. Normal list item") ] htmlTests = @@ -103,7 +118,9 @@ codeTests = TestList [ check_equal "Code by itself" "

Hello world!

" (convert "`Hello world!`"), check_equal "Code in a paragraph" "

The following text is code

" (convert "The following `text` is code"), - check_equal "Code across paragraphs (shouldn't work)" "

`Incomplete

Code`

" (convert "`Incomplete\n\nCode`") -- At the moment, this is just treated as a syntax error, so nothing is rendered. + check_equal "Code across paragraphs (shouldn't work)" "

`Incomplete

Code`

" (convert "`Incomplete\n\nCode`"), -- At the moment, this is just treated as a syntax error, so nothing is rendered. + check_equal "Code block" "
Test code block
" (convert "```\nTest code block\n```"), + check_equal "Multiple code blocks" "
Test code block
Next block
" (convert "```\nTest code block\n```\n\n```\nNext block\n```") ] imageTests =