diff options
| author | Michael Williamson <mike@zwobble.org> | 2025-08-03 08:05:02 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2025-08-03 08:05:02 +0100 |
| commit | b65bc063d98c2ddb1dc4cc9b4dbcdc1aef23d5aa (patch) | |
| tree | b672568a0f04e95749abdc9475f3bb026760ba64 /src/test/java/org/zwobble/mammoth/tests | |
| parent | dd25b828a490ddad7ccc75d762b82d5fdd689fcd (diff) | |
Ignore style definitions using a style ID that has already been used
Diffstat (limited to 'src/test/java/org/zwobble/mammoth/tests')
| -rw-r--r-- | src/test/java/org/zwobble/mammoth/tests/docx/StylesXmlTests.java | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/test/java/org/zwobble/mammoth/tests/docx/StylesXmlTests.java b/src/test/java/org/zwobble/mammoth/tests/docx/StylesXmlTests.java index 89a7d1a..c6ccc82 100644 --- a/src/test/java/org/zwobble/mammoth/tests/docx/StylesXmlTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/docx/StylesXmlTests.java @@ -118,6 +118,46 @@ public class StylesXmlTests { assertEquals(Optional.of("42"), styles.findNumberingStyleById("List1").get().getNumId()); } + @Test + public void whenMultipleNonNumberingStyleElementsHaveSameStyleIdThenOnlyFirstElementIsUsed() { + XmlElement element = element("w:styles", list( + element("w:style", map("w:type", "table", "w:styleId", "TableNormal"), list( + nameElement("Normal Table") + )), + element("w:style", map("w:type", "table", "w:styleId", "TableNormal"), list( + nameElement("Table Normal") + )) + )); + + Styles styles = readStylesXmlElement(element); + + assertEquals(Optional.of("Normal Table"), styles.findTableStyleById("TableNormal").get().getName()); + } + + @Test + public void whenMultipleNumberingStyleElementsHaveSameStyleIdThenOnlyFirstElementIsUsed() { + XmlElement element = element("w:styles", list( + element("w:style", map("w:type", "numbering", "w:styleId", "List1"), list( + element("w:pPr", list( + element("w:numPr", list( + element("w:numId", map("w:val", "42")) + )) + )) + )), + element("w:style", map("w:type", "numbering", "w:styleId", "List1"), list( + element("w:pPr", list( + element("w:numPr", list( + element("w:numId", map("w:val", "43")) + )) + )) + )) + )); + + Styles styles = readStylesXmlElement(element); + + assertEquals(Optional.of("42"), styles.findNumberingStyleById("List1").get().getNumId()); + } + private XmlElement nameElement(String name) { return element("w:name", map("w:val", name)); } |
