From 0889d26717379eaccc8a3d76df7d12144376e2c2 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 14 Feb 2016 12:03:31 +0000 Subject: Convert tables to HTML tables --- .../java/org/zwobble/mammoth/DocumentConverter.java | 6 +++--- .../mammoth/tests/DocumentConverterTests.java | 20 ++++++++++++++++++++ .../tests/documents/DocumentElementMakers.java | 4 ++++ 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/zwobble/mammoth/DocumentConverter.java b/src/main/java/org/zwobble/mammoth/DocumentConverter.java index 36f562d..dce76ad 100644 --- a/src/main/java/org/zwobble/mammoth/DocumentConverter.java +++ b/src/main/java/org/zwobble/mammoth/DocumentConverter.java @@ -82,17 +82,17 @@ public class DocumentConverter { @Override public List visit(Table table) { - throw new UnsupportedOperationException(); + return list(Html.element("table", convertChildrenToHtml(table))); } @Override public List visit(TableRow tableRow) { - throw new UnsupportedOperationException(); + return list(Html.element("tr", convertChildrenToHtml(tableRow))); } @Override public List visit(TableCell tableCell) { - throw new UnsupportedOperationException(); + return list(Html.element("td", convertChildrenToHtml(tableCell))); } @Override diff --git a/src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java b/src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java index fa0b814..1890334 100644 --- a/src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java @@ -95,6 +95,26 @@ public class DocumentConverterTests { deepEquals(list(Html.selfClosingElement("br")))); } + @Test + public void tableIsConvertedToHtmlTable() { + assertThat( + convertToHtml(new Table(list( + new TableRow(list( + new TableCell(list(paragraphWithText("Top left"))), + new TableCell(list(paragraphWithText("Top right"))))), + new TableRow(list( + new TableCell(list(paragraphWithText("Bottom left"))), + new TableCell(list(paragraphWithText("Bottom right")))))))), + + deepEquals(list(Html.element("table", list( + Html.element("tr", list( + Html.element("td", list(Html.element("p", list(Html.text("Top left"))))), + Html.element("td", list(Html.element("p", list(Html.text("Top right"))))))), + Html.element("tr", list( + Html.element("td", list(Html.element("p", list(Html.text("Bottom left"))))), + Html.element("td", list(Html.element("p", list(Html.text("Bottom right")))))))))))); + } + @Test public void hyperlinkWithHrefIsConvertedToAnchorTag() { assertThat( 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 bacd649..2fa5fea 100644 --- a/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java +++ b/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java @@ -37,6 +37,10 @@ public class DocumentElementMakers { Optional.empty(), propertyLookup.valueOf(CHILDREN, list())); + public static Paragraph paragraphWithText(String text) { + return make(a(PARAGRAPH, with(CHILDREN, list(runWithText(text))))); + } + public static Run runWithText(String text) { return make(a(RUN, with(CHILDREN, list(new Text(text))))); } -- cgit v1.2.3