diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-02-13 19:05:56 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-02-13 19:05:56 +0000 |
| commit | 866644bfc21d5a330dc4b142baffdf70934cbe69 (patch) | |
| tree | 0dcd9ba457f98ca0969ae806423a846691531409 /src | |
| parent | 3b306d59bb9abcbb061735d4ae0cc40522c2ce0c (diff) | |
Add italic property to Run
Diffstat (limited to 'src')
4 files changed, 28 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/mammoth/documents/Run.java b/src/main/java/org/zwobble/mammoth/documents/Run.java index ed4c65e..d4d4a9f 100644 --- a/src/main/java/org/zwobble/mammoth/documents/Run.java +++ b/src/main/java/org/zwobble/mammoth/documents/Run.java @@ -5,19 +5,30 @@ import java.util.Optional; public class Run implements DocumentElement, HasChildren { private final boolean isBold; + private final boolean isItalic; private final Optional<Style> style; private final List<DocumentElement> children; - public Run(boolean isBold, Optional<Style> style, List<DocumentElement> children) { + public Run( + boolean isBold, + boolean isItalic, + Optional<Style> style, + List<DocumentElement> children) + { this.isBold = isBold; - this.children = children; + this.isItalic = isItalic; this.style = style; + this.children = children; } public boolean isBold() { return isBold; } + public boolean isItalic() { + return isItalic; + } + public Optional<Style> getStyle() { return style; } diff --git a/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java b/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java index 2982916..b2b5abc 100644 --- a/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java +++ b/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java @@ -51,6 +51,7 @@ public class BodyXmlReader { readElements(element.children()), (style, children) -> new Run( isBold(properties), + isItalic(properties), style, children)); } @@ -59,6 +60,10 @@ public class BodyXmlReader { return properties.hasChild("w:b"); } + private boolean isItalic(XmlElementLike properties) { + return false; + } + private Result<Optional<Style>> readRunStyle(XmlElementLike properties) { return readStyle(properties, "w:rStyle", "Run", styles::findCharacterStyleById); } diff --git a/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java b/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java index 9eb8873..3ff2afe 100644 --- a/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java +++ b/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java @@ -25,6 +25,7 @@ public class DocumentElementMakers { public static final Instantiator<Run> RUN = propertyLookup -> new Run( false, + false, Optional.empty(), propertyLookup.valueOf(CHILDREN, list())); } 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 5f4f379..478c0c8 100644 --- a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java @@ -197,6 +197,15 @@ public class BodyXmlTests { hasProperty("bold", equalTo(true))); } + @Test + public void runIsNotItalicIfItalicElementIsNotPresent() { + XmlElement element = runXmlWithProperties(); + + assertThat( + readSuccess(a(bodyReader), element), + hasProperty("italic", equalTo(false))); + } + private static DocumentElement readSuccess(Maker<BodyXmlReader> reader, XmlElement element) { Result<DocumentElement> result = read(reader, element); assertThat(result.getWarnings(), deepEquals(list())); |
