summaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/html/HtmlStripEmptyTests.java57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/test/java/org/zwobble/mammoth/tests/html/HtmlStripEmptyTests.java b/src/test/java/org/zwobble/mammoth/tests/html/HtmlStripEmptyTests.java
new file mode 100644
index 0000000..1beab10
--- /dev/null
+++ b/src/test/java/org/zwobble/mammoth/tests/html/HtmlStripEmptyTests.java
@@ -0,0 +1,57 @@
+package org.zwobble.mammoth.tests.html;
+
+import org.junit.Test;
+import org.zwobble.mammoth.html.Html;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.zwobble.mammoth.tests.DeepReflectionMatcher.deepEquals;
+import static org.zwobble.mammoth.util.MammothLists.list;
+
+public class HtmlStripEmptyTests {
+ @Test
+ public void textNodesWithTextAreNotStripped() {
+ assertThat(
+ Html.stripEmpty(list(Html.text("H"))),
+ deepEquals(list(Html.text("H"))));
+ }
+
+ @Test
+ public void emptyTextNodesAreStripped() {
+ assertThat(
+ Html.stripEmpty(list(Html.text(""))),
+ deepEquals(list()));
+ }
+
+ @Test
+ public void elementsWithNonEmptyChildrenAreNotStripped() {
+ assertThat(
+ Html.stripEmpty(list(Html.element("p", list(Html.text("H"))))),
+ deepEquals(list(Html.element("p", list(Html.text("H"))))));
+ }
+
+ @Test
+ public void elementsWithNoChildrenAreStripped() {
+ assertThat(
+ Html.stripEmpty(list(Html.element("p"))),
+ deepEquals(list()));
+ }
+
+ @Test
+ public void elementsWithOnlyEmptyChildrenAreStripped() {
+ assertThat(
+ Html.stripEmpty(list(Html.element("p", list(Html.text(""))))),
+ deepEquals(list()));
+ }
+
+ @Test
+ public void emptyChildrenAreRemoved() {
+ assertThat(
+ Html.stripEmpty(list(
+ Html.element("ul", list(
+ Html.element("li", list(Html.text(""))),
+ Html.element("li", list(Html.text("H"))))))),
+
+ deepEquals(list(Html.element("ul", list(
+ Html.element("li", list(Html.text("H"))))))));
+ }
+}