. tests/functions.sh title "traditional code blocks" rc=0 MARKDOWN_FLAGS= try 'format for code block html' \ ' this is code' \ '
this is
code
' summary $0 title "fenced code blocks" try 'fenced code disabled backtick' \ '``` unrecognized code! ```' \ '

```

unrecognized code! ```

' try 'fenced code disabled backtick as inline code' \ '``` inline code? ```' \ '

inline code?

' try 'fenced code disabled tilde' \ '~~~ unrecognized code! ~~~' \ '

~~~

unrecognized code! ~~~

' try -ffencedcode 'fenced code block with blank lines' \ '~~~ code! still code! ~~~' \ '

code!

still code!

' try -ffencedcode 'fenced code block' \ '~~~ code! ~~~' \ '

code!

' try -ffencedcode 'fenced code block in list' \ '1. ~~~ code block ~~~' \ '
  1. code block
    
' try -ffencedcode 'fenced code block in blockquote' \ '>~~~ code ~~~' \ '

code

' try -ffencedcode 'unterminated fenced code block' \ '~~~ code' \ '

~~~ code

' try -ffencedcode 'fenced code block with tildes' \ '~~~~~ ~~~ code with tildes ~~~ ~~~~~' \ '

~~~
code with tildes
~~~

' try -ffencedcode 'paragraph with trailing fenced block' \ 'text text text text text text ~~~ code code code? ~~~' \ '

text text text text text text

code code code?

' try -ffencedcode 'fenced code blocks with backtick delimiters' \ '``` code ```' \ '

code

' try -ffencedcode 'fenced code block with mismatched delimters' \ '``` code ~~~' \ '

``` code ~~~

' try -ffencedcode 'fenced code block with lang attribute' \ '```lang code ```' \ '

code

' try -ffencedcode 'fenced code block with lang-name attribute' \ '```lang-name code ```' \ '

code

' try -ffencedcode 'fenced code block with lang_name attribute' \ '```lang_name code ```' \ '

code

' try -ffencedcode 'fenced code block with lang attribute and space' \ '``` lang code ```' \ '

code

' try -ffencedcode 'fenced code block with lang attribute and multiple spaces' \ '``` lang code ```' \ '

code

' try -ffencedcode 'fenced code block with lang-name attribute and space' \ '``` lang-name code ```' \ '

code

' try -ffencedcode 'fenced code block with lang_name attribute and space' \ '``` lang_name code ```' \ '

code

' try -ffencedcode 'fenced code block with blank line in the middle' \ '``` hello sailor ```' \ '

hello

sailor

' try -ffencedcode 'fenced code block with html in the middle' \ '~~~~

hello, sailor

~~~~' \ '

<h1>hello, sailor</h1>

' try -ffencedcode 'fenced code block with trailing spaces in list item' \ '1. ~~~~ test me ~~~~' \ '
  1. test me
    
' try -ffencedcode 'unterminated fenced code block' \ '~~~~ foo' \ '

~~~~ foo

' try -ffencedcode 'paragraph, then code block' \ 'foo ~~~~ bar ~~~~' \ '

foo

bar

' try -ffencedcode 'checkline misparse as fenced code' \ '[`label`](#code) ```class content ``` ' \ '

label

content

' summary $0 exit $rc