summaryrefslogtreecommitdiff
path: root/src/test/java/org
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-02-21 19:13:33 +0000
committerMichael Williamson <mike@zwobble.org>2016-02-21 21:14:54 +0000
commit332528a1aad8774bb20fb47ac2a0958d88e67716 (patch)
tree9789ea53b044035a754e6af1bdba25246474055b /src/test/java/org
parent9c6e168c789437caabfb0e78474e34d5124019d7 (diff)
Add parser for HTML paths
Diffstat (limited to 'src/test/java/org')
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/styles/HtmlPathParsingTests.java57
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/styles/StyleMapParserTests.java4
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 {
+}