From e5f70950620f2178fefe91f33a3401f831f32e7d Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 14 Feb 2016 19:31:02 +0000 Subject: Strip empty nodes from output --- .../mammoth/tests/html/HtmlStripEmptyTests.java | 57 ++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 src/test/java/org/zwobble/mammoth/tests/html/HtmlStripEmptyTests.java (limited to 'src/test/java/org/zwobble') 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")))))))); + } +} -- cgit v1.2.3