updat text2html tests

This commit is contained in:
InspectorCaracal 2022-05-09 16:22:16 -06:00 committed by GitHub
parent 684e80bca0
commit 6046f279eb

View file

@ -7,20 +7,20 @@ import mock
class TestText2Html(TestCase): class TestText2Html(TestCase):
def test_re_color(self): def test_format_styles(self):
parser = text2html.HTML_PARSER parser = text2html.HTML_PARSER
self.assertEqual("foo", parser.re_color("foo")) self.assertEqual("foo", parser.format_styles("foo"))
self.assertEqual( self.assertEqual(
'<span class="color-001">red</span>foo', '<span class="color-001">red</span>foo',
parser.re_color(ansi.ANSI_UNHILITE + ansi.ANSI_RED + "red" + ansi.ANSI_NORMAL + "foo"), parser.format_styles(ansi.ANSI_UNHILITE + ansi.ANSI_RED + "red" + ansi.ANSI_NORMAL + "foo"),
) )
self.assertEqual( self.assertEqual(
'<span class="bgcolor-001">red</span>foo', '<span class="bgcolor-001">red</span>foo',
parser.re_color(ansi.ANSI_BACK_RED + "red" + ansi.ANSI_NORMAL + "foo"), parser.format_styles(ansi.ANSI_BACK_RED + "red" + ansi.ANSI_NORMAL + "foo"),
) )
self.assertEqual( self.assertEqual(
'<span class="bgcolor-001"><span class="color-002">red</span></span>foo', '<span class="bgcolor-001 color-002">red</span>foo',
parser.re_color( parser.format_styles(
ansi.ANSI_BACK_RED ansi.ANSI_BACK_RED
+ ansi.ANSI_UNHILITE + ansi.ANSI_UNHILITE
+ ansi.ANSI_GREEN + ansi.ANSI_GREEN
@ -29,63 +29,37 @@ class TestText2Html(TestCase):
+ "foo" + "foo"
), ),
) )
@unittest.skip("parser issues")
def test_re_bold(self):
parser = text2html.HTML_PARSER
self.assertEqual("foo", parser.re_bold("foo"))
self.assertEqual( self.assertEqual(
# "a <strong>red</strong>foo", # TODO: why not? 'a <span class="underline">red</span>foo',
"a <strong>redfoo</strong>", parser.format_styles(
parser.re_bold("a " + ansi.ANSI_HILITE + "red" + ansi.ANSI_UNHILITE + "foo"),
)
@unittest.skip("parser issues")
def test_re_underline(self):
parser = text2html.HTML_PARSER
self.assertEqual("foo", parser.re_underline("foo"))
self.assertEqual(
'a <span class="underline">red</span>' + ansi.ANSI_NORMAL + "foo",
parser.re_underline(
"a " "a "
+ ansi.ANSI_UNDERLINE + ansi.ANSI_UNDERLINE
+ "red" + "red"
+ ansi.ANSI_NORMAL # TODO: why does it keep it? + ansi.ANSI_NORMAL
+ "foo" + "foo"
), ),
) )
@unittest.skip("parser issues")
def test_re_blinking(self):
parser = text2html.HTML_PARSER
self.assertEqual("foo", parser.re_blinking("foo"))
self.assertEqual( self.assertEqual(
'a <span class="blink">red</span>' + ansi.ANSI_NORMAL + "foo", 'a <span class="blink">red</span>foo',
parser.re_blinking( parser.format_styles(
"a " "a "
+ ansi.ANSI_BLINK + ansi.ANSI_BLINK
+ "red" + "red"
+ ansi.ANSI_NORMAL # TODO: why does it keep it? + ansi.ANSI_NORMAL
+ "foo" + "foo"
), ),
) )
@unittest.skip("parser issues")
def test_re_inversing(self):
parser = text2html.HTML_PARSER
self.assertEqual("foo", parser.re_inversing("foo"))
self.assertEqual( self.assertEqual(
'a <span class="inverse">red</span>' + ansi.ANSI_NORMAL + "foo", 'a <span class="bgcolor-007 color-000">red</span>foo',
parser.re_inversing( parser.format_styles(
"a " "a "
+ ansi.ANSI_INVERSE + ansi.ANSI_INVERSE
+ "red" + "red"
+ ansi.ANSI_NORMAL # TODO: why does it keep it? + ansi.ANSI_NORMAL
+ "foo" + "foo"
), ),
) )
@unittest.skip("parser issues")
def test_remove_bells(self): def test_remove_bells(self):
parser = text2html.HTML_PARSER parser = text2html.HTML_PARSER
self.assertEqual("foo", parser.remove_bells("foo")) self.assertEqual("foo", parser.remove_bells("foo"))
@ -95,7 +69,7 @@ class TestText2Html(TestCase):
"a " "a "
+ ansi.ANSI_BEEP + ansi.ANSI_BEEP
+ "red" + "red"
+ ansi.ANSI_NORMAL # TODO: why does it keep it? + ansi.ANSI_NORMAL
+ "foo" + "foo"
), ),
) )
@ -110,7 +84,6 @@ class TestText2Html(TestCase):
self.assertEqual("foo", parser.convert_linebreaks("foo")) self.assertEqual("foo", parser.convert_linebreaks("foo"))
self.assertEqual("a<br> redfoo<br>", parser.convert_linebreaks("a\n redfoo\n")) self.assertEqual("a<br> redfoo<br>", parser.convert_linebreaks("a\n redfoo\n"))
@unittest.skip("parser issues")
def test_convert_urls(self): def test_convert_urls(self):
parser = text2html.HTML_PARSER parser = text2html.HTML_PARSER
self.assertEqual("foo", parser.convert_urls("foo")) self.assertEqual("foo", parser.convert_urls("foo"))
@ -118,7 +91,6 @@ class TestText2Html(TestCase):
'a <a href="http://redfoo" target="_blank">http://redfoo</a> runs', 'a <a href="http://redfoo" target="_blank">http://redfoo</a> runs',
parser.convert_urls("a http://redfoo runs"), parser.convert_urls("a http://redfoo runs"),
) )
# TODO: doesn't URL encode correctly
def test_sub_mxp_links(self): def test_sub_mxp_links(self):
parser = text2html.HTML_PARSER parser = text2html.HTML_PARSER
@ -186,22 +158,22 @@ class TestText2Html(TestCase):
self.assertEqual("foo", text2html.parse_html("foo")) self.assertEqual("foo", text2html.parse_html("foo"))
self.maxDiff = None self.maxDiff = None
self.assertEqual( self.assertEqual(
# TODO: note that the blink is currently *not* correctly aborted
# with |n here! This is probably not possible to correctly handle
# with regex - a stateful parser may be needed.
# blink back-cyan normal underline red green yellow blue magenta cyan back-green
text2html.parse_html("|^|[CHello|n|u|rW|go|yr|bl|md|c!|[G!"), text2html.parse_html("|^|[CHello|n|u|rW|go|yr|bl|md|c!|[G!"),
'<span class="blink">' '<span class="blink bgcolor-006">'
'<span class="bgcolor-006">Hello</span>' # noqa 'Hello'
'<span class="underline">' '</span><span class="underline color-009">'
'<span class="color-009">W</span>' # noqa 'W'
'<span class="color-010">o</span>' '</span><span class="underline color-010">'
'<span class="color-011">r</span>' 'o'
'<span class="color-012">l</span>' '</span><span class="underline color-011">'
'<span class="color-013">d</span>' 'r'
'<span class="color-014">!' '</span><span class="underline color-012">'
'<span class="bgcolor-002">!</span>' # noqa 'l'
"</span>" '</span><span class="underline color-013">'
"</span>" 'd'
"</span>", '</span><span class="underline color-014">'
'!'
'</span><span class="underline bgcolor-002 color-014">'
'!'
'</span>',
) )