aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/conversion/DocumentToHtmlTests.java36
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java10
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) {