| import unittest |
| |
| try: |
| import babel |
| |
| import os |
| from mako.ext.babelplugin import extract |
| |
| class ExtractMakoTestCase(unittest.TestCase): |
| def test_extract(self): |
| mako_tmpl = open(os.path.join('test_htdocs', 'gettext.mako')) |
| messages = list(extract(mako_tmpl, {'_': None, 'gettext': None, |
| 'ungettext': (1, 2)}, |
| ['TRANSLATOR:'], {})) |
| expected = \ |
| [(1, '_', u'Page arg 1', []), |
| (1, '_', u'Page arg 2', []), |
| (10, 'gettext', u'Begin', []), |
| (14, '_', u'Hi there!', [u'TRANSLATOR: Hi there!']), |
| (19, '_', u'Hello', []), |
| (22, '_', u'Welcome', []), |
| (25, '_', u'Yo', []), |
| (36, '_', u'The', [u'TRANSLATOR: Ensure so and', u'so, thanks']), |
| (36, 'ungettext', (u'bunny', u'bunnies', None), []), |
| (41, '_', u'Goodbye', [u'TRANSLATOR: Good bye']), |
| (44, '_', u'Babel', []), |
| (45, 'ungettext', (u'hella', u'hellas', None), []), |
| (62, '_', u'Goodbye, really!', [u'TRANSLATOR: HTML comment']), |
| (65, '_', u'P.S. byebye', []), |
| (71, '_', u'Top', [])] |
| self.assertEqual(expected, messages) |
| |
| except ImportError: |
| import warnings |
| warnings.warn('babel not installed: skipping babelplugin test', |
| RuntimeWarning, 1) |
| |
| if __name__ == '__main__': |
| unittest.main() |