aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java')
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java74
1 files changed, 74 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 c859be4..0336bf3 100644
--- a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
+++ b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
@@ -626,6 +626,80 @@ public class BodyXmlTests {
))
)));
}
+
+ @Test
+ public void complexFieldCheckboxWithoutDefaultNorCheckedIsUnchecked() {
+ XmlElement element = complexFieldCheckboxParagraph(list(
+ element("w:checkBox")
+ ));
+
+ DocumentElement paragraph = readSuccess(bodyReader(), element);
+
+ assertThat(paragraph, isParagraph(hasChildren(
+ isEmptyRun(),
+ isEmptyRun(),
+ isRun(hasChildren(
+ isCheckbox(false)
+ ))
+ )));
+ }
+
+ @Test
+ public void complexFieldCheckboxWithDefault0AndWithoutCheckedIsUnchecked() {
+ XmlElement element = complexFieldCheckboxParagraph(list(
+ element("w:checkBox", list(
+ element("w:default", map("w:val", "0"))
+ ))
+ ));
+
+ DocumentElement paragraph = readSuccess(bodyReader(), element);
+
+ assertThat(paragraph, isParagraph(hasChildren(
+ isEmptyRun(),
+ isEmptyRun(),
+ isRun(hasChildren(
+ isCheckbox(false)
+ ))
+ )));
+ }
+
+ @Test
+ public void complexFieldCheckboxWithDefault1AndWithoutCheckedIsChecked() {
+ XmlElement element = complexFieldCheckboxParagraph(list(
+ element("w:checkBox", list(
+ element("w:default", map("w:val", "1"))
+ ))
+ ));
+
+ DocumentElement paragraph = readSuccess(bodyReader(), element);
+
+ assertThat(paragraph, isParagraph(hasChildren(
+ isEmptyRun(),
+ isEmptyRun(),
+ isRun(hasChildren(
+ isCheckbox(true)
+ ))
+ )));
+ }
+
+ private XmlElement complexFieldCheckboxParagraph(List<XmlNode> ffDataChildren) {
+ return element("w:p", list(
+ element("w:r", list(
+ element("w:fldChar", map("w:fldCharType", "begin"), list(
+ element("w:ffData", ffDataChildren)
+ ))
+ )),
+ element("w:instrText", list(
+ textXml(" FORMCHECKBOX ")
+ )),
+ element("w:r", list(
+ element("w:fldChar", map("w:fldCharType", "separate"))
+ )),
+ element("w:r", list(
+ element("w:fldChar", map("w:fldCharType", "end"))
+ ))
+ ));
+ }
}
@Test