From 298cabc40864894bc156365a9257921f585079ab Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 28 Nov 2016 17:04:17 +0000 Subject: Allow mapping of column breaks --- .../java/org/zwobble/mammoth/internal/styles/BreakMatcher.java | 1 + .../mammoth/internal/styles/parsing/DocumentMatcherParser.java | 2 ++ .../mammoth/tests/styles/parsing/StyleMapParserTests.java | 9 +++++++++ 3 files changed, 12 insertions(+) (limited to 'src') diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/BreakMatcher.java b/src/main/java/org/zwobble/mammoth/internal/styles/BreakMatcher.java index a32feda..33abe86 100644 --- a/src/main/java/org/zwobble/mammoth/internal/styles/BreakMatcher.java +++ b/src/main/java/org/zwobble/mammoth/internal/styles/BreakMatcher.java @@ -5,6 +5,7 @@ import org.zwobble.mammoth.internal.documents.Break; public class BreakMatcher implements DocumentElementMatcher { public static final BreakMatcher LINE_BREAK = new BreakMatcher(Break.Type.LINE); public static final BreakMatcher PAGE_BREAK = new BreakMatcher(Break.Type.PAGE); + public static final BreakMatcher COLUMN_BREAK = new BreakMatcher(Break.Type.COLUMN); private final Break.Type breakType; diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/DocumentMatcherParser.java b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/DocumentMatcherParser.java index 7586393..56a10da 100644 --- a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/DocumentMatcherParser.java +++ b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/DocumentMatcherParser.java @@ -109,6 +109,8 @@ public class DocumentMatcherParser { return BreakMatcher.LINE_BREAK; case "page": return BreakMatcher.PAGE_BREAK; + case "column": + return BreakMatcher.COLUMN_BREAK; default: throw new LineParseException(stringToken, "Unrecognised break type: " + typeName); } diff --git a/src/test/java/org/zwobble/mammoth/tests/styles/parsing/StyleMapParserTests.java b/src/test/java/org/zwobble/mammoth/tests/styles/parsing/StyleMapParserTests.java index 5456cb8..89045a1 100644 --- a/src/test/java/org/zwobble/mammoth/tests/styles/parsing/StyleMapParserTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/styles/parsing/StyleMapParserTests.java @@ -74,6 +74,15 @@ public class StyleMapParserTests { assertThat(styleMap, deepEquals(expectedStyleMap)); } + @Test + public void canMapColumnBreaks() { + StyleMap styleMap = StyleMapParser.parse("br[type='column'] => div"); + StyleMap expectedStyleMap = StyleMap.builder() + .mapBreak(BreakMatcher.COLUMN_BREAK, HtmlPath.collapsibleElement("div")) + .build(); + assertThat(styleMap, deepEquals(expectedStyleMap)); + } + @Test public void blankLinesAreIgnored() { StyleMap styleMap = StyleMapParser.parse("\n\n \n\np =>\n\r\n"); -- cgit v1.2.3