summaryrefslogtreecommitdiff
path: root/tests/test_formatter.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_formatter.py')
-rw-r--r--tests/test_formatter.py72
1 files changed, 72 insertions, 0 deletions
diff --git a/tests/test_formatter.py b/tests/test_formatter.py
new file mode 100644
index 0000000..2c05428
--- /dev/null
+++ b/tests/test_formatter.py
@@ -0,0 +1,72 @@
+import logging
+import logutils
+import os
+import sys
+import unittest
+
+class FormatterTest(unittest.TestCase):
+ def setUp(self):
+ self.common = {
+ 'name': 'formatter.test',
+ 'level': logging.DEBUG,
+ 'pathname': os.path.join('path', 'to', 'dummy.ext'),
+ 'lineno': 42,
+ 'exc_info': None,
+ 'func': None,
+ 'msg': 'Message with %d %s',
+ 'args': (2, 'placeholders'),
+ }
+ self.variants = {
+ }
+
+ def get_record(self, name=None):
+ result = dict(self.common)
+ if name is not None:
+ result.update(self.variants[name])
+ return logging.makeLogRecord(result)
+
+ def test_percent(self):
+ "Test %-formatting"
+ r = self.get_record()
+ f = logutils.Formatter('${%(message)s}')
+ self.assertEqual(f.format(r), '${Message with 2 placeholders}')
+ f = logutils.Formatter('%(random)s')
+ self.assertRaises(KeyError, f.format, r)
+ self.assertFalse(f.usesTime())
+ f = logutils.Formatter('%(asctime)s')
+ self.assertTrue(f.usesTime())
+ f = logutils.Formatter('asctime')
+ self.assertFalse(f.usesTime())
+
+ if sys.version_info[:2] >= (2, 6):
+ def test_braces(self):
+ "Test {}-formatting"
+ r = self.get_record()
+ f = logutils.Formatter('$%{message}%$', style='{')
+ self.assertEqual(f.format(r), '$%Message with 2 placeholders%$')
+ f = logutils.Formatter('{random}', style='{')
+ self.assertRaises(KeyError, f.format, r)
+ self.assertFalse(f.usesTime())
+ f = logutils.Formatter('{asctime}', style='{')
+ self.assertTrue(f.usesTime())
+ f = logutils.Formatter('asctime', style='{')
+ self.assertFalse(f.usesTime())
+
+ def test_dollars(self):
+ "Test $-formatting"
+ r = self.get_record()
+ f = logutils.Formatter('$message', style='$')
+ self.assertEqual(f.format(r), 'Message with 2 placeholders')
+ f = logutils.Formatter('$$%${message}%$$', style='$')
+ self.assertEqual(f.format(r), '$%Message with 2 placeholders%$')
+ f = logutils.Formatter('${random}', style='$')
+ self.assertRaises(KeyError, f.format, r)
+ self.assertFalse(f.usesTime())
+ f = logutils.Formatter('${asctime}', style='$')
+ self.assertTrue(f.usesTime())
+ f = logutils.Formatter('$asctime', style='$')
+ self.assertTrue(f.usesTime())
+ f = logutils.Formatter('asctime', style='$')
+ self.assertFalse(f.usesTime())
+
+