| Total Complexity | 2 |
| Total Lines | 102 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | from unittest import TestCase |
||
| 2 | from panflute import convert_text, debug |
||
| 3 | |||
| 4 | import pandoc_latex_margin |
||
| 5 | |||
| 6 | |||
| 7 | class MarginTestCase(TestCase): |
||
| 8 | def verify_conversion( |
||
| 9 | self, |
||
| 10 | text, |
||
| 11 | expected, |
||
| 12 | transform, |
||
| 13 | input_format="markdown", |
||
| 14 | output_format="latex", |
||
| 15 | standalone=False, |
||
| 16 | ) -> None: |
||
| 17 | """ |
||
| 18 | Verify the conversion. |
||
| 19 | |||
| 20 | Parameters |
||
| 21 | ---------- |
||
| 22 | text |
||
| 23 | input text |
||
| 24 | expected |
||
| 25 | expected text |
||
| 26 | transform |
||
| 27 | filter function |
||
| 28 | input_format |
||
| 29 | input format |
||
| 30 | output_format |
||
| 31 | output format |
||
| 32 | standalone |
||
| 33 | is the output format standalone ? |
||
| 34 | """ |
||
| 35 | doc = convert_text(text, input_format=input_format, standalone=True) |
||
| 36 | doc.format = output_format |
||
| 37 | doc = transform(doc) |
||
| 38 | converted = convert_text( |
||
| 39 | doc.content, |
||
| 40 | input_format="panflute", |
||
| 41 | output_format=output_format, |
||
| 42 | extra_args=["--wrap=none"], |
||
| 43 | standalone=standalone, |
||
| 44 | ) |
||
| 45 | print(converted) |
||
| 46 | self.assertEqual(converted.strip(), expected.strip()) |
||
| 47 | |||
| 48 | def test_margin(self): |
||
| 49 | self.verify_conversion( |
||
| 50 | """ |
||
| 51 | --- |
||
| 52 | pandoc-latex-margin: |
||
| 53 | - classes: [left] |
||
| 54 | left: 1cm |
||
| 55 | - classes: [right] |
||
| 56 | right: 1cm |
||
| 57 | --- |
||
| 58 | |||
| 59 | ::: {.left latex-right-margin="2cm"} ::: |
||
| 60 | Content1 |
||
| 61 | ::::::::::::::: |
||
| 62 | |||
| 63 | ::: {.right latex-left-margin="2cm"} ::: |
||
| 64 | Content2 |
||
| 65 | ::::::::::::::: |
||
| 66 | |||
| 67 | ::: {latex-right-margin="2cm"} ::: |
||
| 68 | Content3 |
||
| 69 | ::::::::::::::: |
||
| 70 | |||
| 71 | ::: {latex-left-margin="2cm"} ::: |
||
| 72 | Content4 |
||
| 73 | ::::::::::::::: |
||
| 74 | |||
| 75 | """, |
||
| 76 | r""" |
||
| 77 | \begin{pandocchangemargin}{1cm}{2cm} |
||
| 78 | |||
| 79 | Content1 |
||
| 80 | |||
| 81 | \end{pandocchangemargin} |
||
| 82 | |||
| 83 | \begin{pandocchangemargin}{2cm}{1cm} |
||
| 84 | |||
| 85 | Content2 |
||
| 86 | |||
| 87 | \end{pandocchangemargin} |
||
| 88 | |||
| 89 | \begin{pandocchangemargin}{0pt}{2cm} |
||
| 90 | |||
| 91 | Content3 |
||
| 92 | |||
| 93 | \end{pandocchangemargin} |
||
| 94 | |||
| 95 | \begin{pandocchangemargin}{2cm}{0pt} |
||
| 96 | |||
| 97 | Content4 |
||
| 98 | |||
| 99 | \end{pandocchangemargin} |
||
| 100 | """, |
||
| 101 | pandoc_latex_margin.main, |
||
| 102 | ) |
||
| 103 |