From 2ffae2608b8634c11a02924d3342d6e8cc6c02fe Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 14 Feb 2016 11:15:41 +0000 Subject: Add basic tests for DocumentConverter --- .../org/zwobble/mammoth/DocumentConverter.java | 2 +- .../mammoth/tests/DocumentConverterTests.java | 42 ++++++++++++++++++++++ .../tests/documents/DocumentElementMakers.java | 7 ++++ 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java (limited to 'src') diff --git a/src/main/java/org/zwobble/mammoth/DocumentConverter.java b/src/main/java/org/zwobble/mammoth/DocumentConverter.java index 7c0a47f..fb3e4a2 100644 --- a/src/main/java/org/zwobble/mammoth/DocumentConverter.java +++ b/src/main/java/org/zwobble/mammoth/DocumentConverter.java @@ -20,7 +20,7 @@ public class DocumentConverter { DocumentConverter::convertToHtml); } - private static List convertToHtml(DocumentElement element) { + public static List convertToHtml(DocumentElement element) { return element.accept(new DocumentElementVisitor>() { @Override public List visit(Paragraph paragraph) { diff --git a/src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java b/src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java new file mode 100644 index 0000000..6152822 --- /dev/null +++ b/src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java @@ -0,0 +1,42 @@ +package org.zwobble.mammoth.tests; + +import org.junit.Test; +import org.zwobble.mammoth.DocumentConverter; +import org.zwobble.mammoth.documents.Document; +import org.zwobble.mammoth.documents.DocumentElement; +import org.zwobble.mammoth.html.Html; +import org.zwobble.mammoth.html.HtmlNode; + +import java.util.List; + +import static com.natpryce.makeiteasy.MakeItEasy.*; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.zwobble.mammoth.tests.DeepReflectionMatcher.deepEquals; +import static org.zwobble.mammoth.tests.documents.DocumentElementMakers.*; +import static org.zwobble.mammoth.util.MammothLists.list; + +public class DocumentConverterTests { + @Test + public void plainParagraphIsConvertedToPlainParagraph() { + assertThat( + convertToHtml(make(a(PARAGRAPH, with(CHILDREN, list(runWithText("Hello")))))), + deepEquals(list(Html.element("p", list(Html.text("Hello")))))); + } + + @Test + public void multipleParagraphsInDocumentAreConvertedToMultipleParagraphs() { + assertThat( + DocumentConverter.convertToHtml(new Document(list( + make(a(PARAGRAPH, with(CHILDREN, list(runWithText("Hello"))))), + make(a(PARAGRAPH, with(CHILDREN, list(runWithText("there")))))))), + + deepEquals(list( + Html.element("p", list(Html.text("Hello"))), + Html.element("p", list(Html.text("there")))))); + } + + + private List convertToHtml(DocumentElement element) { + return DocumentConverter.convertToHtml(element); + } +} diff --git a/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java b/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java index 890a68e..396a95a 100644 --- a/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java +++ b/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java @@ -7,6 +7,9 @@ import org.zwobble.mammoth.documents.*; import java.util.List; import java.util.Optional; +import static com.natpryce.makeiteasy.MakeItEasy.a; +import static com.natpryce.makeiteasy.MakeItEasy.make; +import static com.natpryce.makeiteasy.MakeItEasy.with; import static com.natpryce.makeiteasy.Property.newProperty; import static org.zwobble.mammoth.util.MammothLists.list; @@ -28,4 +31,8 @@ public class DocumentElementMakers { VerticalAlignment.BASELINE, Optional.empty(), propertyLookup.valueOf(CHILDREN, list())); + + public static Run runWithText(String text) { + return make(a(RUN, with(CHILDREN, list(new Text(text))))); + } } -- cgit v1.2.3