aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org')
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java91
1 files changed, 91 insertions, 0 deletions
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 7ab1ec0..a4b3bdd 100644
--- a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
+++ b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
@@ -765,6 +765,97 @@ public class BodyXmlTests {
assertThat(result, isCheckbox(true));
}
+ @Test
+ public void whenStructuredDocumentTagCheckboxHasSdtContentThenCheckboxReplacesSingleCharacter() {
+ XmlElement element = element("w:tbl", list(
+ wTr(
+ element("w:sdt", list(
+ element("w:sdtPr", list(
+ element("wordml:checkbox", list(
+ element("wordml:checked", map("wordml:val", "1"))
+ ))
+ )),
+ element("w:sdtContent", list(
+ element("w:tc", list(
+ element("w:p", list(
+ element("w:r", list(
+ element("w:t", list(
+ textXml("☐")
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ )
+ ));
+
+ DocumentElement result = readSuccess(bodyReader(), element);
+
+ assertThat(result, deepEquals(table(list(
+ tableRow(list(
+ tableCell(
+ withChildren(
+ paragraph(withChildren(
+ run(withChildren(
+ checkbox(true)
+ ))
+ ))
+ )
+ )
+ ))
+ ))));
+ }
+
+ @Test
+ public void whenStructuredDocumentTagCheckboxHasSdtContentThenDeletedContentIsIgnored() {
+ XmlElement element = element("w:tbl", list(
+ wTr(
+ element("w:sdt", list(
+ element("w:sdtPr", list(
+ element("wordml:checkbox", list(
+ element("wordml:checked", map("wordml:val", "1"))
+ ))
+ )),
+ element("w:sdtContent", list(
+ element("w:tc", list(
+ element("w:p", list(
+ element("w:r", list(
+ element("w:t", list(
+ textXml("☐")
+ ))
+ )),
+ element("w:del", list(
+ element("w:r", list(
+ element("w:t", list(
+ textXml("☐")
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ ))
+ )
+ ));
+
+ DocumentElement result = readSuccess(bodyReader(), element);
+
+ assertThat(result, deepEquals(table(list(
+ tableRow(list(
+ tableCell(
+ withChildren(
+ paragraph(withChildren(
+ run(withChildren(
+ checkbox(true)
+ ))
+ ))
+ )
+ )
+ ))
+ ))));
+ }
+
private XmlElement complexFieldCheckboxParagraph(List<XmlNode> ffDataChildren) {
return element("w:p", list(
element("w:r", list(