aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java7
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMappingParser.java9
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/styles/StyleMapParserTests.java6
3 files changed, 22 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java b/src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java
index 2711123..bc6efac 100644
--- a/src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java
+++ b/src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java
@@ -10,6 +10,7 @@ public class StyleMapBuilder {
private Optional<HtmlPath> underline;
private Optional<HtmlPath> strikethrough;
private Optional<HtmlPath> bold;
+ private Optional<HtmlPath> italic;
private final ImmutableList.Builder<StyleMapping<Paragraph>> paragraphStyles = ImmutableList.builder();
private final ImmutableList.Builder<StyleMapping<Run>> runStyles = ImmutableList.builder();
@@ -17,6 +18,7 @@ public class StyleMapBuilder {
this.bold = Optional.empty();
this.underline = Optional.empty();
this.strikethrough = Optional.empty();
+ this.italic = Optional.empty();
}
public StyleMapBuilder bold(HtmlPath path) {
@@ -24,6 +26,11 @@ public class StyleMapBuilder {
return this;
}
+ public StyleMapBuilder italic(HtmlPath path) {
+ this.italic = Optional.of(path);
+ return this;
+ }
+
public StyleMapBuilder underline(HtmlPath path) {
this.underline = Optional.of(path);
return this;
diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMappingParser.java b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMappingParser.java
index 3a580d9..4f1871b 100644
--- a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMappingParser.java
+++ b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMappingParser.java
@@ -55,6 +55,15 @@ public class StyleMappingParser extends BaseParser<StyleMapBuilder> {
}
}),
Sequence(
+ "i",
+ new Action() {
+ @Override
+ public boolean run(Context context) {
+ updateBuilder.set(StyleMapBuilder::italic);
+ return true;
+ }
+ }),
+ Sequence(
"u",
new Action() {
@Override
diff --git a/src/test/java/org/zwobble/mammoth/tests/styles/StyleMapParserTests.java b/src/test/java/org/zwobble/mammoth/tests/styles/StyleMapParserTests.java
index 760a0a6..a89b192 100644
--- a/src/test/java/org/zwobble/mammoth/tests/styles/StyleMapParserTests.java
+++ b/src/test/java/org/zwobble/mammoth/tests/styles/StyleMapParserTests.java
@@ -36,6 +36,12 @@ public class StyleMapParserTests {
}
@Test
+ public void canMapItalic() {
+ StyleMap styleMap = StyleMapParser.parse("i => strong");
+ assertThat(styleMap, deepEquals(StyleMap.builder().italic(HtmlPath.collapsibleElement("strong")).build()));
+ }
+
+ @Test
public void canMapUnderline() {
StyleMap styleMap = StyleMapParser.parse("u => em");
assertThat(styleMap, deepEquals(StyleMap.builder().underline(HtmlPath.collapsibleElement("em")).build()));