Don't require blank line before Markdown code (#20215)

Fixes bug reported in https://github.com/nim-lang/Nim/pull/20189
affecting nimforum.
This commit is contained in:
Andrey Makarov
2022-08-16 01:37:45 +03:00
committed by GitHub
parent c579243e0c
commit 9f408ea943
4 changed files with 53 additions and 9 deletions

View File

@@ -576,6 +576,45 @@ suite "RST parsing":
# | |
# | \ indentation of exactly two spaces before 'let a = 1'
test "no blank line is required before or after Markdown code block":
let inputBacktick = dedent"""
Some text
```
CodeBlock()
```
Other text"""
let inputTilde = dedent"""
Some text
~~~~~~~~~
CodeBlock()
~~~~~~~~~
Other text"""
let expected = dedent"""
rnInner
rnParagraph
rnLeaf 'Some'
rnLeaf ' '
rnLeaf 'text'
rnParagraph
rnCodeBlock
[nil]
rnFieldList
rnField
rnFieldName
rnLeaf 'default-language'
rnFieldBody
rnLeaf 'Nim'
rnLiteralBlock
rnLeaf '
CodeBlock()'
rnLeaf ' '
rnLeaf 'Other'
rnLeaf ' '
rnLeaf 'text'
"""
check inputBacktick.toAst == expected
check inputTilde.toAst == expected
test "option list has priority over definition list":
check(dedent"""
--defusages

View File

@@ -389,7 +389,7 @@ Some chapter
~~~~~
"""
let output9good = input9good.toHtml
let output9good = input9good.toHtml(preferRst)
doAssert "<h1 id=\"level1\">Level1</h1>" in output9good
doAssert "<h2 id=\"level2\">Level2</h2>" in output9good
doAssert "<h3 id=\"level3\">Level3</h3>" in output9good
@@ -419,7 +419,7 @@ Some chapter
"""
var error9Bad = new string
let output9Bad = input9Bad.toHtml(error=error9Bad)
let output9Bad = input9Bad.toHtml(preferRst, error=error9Bad)
check(error9Bad[] == "input(15, 1) Error: new section expected (section " &
"level inconsistent: underline ~~~~~ unexpectedly found, while " &
"the following intermediate section level(s) are missing on " &