/
test_parsers.py
155 lines (106 loc) · 3.51 KB
/
test_parsers.py
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
"""Tests for all currently supported parser classes."""
import pytest
from f8a_tagger.parsers.parsers import TextParser, MarkdownParser, HtmlParser, AsciidocParser
from f8a_tagger.parsers.parsers import ReStructuredTextParser, TextileParser, RdocParser
from f8a_tagger.parsers.parsers import OrgParser, CreoleParser, MediawikiParser, PodParser
def test_initial_states():
"""Check the initial state of all parsers."""
p = TextParser()
assert p is not None
p = MarkdownParser()
assert p is not None
p = HtmlParser()
assert p is not None
p = ReStructuredTextParser()
assert p is not None
p = AsciidocParser()
assert p is not None
p = TextileParser()
assert p is not None
p = RdocParser()
assert p is not None
p = OrgParser()
assert p is not None
p = CreoleParser()
assert p is not None
p = MediawikiParser()
assert p is not None
p = PodParser()
assert p is not None
def test_text_parser():
"""Test the TextParser parser."""
p = TextParser()
parsed = p.parse("plain text content")
assert parsed == "plain text content"
def test_markdown_parser():
"""Test the MarkdownParser parser."""
p = MarkdownParser()
parsed = p.parse("markdown content")
assert parsed.strip() == "markdown content"
def test_html_parser():
"""Test the HtmlParser parser."""
p = HtmlParser()
parsed = p.parse("<html><body>HTML content</body></html>")
assert parsed == "HTML content"
parsed = p.parse("<div>two</div> <div>divs</div>")
assert parsed == "two divs"
def test_restructuredtext_parser():
"""Test the ReStructuredTextParser parser."""
p = ReStructuredTextParser()
parsed = p.parse("content")
assert parsed.strip() == "content"
def test_asciidoc_parser():
"""Test the AsciidocParser parser."""
p = AsciidocParser()
# this parser is not fully implemented yet
with pytest.raises(NotImplementedError):
p.parse("content")
def test_textile_parser():
"""Test the TextileParser parser."""
p = TextileParser()
# this parser is not fully implemented yet
with pytest.raises(NotImplementedError):
p.parse("content")
def test_rdoc_parser():
"""Test the RdocParser parser."""
p = RdocParser()
# this parser is not fully implemented yet
with pytest.raises(NotImplementedError):
p.parse("content")
def test_org_parser():
"""Test the OrgParser parser."""
p = OrgParser()
# this parser is not fully implemented yet
with pytest.raises(NotImplementedError):
p.parse("content")
def test_creole_parser():
"""Test the CreoleParser parser."""
p = CreoleParser()
# this parser is not fully implemented yet
with pytest.raises(NotImplementedError):
p.parse("content")
def test_mediawiki_parser():
"""Test the MediawikiParserparser."""
p = MediawikiParser()
# this parser is not fully implemented yet
with pytest.raises(NotImplementedError):
p.parse("content")
def test_pod_parser():
"""Test the PodParser parser."""
p = PodParser()
# this parser is not fully implemented yet
with pytest.raises(NotImplementedError):
p.parse("content")
if __name__ == '__main__':
test_initial_states()
test_text_parser()
test_markdown_parser()
test_html_parser()
test_restructuredtext_parser()
test_asciidoc_parser()
test_textile_parser()
test_rdoc_parser()
test_org_parser()
test_creole_parser()
test_mediawiki_parser()
test_pod_parser()