summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2019-03-17 21:32:31 +0000
committerMichael Williamson <mike@zwobble.org>2019-03-17 21:32:31 +0000
commit4d078c3842a40d723f79a5896250ad522ebd083a (patch)
tree9c7155f238ef382f194da655a737e75bdb5cdedf
parenta9efb5601c128b83f5f759a837fd989e108dc61f (diff)
Pass styles into readNumberingXmlElement
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/DocumentReader.java6
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/NumberingXml.java2
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/docx/NumberingXmlTests.java13
3 files changed, 13 insertions, 8 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/DocumentReader.java b/src/main/java/org/zwobble/mammoth/internal/docx/DocumentReader.java
index bb7dd38..1955e55 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/DocumentReader.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/DocumentReader.java
@@ -26,7 +26,7 @@ public class DocumentReader {
PartPaths partPaths = findPartPaths(zipFile);
Styles styles = readStyles(zipFile, partPaths);
- Numbering numbering = readNumbering(zipFile, partPaths);
+ Numbering numbering = readNumbering(zipFile, partPaths, styles);
ContentTypes contentTypes = readContentTypes(zipFile);
FileReader fileReader = new PathRelativeFileReader(path);
PartWithBodyReader partReader = new PartWithBodyReader(zipFile, contentTypes, fileReader, numbering, styles);
@@ -212,9 +212,9 @@ public class DocumentReader {
.orElse(Styles.EMPTY);
}
- private static Numbering readNumbering(Archive file, PartPaths partPaths) {
+ private static Numbering readNumbering(Archive file, PartPaths partPaths, Styles styles) {
return tryParseOfficeXml(file, partPaths.getNumbering())
- .map(NumberingXml::readNumberingXmlElement)
+ .map((XmlElement element) -> NumberingXml.readNumberingXmlElement(element, styles))
.orElse(Numbering.EMPTY);
}
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/NumberingXml.java b/src/main/java/org/zwobble/mammoth/internal/docx/NumberingXml.java
index 0ab12b4..6b5372f 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/NumberingXml.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/NumberingXml.java
@@ -11,7 +11,7 @@ import static org.zwobble.mammoth.internal.util.Maps.entry;
import static org.zwobble.mammoth.internal.util.Maps.toMap;
public class NumberingXml {
- public static Numbering readNumberingXmlElement(XmlElement element) {
+ public static Numbering readNumberingXmlElement(XmlElement element, Styles styles) {
Map<String, Numbering.AbstractNum> abstractNums = readAbstractNums(element.findChildren("w:abstractNum"));
Map<String, Numbering.Num> nums = readNums(element.findChildren("w:num"));
return new Numbering(abstractNums, nums);
diff --git a/src/test/java/org/zwobble/mammoth/tests/docx/NumberingXmlTests.java b/src/test/java/org/zwobble/mammoth/tests/docx/NumberingXmlTests.java
index 12158a4..cbea693 100644
--- a/src/test/java/org/zwobble/mammoth/tests/docx/NumberingXmlTests.java
+++ b/src/test/java/org/zwobble/mammoth/tests/docx/NumberingXmlTests.java
@@ -2,6 +2,7 @@ package org.zwobble.mammoth.tests.docx;
import org.junit.jupiter.api.Test;
import org.zwobble.mammoth.internal.docx.Numbering;
+import org.zwobble.mammoth.internal.docx.Styles;
import org.zwobble.mammoth.internal.xml.XmlElement;
import java.util.Optional;
@@ -24,26 +25,30 @@ public class NumberingXmlTests {
@Test
public void findLevelReturnsNoneIfNumWithIdCannotBeFound() {
- Numbering numbering = readNumberingXmlElement(element("w:numbering"));
+ Numbering numbering = readNumbering(element("w:numbering"));
assertEquals(Optional.empty(), numbering.findLevel("47", "0"));
}
@Test
public void levelIncludesLevelIndex() {
- Numbering numbering = readNumberingXmlElement(SAMPLE_NUMBERING_XML);
+ Numbering numbering = readNumbering(SAMPLE_NUMBERING_XML);
assertEquals("0", numbering.findLevel("47", "0").get().getLevelIndex());
assertEquals("1", numbering.findLevel("47", "1").get().getLevelIndex());
}
@Test
public void listIsNotOrderedIfFormattedAsBullet() {
- Numbering numbering = readNumberingXmlElement(SAMPLE_NUMBERING_XML);
+ Numbering numbering = readNumbering(SAMPLE_NUMBERING_XML);
assertEquals(false, numbering.findLevel("47", "0").get().isOrdered());
}
@Test
public void listIsOrderedIfFormattedAsDecimal() {
- Numbering numbering = readNumberingXmlElement(SAMPLE_NUMBERING_XML);
+ Numbering numbering = readNumbering(SAMPLE_NUMBERING_XML);
assertEquals(true, numbering.findLevel("47", "1").get().isOrdered());
}
+
+ private Numbering readNumbering(XmlElement element) {
+ return readNumberingXmlElement(element, Styles.EMPTY);
+ }
}