From f61e177abb96034353572e5c32df0a8ae671a4d5 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 20 Feb 2016 15:39:19 +0000 Subject: Produce warnings for unrecognised styles --- .../mammoth/tests/DocumentConverterTests.java | 22 +++++++++++++++++++++- .../mammoth/tests/documents/StyleTests.java | 22 ++++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 src/test/java/org/zwobble/mammoth/tests/documents/StyleTests.java (limited to 'src/test/java/org') diff --git a/src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java b/src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java index 429df1e..bc37ad9 100644 --- a/src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java @@ -20,6 +20,7 @@ import static org.hamcrest.Matchers.*; import static org.zwobble.mammoth.documents.VerticalAlignment.SUBSCRIPT; import static org.zwobble.mammoth.documents.VerticalAlignment.SUPERSCRIPT; import static org.zwobble.mammoth.results.Result.success; +import static org.zwobble.mammoth.results.Warning.warning; import static org.zwobble.mammoth.tests.DeepReflectionMatcher.deepEquals; import static org.zwobble.mammoth.tests.documents.DocumentElementMakers.*; import static org.zwobble.mammoth.util.MammothLists.list; @@ -68,6 +69,17 @@ public class DocumentConverterTests { deepEquals(list(Html.element("p", map("class", "tip"))))); } + @Test + public void warningIfParagraphHasUnrecognisedStyle() { + assertThat( + convertToHtmlResult( + make(a(PARAGRAPH, with(STYLE, Optional.of(new Style("TipsParagraph", Optional.of("Tips Paragraph"))))))), + + deepEquals(new Result<>( + list(Html.element("p")), + list(warning("Unrecognised paragraph style: Tips Paragraph (Style ID: TipsParagraph)"))))); + } + @Test public void boldRunsAreWrappedInStrongTags() { assertThat( @@ -256,8 +268,16 @@ public class DocumentConverterTests { } private List convertToHtml(DocumentElement element, StyleMap styleMap) { - Result> result = DocumentConverter.convertToHtml("doc-42-", false, styleMap, element); + Result> result = convertToHtmlResult(element, styleMap); assertThat(result.getWarnings(), hasSize(0)); return result.getValue(); } + + private Result> convertToHtmlResult(DocumentElement element) { + return convertToHtmlResult(element, StyleMap.EMPTY); + } + + private Result> convertToHtmlResult(DocumentElement element, StyleMap styleMap) { + return DocumentConverter.convertToHtml("doc-42-", false, styleMap, element); + } } diff --git a/src/test/java/org/zwobble/mammoth/tests/documents/StyleTests.java b/src/test/java/org/zwobble/mammoth/tests/documents/StyleTests.java new file mode 100644 index 0000000..68b07c6 --- /dev/null +++ b/src/test/java/org/zwobble/mammoth/tests/documents/StyleTests.java @@ -0,0 +1,22 @@ +package org.zwobble.mammoth.tests.documents; + +import org.junit.Test; +import org.zwobble.mammoth.documents.Style; + +import java.util.Optional; + +import static org.junit.Assert.assertEquals; + +public class StyleTests { + @Test + public void descriptionOfStyleIncludesBothIdAndNameIfPresent() { + Style style = new Style("Heading1", Optional.of("Heading 1")); + assertEquals("Heading 1 (Style ID: Heading1)", style.describe()); + } + + @Test + public void descriptionOfStyleIsJustStyleIdIfStyleNameIsMissing() { + Style style = new Style("Heading1", Optional.empty()); + assertEquals("Style ID: Heading1", style.describe()); + } +} -- cgit v1.2.3