Esempio n. 1
0
    def test__analyse(self):
        sequence, expressions = \
            _parse_format('XXX: {x}, YYY: {y}, N: {}, ZZZ: {z}, TTT: {x}, ' \
                          '{x_plural}, {z_plural}, {0_plural}, END',
                          tuple(), {'x': 1, 'y': 2})

        x = expressions['x']

        _analyse(expressions)
        self.assertExpressions(expressions,
                               {'x': ('x', {1: ('', None),
                                            9: ('', None)}, 'x', 1),
                                'y': ('y', {3: ('', None)}, 'y', 2),
                                '0': ('0', {5: ('', None)}),
                                'z': ('z', {7: ('', None)}),
                                'x_plural': ('x_plural', {11: ('', None)},
                                             None, None, 'x', ['s'], x),
                                'z_plural': ('z_plural', {13: ('', None)},
                                             None, None, 'z', ['s']),
                                '0_plural': ('0_plural', {15: ('', None)},
                                             None, None, '0', ['s'])})
Esempio n. 2
0
    def test__parse_format(self):
        sequence, expressions = \
            _parse_format('XXX: {x}, YYY: {y}, ZZZ: {z}, N: {}, TTT: {x}, ' \
                          'M: {}, END',
                          ('test',), {'x': 1, 'y': 2})

        self.assertEqual(sequence,
                         ['XXX: ', None,
                          ', YYY: ', None,
                          ', ZZZ: ', None,
                          ', N: ', None,
                          ', TTT: ', None,
                          ', M: ', None,
                          ', END'])

        self.assertExpressions(expressions,
                               {'0': ('0', {7: ('', None)}, 0L, 'test'),
                                '1': ('1', {11: ('', None)}),
                                'x': ('x', {1: ('', None),
                                            9: ('', None)}, 'x', 1),
                                'y': ('y', {3: ('', None)}, 'y', 2),
                                'z': ('z', {5: ('', None)})})