comparison babel/messages/tests/extract.py @ 368:dd63a41afbba

Test and respective fix for gettext calls that spawn multiple lines. Fixes #119.
author palgarvio
date Thu, 26 Jun 2008 21:02:20 +0000
parents 6bc1d13156c9
children e6b370b49d46
comparison
equal deleted inserted replaced
367:6bc1d13156c9 368:dd63a41afbba
60 messages = list(extract.extract_python(buf, ('ngettext',), 60 messages = list(extract.extract_python(buf, ('ngettext',),
61 ['TRANSLATORS:'], {})) 61 ['TRANSLATORS:'], {}))
62 self.assertEqual([(1, 'ngettext', (u'pylon', u'pylons', None), [])], 62 self.assertEqual([(1, 'ngettext', (u'pylon', u'pylons', None), [])],
63 messages) 63 messages)
64 64
65 def test_comments_with_calls_that_spawn_multiple_lines(self):
66 buf = StringIO("""\
67 # NOTE: This Comment SHOULD Be Extracted
68 add_notice(req, ngettext("Catalog deleted.",
69 "Catalogs deleted.", len(selected)))
70
71 # NOTE: This Comment SHOULD Be Extracted
72 add_notice(req, _("Locale deleted."))
73
74
75 # NOTE: This Comment SHOULD Be Extracted
76 add_notice(req, ngettext("Foo deleted.", "Foos deleted.", len(selected)))
77 """)
78 messages = list(extract.extract_python(buf, ('ngettext','_'), ['NOTE:'],
79
80 {'strip_comment_tags':False}))
81 self.assertEqual((6, '_', 'Locale deleted.',
82 [u'NOTE: This Comment SHOULD Be Extracted']),
83 messages[1])
84 self.assertEqual((10, 'ngettext', (u'Foo deleted.', u'Foos deleted.',
85 None),
86 [u'NOTE: This Comment SHOULD Be Extracted']),
87 messages[2])
88 self.assertEqual((3, 'ngettext',
89 (u'Catalog deleted.',
90 u'Catalogs deleted.', None),
91 [u'NOTE: This Comment SHOULD Be Extracted']),
92 messages[0])
93
65 def test_declarations(self): 94 def test_declarations(self):
66 buf = StringIO("""\ 95 buf = StringIO("""\
67 class gettext(object): 96 class gettext(object):
68 pass 97 pass
69 def render_body(context,x,y=_('Page arg 1'),z=_('Page arg 2'),**pageargs): 98 def render_body(context,x,y=_('Page arg 1'),z=_('Page arg 2'),**pageargs):
Copyright (C) 2012-2017 Edgewall Software