aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/zwobble
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2019-03-17 21:44:44 +0000
committerMichael Williamson <mike@zwobble.org>2019-03-17 21:45:09 +0000
commitf2fd5ec08b2b87278f2929d7c15c9ed71fbac8d8 (patch)
treedfe036e0e13aa68e2173702d27a17edca0df2643 /src/test/java/org/zwobble
parent4d078c3842a40d723f79a5896250ad522ebd083a (diff)
Follow w:numStyleLink in w:abstractNum
Diffstat (limited to 'src/test/java/org/zwobble')
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java5
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/docx/NumberingXmlTests.java31
2 files changed, 34 insertions, 2 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 897ea60..b11c5b1 100644
--- a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
+++ b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
@@ -1443,12 +1443,13 @@ public class BodyXmlTests {
return new Numbering(
numbering.entrySet().stream().collect(Collectors.toMap(
entry -> entry.getKey(),
- entry -> new Numbering.AbstractNum(entry.getValue())
+ entry -> new Numbering.AbstractNum(entry.getValue(), Optional.empty())
)),
numbering.keySet().stream().collect(Collectors.toMap(
numId -> numId,
numId -> new Numbering.Num(Optional.of(numId))
- ))
+ )),
+ Styles.EMPTY
);
}
}
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 cbea693..a94f8e8 100644
--- a/src/test/java/org/zwobble/mammoth/tests/docx/NumberingXmlTests.java
+++ b/src/test/java/org/zwobble/mammoth/tests/docx/NumberingXmlTests.java
@@ -1,6 +1,7 @@
package org.zwobble.mammoth.tests.docx;
import org.junit.jupiter.api.Test;
+import org.zwobble.mammoth.internal.documents.NumberingStyle;
import org.zwobble.mammoth.internal.docx.Numbering;
import org.zwobble.mammoth.internal.docx.Styles;
import org.zwobble.mammoth.internal.xml.XmlElement;
@@ -48,6 +49,36 @@ public class NumberingXmlTests {
assertEquals(true, numbering.findLevel("47", "1").get().isOrdered());
}
+ @Test
+ public void whenAbstractNumHasNumStyleLinkThenStyleIsUsedToFindNum() {
+ Numbering numbering = readNumberingXmlElement(
+ element("w:numbering", list(
+ element("w:abstractNum", map("w:abstractNumId", "100"), list(
+ element("w:lvl", map("w:ilvl", "0"), list(
+ element("w:numFmt", map("w:val", "decimal"))
+ ))
+ )),
+ element("w:abstractNum", map("w:abstractNumId", "101"), list(
+ element("w:numStyleLink", map("w:val", "List1"))
+ )),
+ element("w:num", map("w:numId", "200"), list(
+ element("w:abstractNumId", map("w:val", "100"))
+ )),
+ element("w:num", map("w:numId", "201"), list(
+ element("w:abstractNumId", map("w:val", "101"))
+ ))
+ )),
+ new Styles(
+ map(),
+ map(),
+ map(),
+ map("List1", new NumberingStyle(Optional.of("200")))
+ )
+ );
+ assertEquals(true, numbering.findLevel("201", "0").get().isOrdered());
+ }
+
+
private Numbering readNumbering(XmlElement element) {
return readNumberingXmlElement(element, Styles.EMPTY);
}