diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-02-23 21:01:17 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-02-23 21:01:17 +0000 |
| commit | 2b61e94881db7d665c76cdccfb390c02542306cf (patch) | |
| tree | 605619fb1af8766f7c2812618946e99ebf352d1d /src/test | |
| parent | ce3d0cb6b5349787d26f4a2d7201b3d04b8e5085 (diff) | |
Add parsing for run matchers
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/java/org/zwobble/mammoth/tests/styles/DocumentMatcherParsingTests.java | 29 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/mammoth/tests/styles/StyleMapParserTests.java | 9 |
2 files changed, 36 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 index dc87945..83ad4b6 100644 --- a/src/test/java/org/zwobble/mammoth/tests/styles/DocumentMatcherParsingTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/styles/DocumentMatcherParsingTests.java @@ -3,6 +3,7 @@ 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.RunMatcher; import org.zwobble.mammoth.styles.parsing.Parsing; import org.zwobble.mammoth.styles.parsing.StyleMappingParser; @@ -11,7 +12,7 @@ import static org.zwobble.mammoth.tests.DeepReflectionMatcher.deepEquals; public class DocumentMatcherParsingTests { @Test - public void canReadPlainParagraph() { + public void readsPlainParagraph() { assertThat( parseParagraphMatcher("p"), deepEquals(ParagraphMatcher.ANY)); @@ -44,10 +45,36 @@ public class DocumentMatcherParsingTests { parseParagraphMatcher("p:unordered-list(2)"), deepEquals(ParagraphMatcher.unorderedList("1"))); } + @Test + public void readsRunParagraph() { + assertThat( + parseRunMatcher("r"), + deepEquals(RunMatcher.ANY)); + } + + @Test + public void readsRunWithStyleId() { + assertThat( + parseRunMatcher("r.Heading1Char"), + deepEquals(RunMatcher.styleId("Heading1Char"))); + } + + @Test + public void readsRunWithStyleName() { + assertThat( + parseRunMatcher("r[style-name='Heading 1 Char']"), + deepEquals(RunMatcher.styleName("Heading 1 Char"))); + } private ParagraphMatcher parseParagraphMatcher(String input) { Var<ParagraphMatcher> matcher = new Var<>(); Parsing.parse(StyleMappingParser.class, parser -> parser.ParagraphMatcher(matcher), input); return matcher.get(); } + + private RunMatcher parseRunMatcher(String input) { + Var<RunMatcher> matcher = new Var<>(); + Parsing.parse(StyleMappingParser.class, parser -> parser.RunMatcher(matcher), input); + return matcher.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 ae2ef2b..8331468 100644 --- a/src/test/java/org/zwobble/mammoth/tests/styles/StyleMapParserTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/styles/StyleMapParserTests.java @@ -3,6 +3,7 @@ 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.RunMatcher; import org.zwobble.mammoth.styles.StyleMap; import org.zwobble.mammoth.styles.parsing.StyleMapParser; @@ -19,6 +20,12 @@ public class StyleMapParserTests { @Test public void canMapParagraphs() { StyleMap styleMap = StyleMapParser.parse("p => p"); - assertThat(styleMap, deepEquals(StyleMap.builder().mapParagraph(ParagraphMatcher.ANY, HtmlPath.EMPTY).build())); + assertThat(styleMap, deepEquals(StyleMap.builder().mapParagraph(ParagraphMatcher.ANY, HtmlPath.collapsibleElement("p")).build())); + } + + @Test + public void canMapRuns() { + StyleMap styleMap = StyleMapParser.parse("r => p"); + assertThat(styleMap, deepEquals(StyleMap.builder().mapRun(RunMatcher.ANY, HtmlPath.collapsibleElement("p")).build())); } } |
