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 ae7140e..2711123 100644
--- a/src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java
+++ b/src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java
@@ -9,14 +9,21 @@ import java.util.Optional;
public class StyleMapBuilder {
private Optional<HtmlPath> underline;
private Optional<HtmlPath> strikethrough;
+ private Optional<HtmlPath> bold;
private final ImmutableList.Builder<StyleMapping<Paragraph>> paragraphStyles = ImmutableList.builder();
private final ImmutableList.Builder<StyleMapping<Run>> runStyles = ImmutableList.builder();
public StyleMapBuilder() {
+ this.bold = Optional.empty();
this.underline = Optional.empty();
this.strikethrough = Optional.empty();
}
+ public StyleMapBuilder bold(HtmlPath path) {
+ this.bold = 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 e6095c7..3a580d9 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
@@ -46,6 +46,15 @@ public class StyleMappingParser extends BaseParser<StyleMapBuilder> {
}
}),
Sequence(
+ "b",
+ new Action() {
+ @Override
+ public boolean run(Context context) {
+ updateBuilder.set(StyleMapBuilder::bold);
+ 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 1532991..760a0a6 100644
--- a/src/test/java/org/zwobble/mammoth/tests/styles/StyleMapParserTests.java
+++ b/src/test/java/org/zwobble/mammoth/tests/styles/StyleMapParserTests.java
@@ -30,6 +30,12 @@ public class StyleMapParserTests {
}
@Test
+ public void canMapBold() {
+ StyleMap styleMap = StyleMapParser.parse("b => em");
+ assertThat(styleMap, deepEquals(StyleMap.builder().bold(HtmlPath.collapsibleElement("em")).build()));
+ }
+
+ @Test
public void canMapUnderline() {
StyleMap styleMap = StyleMapParser.parse("u => em");
assertThat(styleMap, deepEquals(StyleMap.builder().underline(HtmlPath.collapsibleElement("em")).build()));