mirror of https://github.com/Textualize/rich.git
Add tests for log markup and highlighting
This commit is contained in:
parent
86e0887b1d
commit
64b921727d
|
@ -122,6 +122,46 @@ def test_stderr_and_stdout_are_none(monkeypatch):
|
||||||
assert "message" in actual_record.msg
|
assert "message" in actual_record.msg
|
||||||
|
|
||||||
|
|
||||||
|
def test_markup_and_highlight():
|
||||||
|
console = Console(
|
||||||
|
file=io.StringIO(),
|
||||||
|
force_terminal=True,
|
||||||
|
width=140,
|
||||||
|
color_system="truecolor",
|
||||||
|
_environ={},
|
||||||
|
)
|
||||||
|
handler = RichHandler(console=console)
|
||||||
|
|
||||||
|
# Check defaults are as expected
|
||||||
|
assert handler.highlighter
|
||||||
|
assert not handler.markup
|
||||||
|
|
||||||
|
formatter = logging.Formatter("FORMATTER %(message)s %(asctime)s")
|
||||||
|
handler.setFormatter(formatter)
|
||||||
|
log.addHandler(handler)
|
||||||
|
|
||||||
|
log_message = "foo 3.141 127.0.0.1 [red]alert[/red]"
|
||||||
|
|
||||||
|
log.error(log_message)
|
||||||
|
render_fancy = handler.console.file.getvalue()
|
||||||
|
assert "FORMATTER" in render_fancy
|
||||||
|
assert log_message not in render_fancy
|
||||||
|
assert "red" in render_fancy
|
||||||
|
|
||||||
|
handler.console.file = io.StringIO()
|
||||||
|
log.error(log_message, extra={"markup": True})
|
||||||
|
render_markup = handler.console.file.getvalue()
|
||||||
|
assert "FORMATTER" in render_markup
|
||||||
|
assert log_message not in render_markup
|
||||||
|
assert "red" not in render_markup
|
||||||
|
|
||||||
|
handler.console.file = io.StringIO()
|
||||||
|
log.error(log_message, extra={"highlighter": None})
|
||||||
|
render_plain = handler.console.file.getvalue()
|
||||||
|
assert "FORMATTER" in render_plain
|
||||||
|
assert log_message in render_plain
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
render = make_log()
|
render = make_log()
|
||||||
print(render)
|
print(render)
|
||||||
|
|
Loading…
Reference in New Issue