diff options
| author | Daniel Schadt <kingdread@gmx.de> | 2025-12-07 21:48:06 +0100 |
|---|---|---|
| committer | Daniel Schadt <kingdread@gmx.de> | 2025-12-07 21:48:06 +0100 |
| commit | 5455a0c5216409ad5593c4b4bfd0fbfcd65b1e04 (patch) | |
| tree | 05f0a2c0bde909ce9a3ad5203f849894bdd2f3b4 /tests/unit | |
| parent | aec4215e7020a4df1705e7b416a20597a30bee30 (diff) | |
| parent | 019a3e9b7348a3a05e4e7d5e13d35e2362956d44 (diff) | |
| download | fietsboek-5455a0c5216409ad5593c4b4bfd0fbfcd65b1e04.tar.gz fietsboek-5455a0c5216409ad5593c4b4bfd0fbfcd65b1e04.tar.bz2 fietsboek-5455a0c5216409ad5593c4b4bfd0fbfcd65b1e04.zip | |
Diffstat (limited to 'tests/unit')
| -rw-r--r-- | tests/unit/test_pdf.py | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/unit/test_pdf.py b/tests/unit/test_pdf.py new file mode 100644 index 0000000..aafa717 --- /dev/null +++ b/tests/unit/test_pdf.py @@ -0,0 +1,58 @@ +import pytest + +from fietsboek import pdf + + +@pytest.mark.parametrize("value, expected", [ + ('', '""'), + ('a', '"\\u{61}"'), + ('FOO', '"\\u{46}\\u{4f}\\u{4f}"'), + ('äß', '"\\u{e4}\\u{df}"'), + ('"', '"\\u{22}"'), + ("'", '"\\u{27}"'), +]) +def test_typst_string(value, expected): + assert pdf.typst_string(value) == expected + + +@pytest.mark.parametrize("value, expected", [ + ("foo", "foo"), + ("*foo*", "\\*foo\\*"), + ("#strong[foo]", "\\#strong\\[foo\\]"), + ("= foo", "\\= foo"), + ("par 1\n\npar 2", "par 1\n\npar 2"), +]) +def test_typst_escape(value, expected): + assert pdf.typst_escape(value) == expected + + +@pytest.mark.parametrize("md_source, typst_source", [ + ("*foo*", "#emph[foo]\n\n"), + ("**foo**", "#strong[foo]\n\n"), + ("***foo***", "#strong[#emph[foo]]\n\n"), + ("[Teksd](https://link)", + '#link("\\u{68}\\u{74}\\u{74}\\u{70}\\u{73}\\u{3a}' + '\\u{2f}\\u{2f}\\u{6c}\\u{69}\\u{6e}\\u{6b}")[Teksd]\n\n'), + ("""\ +# Uperschrift + +Teksd""", """\ +#heading(level: 1)[Uperschrift] +Teksd\n\n"""), + ("""\ +* Eitem 1 +* Eitem 2""", """\ +#list( +[Eitem 1], +[Eitem 2], +)"""), + ("""\ +1. Eitem 1 +1. Eitem 2""", """\ +#enum( +[Eitem 1], +[Eitem 2], +)"""), +]) +def test_md_to_typst(md_source, typst_source): + assert pdf.md_to_typst(md_source) == typst_source |
