diff options
Diffstat (limited to 'tests/test_port/test_fixtures.py')
-rw-r--r-- | tests/test_port/test_fixtures.py | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/tests/test_port/test_fixtures.py b/tests/test_port/test_fixtures.py new file mode 100644 index 0000000..5117c5e --- /dev/null +++ b/tests/test_port/test_fixtures.py @@ -0,0 +1,114 @@ +from pathlib import Path + +import pytest + +from markdown_it import MarkdownIt +from markdown_it.utils import read_fixture_file + +FIXTURE_PATH = Path(__file__).parent.joinpath("fixtures") + + +@pytest.mark.parametrize( + "line,title,input,expected", + read_fixture_file(FIXTURE_PATH.joinpath("linkify.md")), +) +def test_linkify(line, title, input, expected): + md = MarkdownIt().enable("linkify") + md.options["linkify"] = True + text = md.render(input) + assert text.rstrip() == expected.rstrip() + + # if not install linkify-it-py + md.linkify = None + with pytest.raises(ModuleNotFoundError): + md.render(input) + + +@pytest.mark.parametrize( + "line,title,input,expected", + read_fixture_file(FIXTURE_PATH.joinpath("smartquotes.md")), +) +def test_smartquotes(line, title, input, expected): + md = MarkdownIt().enable("replacements").enable("smartquotes") + md.options["typographer"] = True + text = md.render(input) + assert text.rstrip() == expected.rstrip() + + +@pytest.mark.parametrize( + "line,title,input,expected", + read_fixture_file(FIXTURE_PATH.joinpath("typographer.md")), +) +def test_typographer(line, title, input, expected): + md = MarkdownIt().enable("replacements") + md.options["typographer"] = True + text = md.render(input) + assert text.rstrip() == expected.rstrip() + + +@pytest.mark.parametrize( + "line,title,input,expected", read_fixture_file(FIXTURE_PATH.joinpath("tables.md")) +) +def test_table(line, title, input, expected): + md = MarkdownIt().enable("table") + text = md.render(input) + try: + assert text.rstrip() == expected.rstrip() + except AssertionError: + print(text) + raise + + +@pytest.mark.parametrize( + "line,title,input,expected", + read_fixture_file(FIXTURE_PATH.joinpath("commonmark_extras.md")), +) +def test_commonmark_extras(line, title, input, expected): + md = MarkdownIt("commonmark") + md.options["langPrefix"] = "" + text = md.render(input) + if text.rstrip() != expected.rstrip(): + print(text) + assert text.rstrip() == expected.rstrip() + + +@pytest.mark.parametrize( + "line,title,input,expected", + read_fixture_file(FIXTURE_PATH.joinpath("normalize.md")), +) +def test_normalize_url(line, title, input, expected): + md = MarkdownIt("commonmark") + text = md.render(input) + assert text.rstrip() == expected.rstrip() + + +@pytest.mark.parametrize( + "line,title,input,expected", read_fixture_file(FIXTURE_PATH.joinpath("fatal.md")) +) +def test_fatal(line, title, input, expected): + md = MarkdownIt("commonmark").enable("replacements") + md.options["typographer"] = True + text = md.render(input) + if text.rstrip() != expected.rstrip(): + print(text) + assert text.rstrip() == expected.rstrip() + + +@pytest.mark.parametrize( + "line,title,input,expected", + read_fixture_file(FIXTURE_PATH.joinpath("strikethrough.md")), +) +def test_strikethrough(line, title, input, expected): + md = MarkdownIt().enable("strikethrough") + text = md.render(input) + assert text.rstrip() == expected.rstrip() + + +@pytest.mark.parametrize( + "line,title,input,expected", + read_fixture_file(FIXTURE_PATH.joinpath("issue-fixes.md")), +) +def test_issue_fixes(line, title, input, expected): + md = MarkdownIt() + text = md.render(input) + assert text.rstrip() == expected.rstrip() |