Completed
Push — master ( 349a7a...260a96 )
by Christophe
25s
created

test_codeblock_classes()   A

Complexity

Conditions 4

Size

Total Lines 20

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 4
dl 0
loc 20
rs 9.2
c 1
b 0
f 0
1
# This Python file uses the following encoding: utf-8
2
3
from unittest import TestCase
4
from panflute import *
5
6
import pandoc_latex_admonition
7
8
def test_codeblock_classes():
9
    elem = CodeBlock('', classes=['class1', 'class2'])
10
    metadata = {
11
        'pandoc-latex-admonition': MetaList(
12
            MetaMap(
13
                classes=MetaList(MetaString('class1'), MetaString('class2')),
14
                color=MetaString('red'),
15
                position=MetaString('right'),
16
                linewidth=MetaString('5'),
17
                innermargin=MetaString('-8'),
18
                margin=MetaString('10')
19
            )
20
        )
21
    }
22
    doc = Doc(elem, metadata=metadata, format='latex', api_version=(1, 17, 2))
23
    pandoc_latex_admonition.main(doc)
24
    assert doc.content[0].format == 'tex'
25
    assert doc.content[2].format == 'tex'
26
    assert doc.get_metadata()['header-includes'][-1].startswith(
27
        '\\newmdenv' + pandoc_latex_admonition.environment_option('left', 'right', 5, -8, 10, 'red')
28
    )
29
30
def test_codeblock_attributes():
31
    elem = Div(
32
        attributes={
33
            'latex-admonition-color': 'xyz',
34
            'latex-admonition-linewidth': 'xyz',
35
            'latex-admonition-margin': 'xyz',
36
            'latex-admonition-innermargin': 'xyz'
37
        }
38
    )
39
    doc = Doc(elem, format='latex', api_version=(1, 17, 2))
40
    pandoc_latex_admonition.main(doc)
41
    assert doc.content[0].format == 'tex'
42
    assert doc.content[2].format == 'tex'
43
    assert doc.get_metadata()['header-includes'][-1].startswith(
44
        '\\newmdenv' + pandoc_latex_admonition.environment_option('right', 'left', 2, 5, -4, 'black')
45
    )
46
47
def test_codeblock_images():
48
    elem = Div(
49
        Para(Image(Str('Title'))),
50
        Para(Str('Hello')),
51
        
52
        attributes={
53
            'latex-admonition-color': 'black',
54
        },
55
    )
56
    doc = Doc(elem, format='latex', api_version=(1, 17, 2))
57
    pandoc_latex_admonition.main(doc)
58
    assert isinstance(doc.content[-1], Para)
59
    assert isinstance(doc.content[-1].content[0], Image)
60
61