aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-08-09 15:03:03 +0100
committerMichael Williamson <mike@zwobble.org>2026-08-09 15:03:03 +0100
commit014e7ef150a860f06323692ceaa5a9f21874f678 (patch)
treef25bc0149cda20d5a2b6300faa6b940f145325d7 /src/test
parent227d04c7c302fbf38d4b2501090078377b1bcfd1 (diff)
Ignore numbering levels that use numStyleLink to refer to themselves
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/docx/NumberingXmlTests.java21
1 files changed, 21 insertions, 0 deletions
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 676b654..a95e50e 100644
--- a/src/test/java/org/zwobble/mammoth/tests/docx/NumberingXmlTests.java
+++ b/src/test/java/org/zwobble/mammoth/tests/docx/NumberingXmlTests.java
@@ -167,6 +167,27 @@ public class NumberingXmlTests {
assertEquals(true, numbering.findLevel("201", "0").get().isOrdered());
}
+ @Test
+ public void whenAbstractNumHasSelfRecursiveNumStyleLinkThenLevelIsNotFound() {
+ Numbering numbering = readNumberingXmlElement(
+ element("w:numbering", list(
+ element("w:abstractNum", map("w:abstractNumId", "100"), list(
+ element("w:numStyleLink", map("w:val", "List1"))
+ )),
+ element("w:num", map("w:numId", "200"), list(
+ element("w:abstractNumId", map("w:val", "100"))
+ ))
+ )),
+ new Styles(
+ map(),
+ map(),
+ map(),
+ map("List1", new NumberingStyle(Optional.of("200")))
+ )
+ );
+ assertEquals(Optional.empty(), numbering.findLevel("200", "0"));
+ }
+
// See: 17.9.23 pStyle (Paragraph Style's Associated Numbering Level) in ECMA-376, 4th Edition
@Test
public void numberingLevelCanBeFoundByParagraphStyleId() {