summaryrefslogtreecommitdiff
path: root/src/test/java/org
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2024-06-13 12:52:44 +0100
committerMichael Williamson <mike@zwobble.org>2024-06-13 12:52:44 +0100
commit5edcc79c02f0bc597f91b525107b1407eeffe288 (patch)
tree421b1c96793ebfef10d436bcf0020efd1be3f022 /src/test/java/org
parent43f5e189cb5cc4aa98932726b17319147c0ae742 (diff)
Support style mapping for highlights
Diffstat (limited to 'src/test/java/org')
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/conversion/DocumentToHtmlTests.java44
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java4
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);
}