From ce3d0cb6b5349787d26f4a2d7201b3d04b8e5085 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 23 Feb 2016 20:48:50 +0000 Subject: Add parsing for paragraph matchers --- .../tests/styles/DocumentMatcherParsingTests.java | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/test/java/org/zwobble/mammoth/tests/styles/DocumentMatcherParsingTests.java (limited to 'src/test/java/org/zwobble/mammoth/tests/styles/DocumentMatcherParsingTests.java') 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 matcher = new Var<>(); + Parsing.parse(StyleMappingParser.class, parser -> parser.ParagraphMatcher(matcher), input); + return matcher.get(); + } +} -- cgit v1.2.3