|
| 1 | +from textwrap import dedent |
| 2 | + |
1 | 3 | import mdformat |
2 | 4 | import pytest |
3 | 5 |
|
@@ -221,6 +223,38 @@ def gcd(a, b): |
221 | 223 | /// |
222 | 224 | """ |
223 | 225 |
|
| 226 | +DEF_LIST_WITH_NESTED_WRAP = dedent( |
| 227 | + """\ |
| 228 | + term |
| 229 | +
|
| 230 | + : Definition starts with a paragraph, followed by an unordered list: |
| 231 | +
|
| 232 | + - Foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar. |
| 233 | +
|
| 234 | + - (3) bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar. |
| 235 | +
|
| 236 | + - foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar |
| 237 | + (split) foo bar foo bar foo bar foo bar. |
| 238 | + """, |
| 239 | +) |
| 240 | + |
| 241 | +DEF_LIST_WITH_NESTED_WRAP_EXPECTED = dedent( |
| 242 | + """\ |
| 243 | + term |
| 244 | +
|
| 245 | + : Definition starts with a paragraph, followed by an unordered list: |
| 246 | +
|
| 247 | + - Foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar |
| 248 | + foo bar foo bar foo bar foo bar. |
| 249 | +
|
| 250 | + - (3) bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar |
| 251 | + foo bar foo bar foo bar foo bar. |
| 252 | +
|
| 253 | + - foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo |
| 254 | + bar (split) foo bar foo bar foo bar foo bar. |
| 255 | + """, |
| 256 | +) |
| 257 | + |
224 | 258 |
|
225 | 259 | @pytest.mark.parametrize( |
226 | 260 | ("text", "expected", "align_lists", "wrap"), |
@@ -255,3 +289,13 @@ def test_wrap(text: str, expected: str, align_lists: bool, wrap: int): |
255 | 289 | ) |
256 | 290 | print_text(output, expected) |
257 | 291 | assert output.lstrip() == expected.lstrip() |
| 292 | + |
| 293 | + |
| 294 | +def test_definition_list_wrap_with_gfm(): |
| 295 | + output = mdformat.text( |
| 296 | + DEF_LIST_WITH_NESTED_WRAP, |
| 297 | + options={"wrap": 80}, |
| 298 | + extensions={"mkdocs", "gfm"}, |
| 299 | + ) |
| 300 | + print_text(output, DEF_LIST_WITH_NESTED_WRAP_EXPECTED) |
| 301 | + assert output == DEF_LIST_WITH_NESTED_WRAP_EXPECTED |
0 commit comments