blob: 9c4627110a05fe072dd0f4c0583adeb89ebff7a3 [file] [log] [blame]
import os
from .. import TemplateTest, template_base, skip_if
try:
import lingua
except:
lingua = None
if lingua is not None:
from mako.ext.linguaplugin import LinguaMakoExtractor
from lingua.extractors import register_extractors
class MockOptions:
keywords = []
domain = None
def skip():
return skip_if(
lambda: not lingua, 'lingua not installed: skipping linguaplugin test')
class ExtractMakoTestCase(TemplateTest):
@skip()
def test_extract(self):
register_extractors()
plugin = LinguaMakoExtractor({'comment-tags': 'TRANSLATOR'})
messages = list(
plugin(os.path.join(template_base, 'gettext.mako'), MockOptions()))
msgids = [(m.msgid, m.msgid_plural) for m in messages]
self.assertEqual(
msgids,
[
('Page arg 1', None),
('Page arg 2', None),
('Begin', None),
('Hi there!', None),
('Hello', None),
('Welcome', None),
('Yo', None),
('The', None),
('bunny', 'bunnies'),
('Goodbye', None),
('Babel', None),
('hella', 'hellas'),
('The', None),
('bunny', 'bunnies'),
('Goodbye, really!', None),
('P.S. byebye', None),
('Top', None),
(u'foo', None),
('hoho', None),
(u'bar', None),
('Inside a p tag', None),
('Later in a p tag', None),
('No action at a distance.', None)])