diff options
Diffstat (limited to '')
-rw-r--r-- | tests/test_myst_block.py | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/tests/test_myst_block.py b/tests/test_myst_block.py new file mode 100644 index 0000000..632ed4b --- /dev/null +++ b/tests/test_myst_block.py @@ -0,0 +1,79 @@ +from pathlib import Path + +from markdown_it import MarkdownIt +from markdown_it.token import Token +from markdown_it.utils import read_fixture_file +import pytest + +from mdit_py_plugins.myst_blocks import myst_block_plugin + +FIXTURE_PATH = Path(__file__).parent.joinpath("fixtures", "myst_block.md") + + +@pytest.mark.parametrize("line,title,input,expected", read_fixture_file(FIXTURE_PATH)) +def test_all(line, title, input, expected): + md = MarkdownIt("commonmark").use(myst_block_plugin) + md.options["xhtmlOut"] = False + text = md.render(input) + print(text) + assert text.rstrip() == expected.rstrip() + + +def test_block_token(): + md = MarkdownIt("commonmark").use(myst_block_plugin) + tokens = md.parse("+++") + expected_token = Token( + type="myst_block_break", + tag="hr", + nesting=0, + map=[0, 1], + level=0, + children=None, + content="", + markup="+++", + info="", + meta={}, + block=True, + hidden=False, + ) + expected_token.attrSet("class", "myst-block") + assert tokens == [expected_token] + + tokens = md.parse("\n+ + + abc") + expected_token = Token( + type="myst_block_break", + tag="hr", + nesting=0, + map=[1, 2], + level=0, + children=None, + content="abc", + markup="+++", + info="", + meta={}, + block=True, + hidden=False, + ) + expected_token.attrSet("class", "myst-block") + assert tokens == [expected_token] + + +def test_comment_token(): + md = MarkdownIt("commonmark").use(myst_block_plugin) + tokens = md.parse("\n\n% abc \n%def") + expected_token = Token( + type="myst_line_comment", + tag="", + nesting=0, + map=[2, 4], + level=0, + children=None, + content=" abc\ndef", + markup="%", + info="", + meta={}, + block=True, + hidden=False, + ) + expected_token.attrSet("class", "myst-line-comment") + assert tokens == [expected_token] |