Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pylibs/ropemode/decorators.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def __call__(self, message, short=None):
self._show(short)

def _show(self, message):
if message is None:
if self.message is None:
print message
else:
self.message(message)
Expand Down
Empty file.
48 changes: 48 additions & 0 deletions pylibs/ropemode/tests/decorators_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#!/usr/bin/env python
import os
import sys
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", ".."))

import unittest

from ropemode.decorators import Logger


class LoggerTests(unittest.TestCase):
def test_Logger_called_with_no_args_doesnt_raise_TypeError(self):
"""
When not initialized with a message display method, Logger
prints the message to stdout without raising an exception.
"""
logger = Logger()
try:
logger("a message")
except TypeError:
self.fail("logger raised TypeError unexpectedly")


class LoggerMessageHandlerTests(unittest.TestCase):
def setUp(self):
self.message = ""
self.logger = Logger()
self.logger.message = self._echo

def _echo(self, message):
self.message += message

def test_message_handler_with_no_short_message(self):
"""Test that message handler is called"""
self.logger("a message")
self.assertEqual(self.message, "a message")

def test_only_short_True(self):
"""Test that only_short=True prints only the short message"""
self.logger.only_short = True
self.logger("a long message", "a short message")
self.assertEqual(self.message, "a short message")

def test_only_short_False(self):
"""Test that only_short=False prints both messages"""
self.logger.only_short = False
self.logger("a long message", "a short message")
self.assertEqual(self.message, "a long messagea short message")