""" Test the functions in the `xhtml` module """ import pytest import xml from poezio.xhtml import (poezio_colors_to_html, xhtml_to_poezio_colors, parse_css, clean_text) def test_clean_text(): example_string = '\x191}Toto \x192,-1}titi\x19b Tata' assert clean_text(example_string) == 'Toto titi Tata' clean_string = 'toto titi tata' assert clean_text(clean_string) == clean_string def test_poezio_colors_to_html(): base = "
" end = "
" text = '\x191}coucou' assert poezio_colors_to_html(text) == base + 'coucou' + end text = '\x19bcoucou\x19o toto \x194}titi' assert poezio_colors_to_html(text) == base + 'coucou toto titi' + end def test_xhtml_to_poezio_colors(): start = b'' end = b'
' xhtml = start + b'test' + end assert xhtml_to_poezio_colors(xhtml) == 'test' xhtml = start + b'salut' + end assert xhtml_to_poezio_colors(xhtml) == '\x19usalut\x19o (http://perdu.com)' xhtml = start + b'http://perdu.com' + end assert xhtml_to_poezio_colors(xhtml) == '\x19uhttp://perdu.com\x19o' xhtml = b'Invalid xml') def test_parse_css(): example_css = 'text-decoration: underline; color: red;' assert parse_css(example_css) == '\x19u\x19196}' example_css = 'text-decoration: underline coucou color: red;' assert parse_css(example_css) == ''