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
|
from nose.tools import istest, assert_equal
from mammoth import documents
from mammoth.docx.xmlparser import element as xml_element
from mammoth.docx.comments_xml import create_comments_reader
from mammoth.docx import body_xml
@istest
def id_and_body_of_comment_is_read():
body = [xml_element("w:p")]
comments = create_comments_reader(body_xml.reader())(xml_element("w:comments", {}, [
xml_element("w:comment", {"w:id": "1"}, body),
]))
assert_equal(1, len(comments.value))
assert_equal(comments.value[0].body, [documents.paragraph(children=[])])
assert_equal("1", comments.value[0].comment_id)
@istest
def when_optional_attributes_of_comment_are_missing_then_they_are_as_none():
comments = create_comments_reader(body_xml.reader())(xml_element("w:comments", {}, [
xml_element("w:comment", {"w:id": "1"}, []),
]))
comment, = comments.value
assert_equal(None, comment.author_name)
assert_equal(None, comment.author_initials)
@istest
def when_optional_attributes_of_comment_are_blank_then_they_are_as_none():
comments = create_comments_reader(body_xml.reader())(xml_element("w:comments", {}, [
xml_element("w:comment", {"w:id": "1", "w:author": " ", "w:initials": " "}, []),
]))
comment, = comments.value
assert_equal(None, comment.author_name)
assert_equal(None, comment.author_initials)
@istest
def when_optional_attributes_of_comment_are_not_blank_then_they_are_read():
comments = create_comments_reader(body_xml.reader())(xml_element("w:comments", {}, [
xml_element("w:comment", {"w:id": "1", "w:author": "The Piemaker", "w:initials": "TP"}, []),
]))
comment, = comments.value
assert_equal("The Piemaker", comment.author_name)
assert_equal("TP", comment.author_initials)
|