diff options
Diffstat (limited to 'src/test/java/org')
| -rw-r--r-- | src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java | 5 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/mammoth/tests/docx/NumberingXmlTests.java | 31 |
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); } |
