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
|
from nose.tools import istest, assert_equal
from mammoth import documents, document_matchers
from mammoth.styles.parser.document_matcher_parser import parse_document_matcher
from mammoth.styles.parser.tokeniser import tokenise
from mammoth.styles.parser.token_iterator import TokenIterator
@istest
def reads_plain_paragraph():
assert_equal(
document_matchers.paragraph(),
read_document_matcher("p")
)
@istest
def reads_paragraph_with_style_id():
assert_equal(
document_matchers.paragraph(style_id="Heading1"),
read_document_matcher("p.Heading1")
)
@istest
def reads_paragraph_with_exact_style_name():
assert_equal(
document_matchers.paragraph(style_name="Heading 1"),
read_document_matcher("p[style-name='Heading 1']")
)
@istest
def reads_paragraph_ordered_list():
assert_equal(
document_matchers.paragraph(numbering=documents.numbering_level(1, is_ordered=True)),
read_document_matcher("p:ordered-list(2)")
)
@istest
def reads_paragraph_unordered_list():
assert_equal(
document_matchers.paragraph(numbering=documents.numbering_level(1, is_ordered=False)),
read_document_matcher("p:unordered-list(2)")
)
@istest
def reads_plain_run():
assert_equal(
document_matchers.run(),
read_document_matcher("r")
)
@istest
def reads_run_with_style_id():
assert_equal(
document_matchers.run(style_id="Emphasis"),
read_document_matcher("r.Emphasis")
)
@istest
def reads_run_with_style_name():
assert_equal(
document_matchers.run(style_name="Emphasis"),
read_document_matcher("r[style-name='Emphasis']")
)
@istest
def reads_bold():
assert_equal(
document_matchers.bold,
read_document_matcher("b")
)
@istest
def reads_italic():
assert_equal(
document_matchers.italic,
read_document_matcher("i")
)
@istest
def reads_underline():
assert_equal(
document_matchers.underline,
read_document_matcher("u")
)
@istest
def reads_strikethrough():
assert_equal(
document_matchers.strikethrough,
read_document_matcher("strike")
)
@istest
def reads_comment_reference():
assert_equal(
document_matchers.comment_reference,
read_document_matcher("comment-reference")
)
def read_document_matcher(string):
return parse_document_matcher(TokenIterator(tokenise(string)))
|