summaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2021-01-23 15:35:10 +0000
committerMichael Williamson <mike@zwobble.org>2021-01-23 15:35:10 +0000
commit9900b88419abc1bf8f29c856f620fbbfda358d1c (patch)
tree4bba2af78a9e064f0a52303cdba6a8a92f579358 /src/test/java
parent18d8561d42b28061b12b350a236de08b70b0c67f (diff)
Convert symbols in supported fonts to corresponding Unicode characters
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
index fffc901..7e7e980 100644
--- a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
+++ b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
@@ -770,6 +770,42 @@ public class BodyXmlTests {
}
@Test
+ public void symWithSupportedFontAndSupportedCodePointInAsciiRangeIsConvertedToText() {
+ XmlElement element = element("w:sym", map("w:font", "Wingdings", "w:char", "28"));
+
+ DocumentElement result = readSuccess(bodyReader(), element);
+
+ assertThat(
+ result,
+ isTextElement("\uD83D\uDD7F")
+ );
+ }
+
+ @Test
+ public void symWithSupportedFontAndSupportedCodePointInPrivateUseAreaIsConvertedToText() {
+ XmlElement element = element("w:sym", map("w:font", "Wingdings", "w:char", "F028"));
+
+ DocumentElement result = readSuccess(bodyReader(), element);
+
+ assertThat(
+ result,
+ isTextElement("\uD83D\uDD7F")
+ );
+ }
+
+ @Test
+ public void symWithUnsupportedFontAndCodePointProducesEmptyResultWithWarning() {
+ XmlElement element = element("w:sym", map("w:font", "Dingwings", "w:char", "28"));
+
+ InternalResult<List<DocumentElement>> result = readAll(bodyReader(), element);
+
+ assertThat(result, isInternalResult(
+ equalTo(list()),
+ list("A w:sym element with an unsupported character was ignored: char 28 in font Dingwings")
+ ));
+ }
+
+ @Test
public void brWithoutExplicitTypeIsReadAsLineBreak() {
XmlElement element = element("w:br");