summaryrefslogtreecommitdiffstats
path: root/tests/test_port/test_fixtures.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_port/test_fixtures.py')
-rw-r--r--tests/test_port/test_fixtures.py114
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()