diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-08-28 21:46:05 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-08-28 21:46:05 +0100 |
| commit | db23f095a273ab3715083122b21e446f8d0715dd (patch) | |
| tree | 03b9af87b38028b41102a6c17825ec476894fa61 | |
| parent | 6e7b019fe842788247d0ff97950122c4ce456c86 (diff) | |
Add stubbed authorName and authorInitials to Comment
3 files changed, 45 insertions, 4 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/documents/Comment.java b/src/main/java/org/zwobble/mammoth/internal/documents/Comment.java index f3c76ea..a17365a 100644 --- a/src/main/java/org/zwobble/mammoth/internal/documents/Comment.java +++ b/src/main/java/org/zwobble/mammoth/internal/documents/Comment.java @@ -1,14 +1,19 @@ package org.zwobble.mammoth.internal.documents; import java.util.List; +import java.util.Optional; public class Comment { private final String commentId; private final List<DocumentElement> body; + private final Optional<String> authorName; + private final Optional<String> authorInitials; - public Comment(String commentId, List<DocumentElement> body) { + public Comment(String commentId, List<DocumentElement> body, Optional<String> authorName, Optional<String> authorInitials) { this.commentId = commentId; this.body = body; + this.authorName = authorName; + this.authorInitials = authorInitials; } public String getCommentId() { @@ -18,4 +23,12 @@ public class Comment { public List<DocumentElement> getBody() { return body; } + + public Optional<String> getAuthorInitials() { + return authorInitials; + } + + public Optional<String> getAuthorName() { + return authorName; + } } diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/CommentXmlReader.java b/src/main/java/org/zwobble/mammoth/internal/docx/CommentXmlReader.java index 4cacf08..1740ec2 100644 --- a/src/main/java/org/zwobble/mammoth/internal/docx/CommentXmlReader.java +++ b/src/main/java/org/zwobble/mammoth/internal/docx/CommentXmlReader.java @@ -5,6 +5,7 @@ import org.zwobble.mammoth.internal.results.InternalResult; import org.zwobble.mammoth.internal.xml.XmlElement; import java.util.List; +import java.util.Optional; public class CommentXmlReader { private final BodyXmlReader bodyReader; @@ -26,7 +27,9 @@ public class CommentXmlReader { .toResult() .map(children -> new Comment( commentId, - children + children, + Optional.empty(), + Optional.empty() )); } } diff --git a/src/test/java/org/zwobble/mammoth/tests/docx/CommentXmlTests.java b/src/test/java/org/zwobble/mammoth/tests/docx/CommentXmlTests.java index e7f9994..fa37bea 100644 --- a/src/test/java/org/zwobble/mammoth/tests/docx/CommentXmlTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/docx/CommentXmlTests.java @@ -7,11 +7,13 @@ import org.zwobble.mammoth.internal.results.InternalResult; import org.zwobble.mammoth.internal.xml.XmlNode; import java.util.List; +import java.util.Optional; import static com.natpryce.makeiteasy.MakeItEasy.a; import static com.natpryce.makeiteasy.MakeItEasy.make; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.contains; +import static org.hamcrest.Matchers.*; +import static org.hamcrest.core.Is.isA; import static org.zwobble.mammoth.internal.util.Lists.list; import static org.zwobble.mammoth.internal.util.Maps.map; import static org.zwobble.mammoth.internal.xml.XmlNodes.element; @@ -31,7 +33,30 @@ public class CommentXmlTests { assertThat( result, isInternalSuccess(contains( - deepEquals(new Comment("1", list(make(a(PARAGRAPH))))) + allOf( + isA(Comment.class), + hasProperty("commentId", equalTo("1")), + hasProperty("body", deepEquals(list(make(a(PARAGRAPH))))) + ) + )) + ); + } + + @Test + public void whenOptionalAttributesOfCommentAreMissingThenTheyAreReadAsNone() { + List<XmlNode> body = list(element("w:p")); + CommentXmlReader reader = new CommentXmlReader(make(a(bodyReader))); + InternalResult<List<Comment>> result = reader.readElement(element("w:comments", list( + element("w:comment", map("w:id", "1"), body) + ))); + assertThat( + result, + isInternalSuccess(contains( + allOf( + isA(Comment.class), + hasProperty("authorName", equalTo(Optional.empty())), + hasProperty("authorInitials", equalTo(Optional.empty())) + ) )) ); } |
