mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-01-14 13:00:10 -06:00
39 lines
958 B
Python
39 lines
958 B
Python
import __builtin__
|
|
import mock
|
|
import pytest
|
|
|
|
from pre_commit import color
|
|
from pre_commit.logging_handler import LoggingHandler
|
|
|
|
|
|
@pytest.yield_fixture
|
|
def print_mock():
|
|
with mock.patch.object(__builtin__, 'print', autospec=True) as print_mock:
|
|
yield print_mock
|
|
|
|
|
|
class FakeLogRecord(object):
|
|
def __init__(self, message, levelname, levelno):
|
|
self.message = message
|
|
self.levelname = levelname
|
|
self.levelno = levelno
|
|
|
|
def getMessage(self):
|
|
return self.message
|
|
|
|
|
|
def test_logging_handler_color(print_mock):
|
|
handler = LoggingHandler(True)
|
|
handler.emit(FakeLogRecord('hi', 'WARNING', 30))
|
|
print_mock.assert_called_once_with(
|
|
color.YELLOW + '[WARNING]' + color.NORMAL + ' hi',
|
|
)
|
|
|
|
|
|
def test_logging_handler_no_color(print_mock):
|
|
handler = LoggingHandler(False)
|
|
handler.emit(FakeLogRecord('hi', 'WARNING', 30))
|
|
print_mock.assert_called_once_with(
|
|
'[WARNING] hi',
|
|
)
|