aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-10-04 22:12:00 +0100
committerMichael Williamson <mike@zwobble.org>2016-10-04 22:12:00 +0100
commit2d51a2ad90d9910c93edc6b101563b996088a0c1 (patch)
tree7b3ede1cae6dea4fd4710ab36c1fff90354dd80d /src/test/java
parentfb4b03b753539bb1019ae7c8cd6ddd8339376fe5 (diff)
Ignore run boolean elements that have value of false
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java63
1 files changed, 58 insertions, 5 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 cb3759c..495683a 100644
--- a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
+++ b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
@@ -3,6 +3,8 @@ package org.zwobble.mammoth.tests.docx;
import org.hamcrest.Matcher;
import org.hamcrest.Matchers;
import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
import org.zwobble.mammoth.internal.documents.*;
import org.zwobble.mammoth.internal.docx.*;
import org.zwobble.mammoth.internal.results.InternalResult;
@@ -14,10 +16,7 @@ import org.zwobble.mammoth.tests.DeepReflectionMatcher;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import java.util.*;
import java.util.function.Function;
import static java.util.Arrays.asList;
@@ -254,6 +253,60 @@ public class BodyXmlTests {
hasProperty("strikethrough", equalTo(true)));
}
+ @RunWith(Parameterized.class)
+ public static class RunBooleanPropertyTests {
+ @Parameterized.Parameters(name = "propertyName: {0}, tagName: {1}")
+ public static Collection<Object[]> data() {
+ return list(new Object[][] {
+ {"bold", "w:b"}, {"underline", "w:u"}, {"italic", "w:i"}, {"strikethrough", "w:strike"}
+ });
+ }
+
+ private final String propertyName;
+ private final String tagName;
+
+ public RunBooleanPropertyTests(String propertyName, String tagName) {
+ this.propertyName = propertyName;
+ this.tagName = tagName;
+ }
+
+ @Test
+ public void runBooleanPropertyIsFalseIfElementIsPresentAndValIsFalse() {
+ XmlElement element = runXmlWithProperties(element(tagName, map("w:val", "false")));
+
+ assertThat(
+ readSuccess(bodyReader(), element),
+ hasProperty(propertyName, equalTo(false)));
+ }
+
+ @Test
+ public void runBooleanPropertyIsFalseIfElementIsPresentAndValIs0() {
+ XmlElement element = runXmlWithProperties(element(tagName, map("w:val", "0")));
+
+ assertThat(
+ readSuccess(bodyReader(), element),
+ hasProperty(propertyName, equalTo(false)));
+ }
+
+ @Test
+ public void runBooleanPropertyIsFalseIfElementIsPresentAndValIsTrue() {
+ XmlElement element = runXmlWithProperties(element(tagName, map("w:val", "true")));
+
+ assertThat(
+ readSuccess(bodyReader(), element),
+ hasProperty(propertyName, equalTo(true)));
+ }
+
+ @Test
+ public void runBooleanPropertyIsFalseIfElementIsPresentAndValIs1() {
+ XmlElement element = runXmlWithProperties(element(tagName, map("w:val", "1")));
+
+ assertThat(
+ readSuccess(bodyReader(), element),
+ hasProperty(propertyName, equalTo(true)));
+ }
+ }
+
@Test
public void runHasBaselineVerticalAlignmentIfVerticalAlignmentElementIsNotPresent() {
XmlElement element = runXmlWithProperties();
@@ -827,7 +880,7 @@ public class BodyXmlTests {
return element("w:r", children);
}
- private XmlElement runXmlWithProperties(XmlNode... children) {
+ private static XmlElement runXmlWithProperties(XmlNode... children) {
return element("w:r", list(element("w:rPr", asList(children))));
}