diff options
| author | Michael Williamson <mike@zwobble.org> | 2017-05-24 23:01:19 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2017-05-24 23:01:19 +0100 |
| commit | ebb527596ec4dad842232cf8b30cb1d48f34244d (patch) | |
| tree | 3f04a5513c13632c8c0f7755f4bd763002e03442 /src/test/java/org/zwobble/mammoth | |
| parent | 370df4d36053736446e9334008d012ebda5f86bb (diff) | |
Write thead and th for headers in table
Diffstat (limited to 'src/test/java/org/zwobble/mammoth')
| -rw-r--r-- | src/test/java/org/zwobble/mammoth/tests/conversion/DocumentToHtmlTests.java | 36 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java | 10 |
2 files changed, 44 insertions, 2 deletions
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 038056c..3c4af09 100644 --- a/src/test/java/org/zwobble/mammoth/tests/conversion/DocumentToHtmlTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/conversion/DocumentToHtmlTests.java @@ -241,6 +241,42 @@ public class DocumentToHtmlTests { } @Test + public void headerRowsAreWrappedInThead() { + assertThat( + convertToHtml(new Table(list( + tableRow(list(tableCell()), withIsHeader(true)), + tableRow(list(tableCell()), withIsHeader(true)), + tableRow(list(tableCell()), withIsHeader(false)) + ))), + + deepEquals(list(Html.element("table", list( + Html.element("thead", list( + Html.element("tr", list(Html.element("th", list(Html.FORCE_WRITE)))), + Html.element("tr", list(Html.element("th", list(Html.FORCE_WRITE)))) + )), + Html.element("tbody", list( + Html.element("tr", list(Html.element("td", list(Html.FORCE_WRITE)))) + )) + )))) + ); + } + + @Test + public void tbodyIsOmittedIfAllRowsAreHeaders() { + assertThat( + Html.stripEmpty(convertToHtml(new Table(list( + tableRow(list(tableCell()), withIsHeader(true)) + )))), + + deepEquals(list(Html.element("table", list( + Html.element("thead", list( + Html.element("tr", list(Html.element("th", list(Html.FORCE_WRITE)))) + )) + )))) + ); + } + + @Test public void tableCellsAreWrittenWithColspanIfNotEqualToOne() { assertThat( convertToHtml(new Table(list( 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 560eb54..a3595ae 100644 --- a/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java +++ b/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java @@ -21,6 +21,7 @@ public class DocumentElementMakers { private static final ArgumentKey<Boolean> STRIKETHROUGH = new ArgumentKey<>("strikethrough"); private static final ArgumentKey<VerticalAlignment> VERTICAL_ALIGNMENT = new ArgumentKey<>("verticalAlignment"); private static final ArgumentKey<List<DocumentElement>> CHILDREN = new ArgumentKey<>("children"); + private static final ArgumentKey<Boolean> IS_HEADER = new ArgumentKey<>("isHeader"); private static final ArgumentKey<Integer> COLSPAN = new ArgumentKey<>("colspan"); private static final ArgumentKey<Integer> ROWSPAN = new ArgumentKey<>("rowspan"); private static final ArgumentKey<List<Comment>> COMMENTS = new ArgumentKey<>("comments"); @@ -57,6 +58,10 @@ public class DocumentElementMakers { return arg(CHILDREN, asList(children)); } + public static Argument<Boolean> withIsHeader(boolean isHeader) { + return arg(IS_HEADER, isHeader); + } + public static Argument<Integer> withRowspan(Integer rowspan) { return arg(ROWSPAN, rowspan); } @@ -108,8 +113,9 @@ public class DocumentElementMakers { return run(withChildren(new Text(text))); } - public static TableRow tableRow(List<DocumentElement> cells) { - return new TableRow(cells, false); + public static TableRow tableRow(List<DocumentElement> cells, Object... args) { + Arguments arguments = new Arguments(args); + return new TableRow(cells, arguments.get(IS_HEADER, false)); } public static TableCell tableCell(Object... args) { |
