diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-06-13 12:52:44 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-06-13 12:52:44 +0100 |
| commit | 5edcc79c02f0bc597f91b525107b1407eeffe288 (patch) | |
| tree | 421b1c96793ebfef10d436bcf0020efd1be3f022 /src/test/java | |
| parent | 43f5e189cb5cc4aa98932726b17319147c0ae742 (diff) | |
Support style mapping for highlights
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/zwobble/mammoth/tests/conversion/DocumentToHtmlTests.java | 44 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java | 4 |
2 files changed, 48 insertions, 0 deletions
diff --git a/src/test/java/org/zwobble/mammoth/tests/conversion/DocumentToHtmlTests.java b/src/test/java/org/zwobble/mammoth/tests/conversion/DocumentToHtmlTests.java index 03e5a52..3cea235 100644 --- a/src/test/java/org/zwobble/mammoth/tests/conversion/DocumentToHtmlTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/conversion/DocumentToHtmlTests.java @@ -211,6 +211,50 @@ public class DocumentToHtmlTests { } @Test + public void highlightedRunsAreIgnoredByDefault() { + Run run = run(withHighlight("yellow"), withChildren(new Text("Hello"))); + + List<HtmlNode> result = convertToHtml(run); + + assertThat(result, deepEquals(list(Html.text("Hello")))); + } + + @Test + public void highlightedRunsCanBeConfiguredWithStyleMappingForAllHighlights() { + Run run = run(withHighlight("yellow"), withChildren(new Text("Hello"))); + StyleMap styleMap = StyleMap.builder() + .mapHighlight(new HighlightMatcher(Optional.empty()), HtmlPath.element("mark")) + .build(); + + List<HtmlNode> result = convertToHtml(run, styleMap); + + assertThat(result, deepEquals(list( + Html.element("mark", list(Html.text("Hello"))) + ))); + } + + @Test + public void highlightedRunsCanBeConfiguredWithStyleMappingForSpecificHighlightColor() { + Paragraph paragraph = paragraph(withChildren( + run(withHighlight("yellow"), withChildren(new Text("Yellow"))), + run(withHighlight("red"), withChildren(new Text("Red"))) + )); + StyleMap styleMap = StyleMap.builder() + .mapHighlight(new HighlightMatcher(Optional.of("yellow")), HtmlPath.element("mark", map("class", "yellow"))) + .mapHighlight(new HighlightMatcher(Optional.empty()), HtmlPath.element("mark")) + .build(); + + List<HtmlNode> result = convertToHtml(paragraph, styleMap); + + assertThat(result, deepEquals(list( + Html.element("p", list( + Html.element("mark", map("class", "yellow"), list(Html.text("Yellow"))), + Html.element("mark", list(Html.text("Red"))) + )) + ))); + } + + @Test public void superscriptRunsAreWrappedInSuperscriptTags() { assertThat( convertToHtml(run(withVerticalAlignment(SUPERSCRIPT), withChildren(new Text("Hello")))), 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 e5bb12b..d807e57 100644 --- a/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java +++ b/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java @@ -64,6 +64,10 @@ public class DocumentElementMakers { return arg(SMALL_CAPS, smallCaps); } + public static Argument<Optional<String>> withHighlight(String highlight) { + return arg(HIGHLIGHT, Optional.of(highlight)); + } + public static Argument<VerticalAlignment> withVerticalAlignment(VerticalAlignment verticalAlignment) { return arg(VERTICAL_ALIGNMENT, verticalAlignment); } |
