test_ok1/testing/logging/test_formatter.py

36 lines
920 B
Python
Raw Normal View History

2018-01-23 07:57:56 +08:00
import logging
import py.io
from _pytest.logging import ColoredLevelFormatter
def test_coloredlogformatter():
2018-05-23 22:48:46 +08:00
logfmt = "%(filename)-25s %(lineno)4d %(levelname)-8s %(message)s"
2018-01-23 07:57:56 +08:00
record = logging.LogRecord(
2018-05-23 22:48:46 +08:00
name="dummy",
level=logging.INFO,
pathname="dummypath",
lineno=10,
msg="Test Message",
args=(),
exc_info=False,
)
2018-01-23 07:57:56 +08:00
class ColorConfig(object):
class option(object):
pass
tw = py.io.TerminalWriter()
tw.hasmarkup = True
formatter = ColoredLevelFormatter(tw, logfmt)
output = formatter.format(record)
assert output == (
"dummypath 10 " "\x1b[32mINFO \x1b[0m Test Message"
2018-05-23 22:48:46 +08:00
)
2018-01-23 07:57:56 +08:00
tw.hasmarkup = False
formatter = ColoredLevelFormatter(tw, logfmt)
output = formatter.format(record)
2018-05-23 22:48:46 +08:00
assert output == ("dummypath 10 " "INFO Test Message")