from mammoth import html
from ..testing import assert_equal
def test_text_nodes_with_text_are_not_stripped():
assert_equal(
[html.text("H")],
html.strip_empty([html.text("H")]))
def test_empty_text_nodes_are_stripped():
assert_equal(
[],
html.strip_empty([html.text("")]))
def test_elements_with_non_empty_children_are_not_stripped():
assert_equal(
[html.element("p", {}, [html.text("H")])],
html.strip_empty([html.element("p", {}, [html.text("H")])]))
def test_elements_with_no_children_are_stripped():
assert_equal(
[],
html.strip_empty([html.element("p")]))
def test_elements_with_only_empty_children_are_stripped():
assert_equal(
[],
html.strip_empty([html.element("p", {}, [html.text("")])]))
def test_empty_children_are_removed():
assert_equal(
html.strip_empty([html.element("ul", {}, [
html.element("li", {}, [html.text("")]),
html.element("li", {}, [html.text("H")]),
])]),
[html.element("ul", {}, [
html.element("li", {}, [html.text("H")])
])])
def test_self_closing_elements_are_never_empty():
assert_equal(
[html.element("br")],
html.strip_empty([html.element("br")]))
def test_force_writes_are_never_empty():
assert_equal(
[html.force_write],
html.strip_empty([html.force_write]))