File: test_stringify.py

package info (click to toggle)
panflute 2.3.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 8,048 kB
  • sloc: python: 3,918; makefile: 13
file content (44 lines) | stat: -rw-r--r-- 1,353 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import panflute as pf


def validate(markdown_text, expected_text, verbose=False):
	doc = pf.convert_text(markdown_text, input_format='markdown', output_format='panflute', standalone=True)
	output_text = pf.stringify(doc)
	if verbose:
		print('<<<< EXPECTED <<<<')
		print(expected_text)
		print('<<<< OUTPUT <<<<')
		print(output_text)
		print('>>>>>>>>>>>>>>>>')
	assert expected_text == output_text


def test_simple():
	markdown_text = '''Hello **world**! *How* are ~you~ doing?'''
	expected_text = '''Hello world! How are you doing?\n\n'''
	validate(markdown_text, expected_text)


def test_cite():
	markdown_text = '[@abc, p.23]'
	expected_text = '[@abc, p.23]\n\n'
	validate(markdown_text, expected_text)


def test_definition_list():
	markdown_text = '''Term 1\n:   Definition 1\n\nTerm 2 with *inline markup*\n\n:   Definition 2'''
	expected_text = '''- Term 1: Definition 1\n- Term 2 with inline markup: Definition 2\n\n'''
	validate(markdown_text, expected_text)


def test_definition_list_complex():
	markdown_text = '''Term 1\n~ Definition 1\n\nTerm 2\n~ Definition 2a\n~ Definition 2b'''
	expected_text = '''- Term 1: Definition 1\n- Term 2: Definition 2a; Definition 2b'''
	validate(markdown_text, expected_text)


if __name__ == "__main__":
    test_simple()
    test_cite()
    test_definition_list()
    test_definition_list_complex()