From db23f095a273ab3715083122b21e446f8d0715dd Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 28 Aug 2016 21:46:05 +0100 Subject: Add stubbed authorName and authorInitials to Comment --- .../mammoth/internal/documents/Comment.java | 15 ++++++++++- .../mammoth/internal/docx/CommentXmlReader.java | 5 +++- .../mammoth/tests/docx/CommentXmlTests.java | 29 ++++++++++++++++++++-- 3 files changed, 45 insertions(+), 4 deletions(-) (limited to 'src') 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 body; + private final Optional authorName; + private final Optional authorInitials; - public Comment(String commentId, List body) { + public Comment(String commentId, List body, Optional authorName, Optional 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 getBody() { return body; } + + public Optional getAuthorInitials() { + return authorInitials; + } + + public Optional 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 body = list(element("w:p")); + CommentXmlReader reader = new CommentXmlReader(make(a(bodyReader))); + InternalResult> 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())) + ) )) ); } -- cgit v1.2.3