diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-02-14 11:19:05 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-02-14 11:19:05 +0000 |
| commit | ae5ded5955978970cbe992fd41628eb2cb3d4b23 (patch) | |
| tree | 5e83172ef682613c5f3ba2f2b22f073aecec6bb6 /src | |
| parent | 2ffae2608b8634c11a02924d3342d6e8cc6c02fe (diff) | |
Wrap bold runs in <strong>
Diffstat (limited to 'src')
3 files changed, 22 insertions, 5 deletions
diff --git a/src/main/java/org/zwobble/mammoth/DocumentConverter.java b/src/main/java/org/zwobble/mammoth/DocumentConverter.java index fb3e4a2..854bc32 100644 --- a/src/main/java/org/zwobble/mammoth/DocumentConverter.java +++ b/src/main/java/org/zwobble/mammoth/DocumentConverter.java @@ -34,7 +34,11 @@ public class DocumentConverter { @Override public List<HtmlNode> visit(Run run) { - return convertChildrenToHtml(run); + List<HtmlNode> nodes = convertChildrenToHtml(run); + if (run.isBold()) { + nodes = list(Html.element("strong", nodes)); + } + return nodes; } @Override diff --git a/src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java b/src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java index 6152822..0a35512 100644 --- a/src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java @@ -4,6 +4,7 @@ import org.junit.Test; import org.zwobble.mammoth.DocumentConverter; import org.zwobble.mammoth.documents.Document; import org.zwobble.mammoth.documents.DocumentElement; +import org.zwobble.mammoth.documents.Text; import org.zwobble.mammoth.html.Html; import org.zwobble.mammoth.html.HtmlNode; @@ -35,6 +36,14 @@ public class DocumentConverterTests { Html.element("p", list(Html.text("there")))))); } + @Test + public void boldRunsAreWrappedInStrongTags() { + assertThat( + convertToHtml(make(a(RUN, with(BOLD, true), with(CHILDREN, list(new Text("Hello")))))), + + deepEquals(list(Html.element("strong", list(Html.text("Hello")))))); + } + private List<HtmlNode> convertToHtml(DocumentElement element) { return DocumentConverter.convertToHtml(element); 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 396a95a..6e9409f 100644 --- a/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java +++ b/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java @@ -14,6 +14,10 @@ import static com.natpryce.makeiteasy.Property.newProperty; import static org.zwobble.mammoth.util.MammothLists.list; public class DocumentElementMakers { + public static final Property<HasChildren, Boolean> BOLD = newProperty(); + public static final Property<HasChildren, Boolean> ITALIC = newProperty(); + public static final Property<HasChildren, Boolean> UNDERLINE = newProperty(); + public static final Property<HasChildren, Boolean> STRIKETHROUGH = newProperty(); public static final Property<HasChildren, List<DocumentElement>> CHILDREN = newProperty(); public static final Instantiator<Paragraph> PARAGRAPH = @@ -24,10 +28,10 @@ public class DocumentElementMakers { public static final Instantiator<Run> RUN = propertyLookup -> new Run( - false, - false, - false, - false, + propertyLookup.valueOf(BOLD, false), + propertyLookup.valueOf(ITALIC, false), + propertyLookup.valueOf(UNDERLINE, false), + propertyLookup.valueOf(STRIKETHROUGH, false), VerticalAlignment.BASELINE, Optional.empty(), propertyLookup.valueOf(CHILDREN, list())); |
