from mu4web.html_render import render_fragment, render_document
def test_html_basic() -> None:
assert render_fragment(('dl',)) == "
"
def test_html_nested() -> None:
assert render_fragment(('dl',
('dt', 'Key'),
('dd', 'Val'))) \
== "- Key
- Val
"
def test_html_list() -> None:
assert render_fragment(('dl',
[('dt', 'Key'),
('dd', 'Val')])) \
== "- Key
- Val
"
def test_html_attributes() -> None:
assert render_fragment(('a', {'href': '#'}, 'pretty')) \
== 'pretty'
def test_html_standalone() -> None:
assert render_fragment(('hr',)) == '
'
def test_html_none() -> None:
assert render_fragment(None) == ''
def test_html_callable() -> None:
#
can never appear, since ``('hr',)`` is rendered as "
".
# This shows that functions return contents verbatim.
assert render_fragment(lambda: '
') == '
'
def test_complete_document() -> None:
"""
Render complete document.
render_document is currently only render_fragment, but with a a
doctype prepended. Test this, through rendeering the samething
twicie.
"""
assert render_fragment(('hr',)) == '
'
assert render_document(('hr',)) == '\n
'