Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f31f092

Browse files
committed
Merge pull request #67 from pre-commit/logging_handler_26_compat_66
LoggingHandler 2.6 compat
2 parents 460582d + 7a8dcb0 commit f31f092

2 files changed

Lines changed: 39 additions & 1 deletion

File tree

pre_commit/logging_handler.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
class LoggingHandler(logging.Handler):
1818
def __init__(self, use_color):
19-
super(LoggingHandler, self).__init__()
19+
logging.Handler.__init__(self)
2020
self.use_color = use_color
2121

2222
def emit(self, record):

tests/logging_handler_test.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import __builtin__
2+
import mock
3+
import pytest
4+
5+
from pre_commit import color
6+
from pre_commit.logging_handler import LoggingHandler
7+
8+
9+
@pytest.yield_fixture
10+
def print_mock():
11+
with mock.patch.object(__builtin__, 'print', autospec=True) as print_mock:
12+
yield print_mock
13+
14+
15+
class FakeLogRecord(object):
16+
def __init__(self, message, levelname, levelno):
17+
self.message = message
18+
self.levelname = levelname
19+
self.levelno = levelno
20+
21+
def getMessage(self):
22+
return self.message
23+
24+
25+
def test_logging_handler_color(print_mock):
26+
handler = LoggingHandler(True)
27+
handler.emit(FakeLogRecord('hi', 'WARNING', 30))
28+
print_mock.assert_called_once_with(
29+
color.YELLOW + '[WARNING]' + color.NORMAL + ' hi',
30+
)
31+
32+
33+
def test_logging_handler_no_color(print_mock):
34+
handler = LoggingHandler(False)
35+
handler.emit(FakeLogRecord('hi', 'WARNING', 30))
36+
print_mock.assert_called_once_with(
37+
'[WARNING] hi',
38+
)

0 commit comments

Comments
 (0)