diff options
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/zwobble/mammoth/tests/styles/HtmlPathParsingTests.java | 57 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/mammoth/tests/styles/StyleMapParserTests.java | 4 |
2 files changed, 61 insertions, 0 deletions
diff --git a/src/test/java/org/zwobble/mammoth/tests/styles/HtmlPathParsingTests.java b/src/test/java/org/zwobble/mammoth/tests/styles/HtmlPathParsingTests.java new file mode 100644 index 0000000..6b75f0f --- /dev/null +++ b/src/test/java/org/zwobble/mammoth/tests/styles/HtmlPathParsingTests.java @@ -0,0 +1,57 @@ +package org.zwobble.mammoth.tests.styles; + +import org.junit.Test; +import org.zwobble.mammoth.styles.HtmlPath; +import org.zwobble.mammoth.styles.HtmlPathElement; +import org.zwobble.mammoth.styles.StyleMapParser; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.zwobble.mammoth.tests.DeepReflectionMatcher.deepEquals; +import static org.zwobble.mammoth.util.MammothLists.list; +import static org.zwobble.mammoth.util.MammothMaps.map; + +public class HtmlPathParsingTests { + @Test + public void canParseEmptyPath() { + assertThat( + StyleMapParser.parseHtmlPath(""), + deepEquals(HtmlPath.EMPTY)); + } + + @Test + public void canReadSingleElement() { + assertThat( + StyleMapParser.parseHtmlPath("p"), + deepEquals(HtmlPath.collapsibleElement("p"))); + } + + // TODO: choice + + @Test + public void canReadNestedElements() { + assertThat( + StyleMapParser.parseHtmlPath("ul > li"), + deepEquals(new HtmlPath(list(HtmlPathElement.collapsible("ul"), HtmlPathElement.collapsible("li"))))); + } + + @Test + public void canReadClassOnElement() { + assertThat( + StyleMapParser.parseHtmlPath("p.tip"), + deepEquals(HtmlPath.collapsibleElement("p", map("class", "tip")))); + } + + @Test + public void canReadMultipleClassesOnElement() { + assertThat( + StyleMapParser.parseHtmlPath("p.tip.help"), + deepEquals(HtmlPath.collapsibleElement("p", map("class", "tip help")))); + } + + @Test + public void canReadWhenElementMustBeFresh() { + assertThat( + StyleMapParser.parseHtmlPath("p:fresh"), + deepEquals(HtmlPath.element("p"))); + } +} diff --git a/src/test/java/org/zwobble/mammoth/tests/styles/StyleMapParserTests.java b/src/test/java/org/zwobble/mammoth/tests/styles/StyleMapParserTests.java new file mode 100644 index 0000000..09f0806 --- /dev/null +++ b/src/test/java/org/zwobble/mammoth/tests/styles/StyleMapParserTests.java @@ -0,0 +1,4 @@ +package org.zwobble.mammoth.tests.styles; + +public class StyleMapParserTests { +} |
