diff options
Diffstat (limited to 'src/test/java')
3 files changed, 78 insertions, 2 deletions
diff --git a/src/test/java/org/zwobble/mammoth/tests/styles/DocumentMatcherParsingTests.java b/src/test/java/org/zwobble/mammoth/tests/styles/DocumentMatcherParsingTests.java new file mode 100644 index 0000000..dc87945 --- /dev/null +++ b/src/test/java/org/zwobble/mammoth/tests/styles/DocumentMatcherParsingTests.java @@ -0,0 +1,53 @@ +package org.zwobble.mammoth.tests.styles; + +import org.junit.Test; +import org.parboiled.support.Var; +import org.zwobble.mammoth.styles.ParagraphMatcher; +import org.zwobble.mammoth.styles.parsing.Parsing; +import org.zwobble.mammoth.styles.parsing.StyleMappingParser; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.zwobble.mammoth.tests.DeepReflectionMatcher.deepEquals; + +public class DocumentMatcherParsingTests { + @Test + public void canReadPlainParagraph() { + assertThat( + parseParagraphMatcher("p"), + deepEquals(ParagraphMatcher.ANY)); + } + + @Test + public void readsParagraphWithStyleId() { + assertThat( + parseParagraphMatcher("p.Heading1"), + deepEquals(ParagraphMatcher.styleId("Heading1"))); + } + + @Test + public void readsParagraphWithStyleName() { + assertThat( + parseParagraphMatcher("p[style-name='Heading 1']"), + deepEquals(ParagraphMatcher.styleName("Heading 1"))); + } + + @Test + public void readsParagraphOrderedList() { + assertThat( + parseParagraphMatcher("p:ordered-list(2)"), + deepEquals(ParagraphMatcher.orderedList("1"))); + } + + @Test + public void readsParagraphUnorderedList() { + assertThat( + parseParagraphMatcher("p:unordered-list(2)"), + deepEquals(ParagraphMatcher.unorderedList("1"))); + } + + private ParagraphMatcher parseParagraphMatcher(String input) { + Var<ParagraphMatcher> matcher = new Var<>(); + Parsing.parse(StyleMappingParser.class, parser -> parser.ParagraphMatcher(matcher), input); + return matcher.get(); + } +} diff --git a/src/test/java/org/zwobble/mammoth/tests/styles/HtmlPathParsingTests.java b/src/test/java/org/zwobble/mammoth/tests/styles/HtmlPathParsingTests.java index c6d0cb1..04317b6 100644 --- a/src/test/java/org/zwobble/mammoth/tests/styles/HtmlPathParsingTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/styles/HtmlPathParsingTests.java @@ -1,10 +1,11 @@ package org.zwobble.mammoth.tests.styles; import org.junit.Test; +import org.parboiled.support.Var; import org.zwobble.mammoth.styles.HtmlPath; import org.zwobble.mammoth.styles.HtmlPathElement; -import org.zwobble.mammoth.styles.parsing.HtmlPathParser; import org.zwobble.mammoth.styles.parsing.Parsing; +import org.zwobble.mammoth.styles.parsing.StyleMappingParser; import static org.hamcrest.MatcherAssert.assertThat; import static org.zwobble.mammoth.tests.DeepReflectionMatcher.deepEquals; @@ -66,6 +67,8 @@ public class HtmlPathParsingTests { } private HtmlPath parseHtmlPath(String input) { - return Parsing.parse(HtmlPathParser.class, HtmlPathParser::HtmlPath, input); + Var<HtmlPath> path = new Var<>(); + Parsing.parse(StyleMappingParser.class, parser -> parser.HtmlPath(path), input); + return path.get(); } } diff --git a/src/test/java/org/zwobble/mammoth/tests/styles/StyleMapParserTests.java b/src/test/java/org/zwobble/mammoth/tests/styles/StyleMapParserTests.java index 09f0806..ae2ef2b 100644 --- a/src/test/java/org/zwobble/mammoth/tests/styles/StyleMapParserTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/styles/StyleMapParserTests.java @@ -1,4 +1,24 @@ package org.zwobble.mammoth.tests.styles; +import org.junit.Test; +import org.zwobble.mammoth.styles.HtmlPath; +import org.zwobble.mammoth.styles.ParagraphMatcher; +import org.zwobble.mammoth.styles.StyleMap; +import org.zwobble.mammoth.styles.parsing.StyleMapParser; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.zwobble.mammoth.tests.DeepReflectionMatcher.deepEquals; + public class StyleMapParserTests { + @Test + public void emptyStringIsParsedAsEmptyStyleMap() { + StyleMap styleMap = StyleMapParser.parse(""); + assertThat(styleMap, deepEquals(StyleMap.builder().build())); + } + + @Test + public void canMapParagraphs() { + StyleMap styleMap = StyleMapParser.parse("p => p"); + assertThat(styleMap, deepEquals(StyleMap.builder().mapParagraph(ParagraphMatcher.ANY, HtmlPath.EMPTY).build())); + } } |
