summaryrefslogtreecommitdiff
path: root/tests/test_messages.py
blob: 17f80bbde7a683845b712a91006b97d21a0b5d29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import logutils
import sys
import unittest

class MessageTest(unittest.TestCase):
    if sys.version_info[:2] >= (2, 6):
        def test_braces(self):
            "Test whether brace-formatting works."
            __ = logutils.BraceMessage
            m = __('Message with {0} {1}', 2, 'placeholders')
            self.assertEqual(str(m), 'Message with 2 placeholders')
            m = __('Message with {0:d} {1}', 2, 'placeholders')
            self.assertEqual(str(m), 'Message with 2 placeholders')
            m = __('Message without {0:x} {1}', 16, 'placeholders')
            self.assertEqual(str(m), 'Message without 10 placeholders')

            class Dummy:
                pass

            dummy = Dummy()
            dummy.x, dummy.y = 0.0, 1.0
            m = __('Message with coordinates: ({point.x:.2f}, {point.y:.2f})',
                    point=dummy)
            self.assertEqual(str(m), 'Message with coordinates: (0.00, 1.00)')

    def test_dollars(self):
        "Test whether dollar-formatting works."
        __ = logutils.DollarMessage
        m = __('Message with $num ${what}', num=2, what='placeholders')
        self.assertEqual(str(m), 'Message with 2 placeholders')
        ignored = object()
        self.assertRaises(TypeError, __, 'Message with $num ${what}',
                          ignored, num=2, what='placeholders')