diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-05-02 12:14:52 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-05-02 12:14:52 +0100 |
| commit | fd18fb68e65af28a0f65b1bd6ec4b1dec06f582f (patch) | |
| tree | 38585c67267a8c5fcd889b24a13bf215635ff64d /src | |
| parent | 90680b0208bba24a970f8b7fd6f9092f5ca90407 (diff) | |
Add support for table cells spanning multiple columns
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java | 5 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/mammoth/tests/conversion/DocumentToHtmlTests.java | 20 |
2 files changed, 24 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java b/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java index 19af0bc..b8df5f2 100644 --- a/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java +++ b/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java @@ -163,7 +163,10 @@ public class DocumentToHtml { @Override public List<HtmlNode> visit(TableCell tableCell) { - return list(Html.element("td", + Map<String, String> attributes = tableCell.getColspan() == 1 + ? map() + : map("colspan", Integer.toString(tableCell.getColspan())); + return list(Html.element("td", attributes, Lists.cons(Html.FORCE_WRITE, convertChildrenToHtml(tableCell)))); } diff --git a/src/test/java/org/zwobble/mammoth/tests/conversion/DocumentToHtmlTests.java b/src/test/java/org/zwobble/mammoth/tests/conversion/DocumentToHtmlTests.java index 2260f0d..1555a86 100644 --- a/src/test/java/org/zwobble/mammoth/tests/conversion/DocumentToHtmlTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/conversion/DocumentToHtmlTests.java @@ -223,6 +223,26 @@ public class DocumentToHtmlTests { } @Test + public void tableCellsAreWrittenWithColspanIfNotEqualToOne() { + assertThat( + convertToHtml(new Table(list( + new TableRow(list( + make(a(TABLE_CELL, + with(CHILDREN, list(paragraphWithText("Top left"))), + with(COLSPAN, 2) + )), + tableCell(list(paragraphWithText("Top right")))))))), + + deepEquals(list(Html.element("table", list( + Html.element("tr", list( + Html.element("td", map("colspan", "2"), list(Html.FORCE_WRITE, Html.element("p", list(Html.text("Top left"))))), + Html.element("td", list(Html.FORCE_WRITE, Html.element("p", list(Html.text("Top right"))))) + )) + )))) + ); + } + + @Test public void hyperlinkWithHrefIsConvertedToAnchorTag() { assertThat( convertToHtml(Hyperlink.href("http://example.com", list(new Text("Hello")))), |
