summaryrefslogtreecommitdiff
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.java8
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java4
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java52
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/docx/DocumentMatchers.java14
4 files changed, 58 insertions, 20 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 689b5f6..038056c 100644
--- a/src/test/java/org/zwobble/mammoth/tests/conversion/DocumentToHtmlTests.java
+++ b/src/test/java/org/zwobble/mammoth/tests/conversion/DocumentToHtmlTests.java
@@ -224,10 +224,10 @@ public class DocumentToHtmlTests {
public void tableIsConvertedToHtmlTable() {
assertThat(
convertToHtml(new Table(list(
- new TableRow(list(
+ tableRow(list(
tableCell(withChildren(paragraphWithText("Top left"))),
tableCell(withChildren(paragraphWithText("Top right"))))),
- new TableRow(list(
+ tableRow(list(
tableCell(withChildren(paragraphWithText("Bottom left"))),
tableCell(withChildren(paragraphWithText("Bottom right")))))))),
@@ -244,7 +244,7 @@ public class DocumentToHtmlTests {
public void tableCellsAreWrittenWithColspanIfNotEqualToOne() {
assertThat(
convertToHtml(new Table(list(
- new TableRow(list(
+ tableRow(list(
tableCell(
withChildren(paragraphWithText("Top left")),
withColspan(2)
@@ -264,7 +264,7 @@ public class DocumentToHtmlTests {
public void tableCellsAreWrittenWithRowspanIfNotEqualToOne() {
assertThat(
convertToHtml(new Table(list(
- new TableRow(list(
+ tableRow(list(
tableCell(withRowspan(2))
))
))),
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 ed00729..560eb54 100644
--- a/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java
+++ b/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java
@@ -108,6 +108,10 @@ public class DocumentElementMakers {
return run(withChildren(new Text(text)));
}
+ public static TableRow tableRow(List<DocumentElement> cells) {
+ return new TableRow(cells, false);
+ }
+
public static TableCell tableCell(Object... args) {
Arguments arguments = new Arguments(args);
return new TableCell(
diff --git a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
index 2eaa16f..e363983 100644
--- a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
+++ b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
@@ -593,7 +593,7 @@ public class BodyXmlTests {
assertThat(
readSuccess(bodyReader(), element),
deepEquals(new Table(list(
- new TableRow(list(
+ tableRow(list(
new TableCell(1, 1, list(
paragraph()
))
@@ -603,6 +603,26 @@ public class BodyXmlTests {
}
@Test
+ public void tblHeaderMarksTableRowAsHeader() {
+ XmlElement element = element("w:tbl", list(
+ element("w:tr", list(
+ element("w:trPr", list(
+ element("w:tblHeader")
+ ))
+ )),
+ element("w:tr")
+ ));
+
+ assertThat(
+ readSuccess(bodyReader(), element),
+ isTable(hasChildren(
+ isRow(isHeader(true)),
+ isRow(isHeader(false))
+ ))
+ );
+ }
+
+ @Test
public void gridspanIsReadAsColspanForTableCell() {
XmlElement element = element("w:tbl", list(
element("w:tr", list(
@@ -615,7 +635,7 @@ public class BodyXmlTests {
assertThat(
readSuccess(bodyReader(), element),
deepEquals(new Table(list(
- new TableRow(list(
+ tableRow(list(
new TableCell(1, 2, list(
paragraph()
))
@@ -637,11 +657,11 @@ public class BodyXmlTests {
assertThat(
readSuccess(bodyReader(), element),
deepEquals(new Table(list(
- new TableRow(list(new TableCell(1, 1, list()))),
- new TableRow(list(new TableCell(3, 1, list()))),
- new TableRow(list()),
- new TableRow(list()),
- new TableRow(list(new TableCell(1, 1, list())))
+ tableRow(list(new TableCell(1, 1, list()))),
+ tableRow(list(new TableCell(3, 1, list()))),
+ tableRow(list()),
+ tableRow(list()),
+ tableRow(list(new TableCell(1, 1, list())))
)))
);
}
@@ -656,8 +676,8 @@ public class BodyXmlTests {
assertThat(
readSuccess(bodyReader(), element),
deepEquals(new Table(list(
- new TableRow(list(new TableCell(2, 1, list()))),
- new TableRow(list())
+ tableRow(list(new TableCell(2, 1, list()))),
+ tableRow(list())
)))
);
}
@@ -674,10 +694,10 @@ public class BodyXmlTests {
assertThat(
readSuccess(bodyReader(), element),
deepEquals(new Table(list(
- new TableRow(list(new TableCell(1, 1, list()), new TableCell(1, 1, list()), new TableCell(3, 1, list()))),
- new TableRow(list(new TableCell(1, 2, list()))),
- new TableRow(list(new TableCell(1, 1, list()), new TableCell(1, 1, list()))),
- new TableRow(list(new TableCell(1, 1, list()), new TableCell(1, 1, list()), new TableCell(1, 1, list())))
+ tableRow(list(new TableCell(1, 1, list()), new TableCell(1, 1, list()), new TableCell(3, 1, list()))),
+ tableRow(list(new TableCell(1, 2, list()))),
+ tableRow(list(new TableCell(1, 1, list()), new TableCell(1, 1, list()))),
+ tableRow(list(new TableCell(1, 1, list()), new TableCell(1, 1, list()), new TableCell(1, 1, list())))
)))
);
}
@@ -692,8 +712,8 @@ public class BodyXmlTests {
assertThat(
readSuccess(bodyReader(), element),
deepEquals(new Table(list(
- new TableRow(list(new TableCell(1, 2, list()), new TableCell(1, 1, list()))),
- new TableRow(list(new TableCell(1, 1, list()), new TableCell(1, 1, list())))
+ tableRow(list(new TableCell(1, 2, list()), new TableCell(1, 1, list()))),
+ tableRow(list(new TableCell(1, 1, list()), new TableCell(1, 1, list())))
)))
);
}
@@ -722,7 +742,7 @@ public class BodyXmlTests {
assertThat(
read(bodyReader(), element),
isInternalResult(
- deepEquals(new Table(list(new TableRow(list(paragraph()))))),
+ deepEquals(new Table(list(tableRow(list(paragraph()))))),
list("unexpected non-cell element in table row, cell merging may be incorrect")
)
);
diff --git a/src/test/java/org/zwobble/mammoth/tests/docx/DocumentMatchers.java b/src/test/java/org/zwobble/mammoth/tests/docx/DocumentMatchers.java
index d2718b7..8ecb902 100644
--- a/src/test/java/org/zwobble/mammoth/tests/docx/DocumentMatchers.java
+++ b/src/test/java/org/zwobble/mammoth/tests/docx/DocumentMatchers.java
@@ -46,6 +46,20 @@ public class DocumentMatchers {
return cast(Run.class, allOf(matchers));
}
+ @SafeVarargs
+ static Matcher<DocumentElement> isTable(Matcher<? super Table>... matchers) {
+ return cast(Table.class, allOf(matchers));
+ }
+
+ @SafeVarargs
+ static Matcher<DocumentElement> isRow(Matcher<? super TableRow>... matchers) {
+ return cast(TableRow.class, allOf(matchers));
+ }
+
+ static Matcher<TableRow> isHeader(boolean isHeader) {
+ return hasProperty("header", equalTo(isHeader));
+ }
+
private static <T, U> Matcher<U> cast(Class<T> clazz, Matcher<? super T> downcastMatcher) {
return new TypeSafeDiagnosingMatcher<U>() {
@Override