From ed66bfe54f283cbf27bed4d5b4bddf0c1bdf4808 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 16 Nov 2016 20:33:51 +0000 Subject: Read separators in HTML paths --- .../styles/parsing/HtmlPathElementBuilder.java | 34 ++++++++++++++++++++++ .../tests/styles/parsing/HtmlPathParsingTests.java | 8 +++++ 2 files changed, 42 insertions(+) create mode 100644 src/test/java/org/zwobble/mammoth/tests/styles/parsing/HtmlPathElementBuilder.java (limited to 'src/test/java/org') diff --git a/src/test/java/org/zwobble/mammoth/tests/styles/parsing/HtmlPathElementBuilder.java b/src/test/java/org/zwobble/mammoth/tests/styles/parsing/HtmlPathElementBuilder.java new file mode 100644 index 0000000..a12b7ed --- /dev/null +++ b/src/test/java/org/zwobble/mammoth/tests/styles/parsing/HtmlPathElementBuilder.java @@ -0,0 +1,34 @@ +package org.zwobble.mammoth.tests.styles.parsing; + +import org.zwobble.mammoth.internal.styles.HtmlPathElement; + +import static org.zwobble.mammoth.internal.util.Lists.list; +import static org.zwobble.mammoth.internal.util.Maps.map; + +public class HtmlPathElementBuilder { + public static HtmlPathElementBuilder tagName(String tagName) { + return new HtmlPathElementBuilder(tagName, false, ""); + } + + private final String tagName; + private final boolean isCollapsible; + private final String separator; + + public HtmlPathElementBuilder(String tagName, boolean isCollapsible, String separator) { + this.tagName = tagName; + this.isCollapsible = isCollapsible; + this.separator = separator; + } + + public HtmlPathElementBuilder collapsible(boolean isCollapsible) { + return new HtmlPathElementBuilder(tagName, isCollapsible, separator); + } + + public HtmlPathElementBuilder separator(String separator) { + return new HtmlPathElementBuilder(tagName, isCollapsible, separator); + } + + public HtmlPathElement build() { + return new HtmlPathElement(list(tagName), map(), isCollapsible, separator); + } +} diff --git a/src/test/java/org/zwobble/mammoth/tests/styles/parsing/HtmlPathParsingTests.java b/src/test/java/org/zwobble/mammoth/tests/styles/parsing/HtmlPathParsingTests.java index 7ad3c35..7d67287 100644 --- a/src/test/java/org/zwobble/mammoth/tests/styles/parsing/HtmlPathParsingTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/styles/parsing/HtmlPathParsingTests.java @@ -66,6 +66,14 @@ public class HtmlPathParsingTests { deepEquals(HtmlPath.element("p"))); } + @Test + public void canReadSeparatorForElements() { + assertThat( + parseHtmlPath("p:separator('x')"), + deepEquals(HtmlPath.elements(HtmlPathElementBuilder.tagName("p").collapsible(true).separator("x").build())) + ); + } + @Test public void canReadIgnoreElement() { assertThat( -- cgit v1.2.3