test_tasks.TakssTest.conversion()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 6
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 6
nop 3
dl 0
loc 6
rs 10
c 0
b 0
f 0
1
from unittest import TestCase
2
3
from panflute import convert_text
4
from panflute.tools import PandocVersion
5
import pandoc_glfm
6
7
version = PandocVersion().version
8
9
10
class TakssTest(TestCase):
11
    @classmethod
12
    def conversion(cls, markdown, fmt="markdown"):
13
        doc = convert_text(markdown, standalone=True)
14
        doc.format = fmt
15
        pandoc_glfm.main(doc)
16
        return doc
17
18
    def test_tasks_simple(self):
19
        doc = self.conversion(
20
            """
21
* [ ] Task 1
22
* [x] Task 2
23
* [~] Task 3
24
25
            """,
26
        )
27
        text = convert_text(
28
            doc,
29
            input_format="panflute",
30
            output_format="markdown",
31
        )
32
        if version < (3, 6, 4):
33
            self.assertEqual(
34
                text,
35
                """
36
-   [ ] Task 1
37
-   [x] Task 2
38
-   [ ] ~~Task 3~~
39
                """.strip()
40
            )
41
        else:
42
            self.assertEqual(
43
                text,
44
                """
45
- [ ] Task 1
46
- [x] Task 2
47
- [ ] ~~Task 3~~
48
                """.strip()
49
            )
50
51
    def test_tasks_softbreak(self):
52
        doc = self.conversion(
53
            """
54
* [ ] Task 1
55
* [x] Task 2
56
* [~] Task 3
57
  rest
58
            """,
59
        )
60
        text = convert_text(
61
            doc,
62
            input_format="panflute",
63
            output_format="markdown",
64
        )
65
66
        if version < (3, 6, 4):
67
            self.assertEqual(
68
                text,
69
                """
70
-   [ ] Task 1
71
-   [x] Task 2
72
-   [ ] ~~Task 3 rest~~
73
                """.strip()
74
            )
75
        else:
76
            self.assertEqual(
77
                text,
78
                """
79
- [ ] Task 1
80
- [x] Task 2
81
- [ ] ~~Task 3 rest~~
82
                """.strip()
83
        )
84
85
    def test_tasks_linebreak(self):
86
        doc = self.conversion(
87
            """
88
* [ ] Task 1
89
* [x] Task 2
90
* [~] Task 3
91
92
  rest
93
            """,
94
        )
95
96
        text = convert_text(
97
            doc,
98
            input_format="panflute",
99
            output_format="markdown",
100
        )
101
102
        if version < (3, 6, 4):
103
            self.assertEqual(
104
                text,
105
                """
106
-   [ ] Task 1
107
108
-   [x] Task 2
109
110
-   [ ] ~~Task 3~~
111
112
    ~~rest~~
113
                """.strip()
114
            )
115
        else:
116
            self.assertEqual(
117
                text,
118
                """
119
- [ ] Task 1
120
121
- [x] Task 2
122
123
- [ ] ~~Task 3~~
124
125
  ~~rest~~
126
                """.strip()
127
        )
128
129
    def test_tasks_strikeout(self):
130
        doc = self.conversion(
131
            """
132
* [ ] Task 1
133
* [x] Task 2
134
* [~] ~~Task 3~~
135
            """,
136
        )
137
        text = convert_text(
138
            doc,
139
            input_format="panflute",
140
            output_format="markdown",
141
        )
142
143
        if PandocVersion().version < (3, 6, 4):
144
            self.assertEqual(
145
                text,
146
                """
147
-   [ ] Task 1
148
-   [x] Task 2
149
-   [ ] ~~Task 3~~
150
                """.strip()
151
            )
152
        else:
153
            self.assertEqual(
154
                text,
155
                """
156
- [ ] Task 1
157
- [x] Task 2
158
- [ ] ~~Task 3~~
159
                """.strip()
160
            )
161