File: test_markdown.py

package info (click to toggle)
python-wasabi 0.10.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 208 kB
  • sloc: python: 1,255; makefile: 4
file content (28 lines) | stat: -rw-r--r-- 1,244 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# coding: utf8
from __future__ import unicode_literals, print_function

from wasabi.markdown import MarkdownRenderer
import pytest


def test_markdown():
    md = MarkdownRenderer()
    md.add(md.title(1, "Title"))
    md.add("Paragraph with {}".format(md.bold("bold")))
    md.add(md.list(["foo", "bar"]))
    md.add(md.table([("a", "b"), ("c", "d")], ["foo", "bar"]))
    md.add(md.code_block('import spacy\n\nnlp = spacy.blank("en")', "python"))
    md.add(md.list(["first", "second"], numbered=True))
    expected = """# Title\n\nParagraph with **bold**\n\n- foo\n- bar\n\n| foo | bar |\n| --- | --- |\n| a | b |\n| c | d |\n\n```python\nimport spacy\n\nnlp = spacy.blank("en")\n```\n\n1. first\n2. second"""
    assert md.text == expected


def test_markdown_table_aligns():
    md = MarkdownRenderer()
    md.add(md.table([("a", "b", "c")], ["foo", "bar", "baz"], aligns=("c", "r", "l")))
    expected = """| foo | bar | baz |\n| :---: | ---: | --- |\n| a | b | c |"""
    assert md.text == expected
    with pytest.raises(ValueError):
        md.table([("a", "b", "c")], ["foo", "bar", "baz"], aligns=("c", "r"))
    with pytest.raises(ValueError):
        md.table([("a", "b", "c")], ["foo", "bar", "baz"], aligns=("c", "r", "l", "l"))