aboutsummaryrefslogtreecommitdiffstats
path: root/test/ext/test_babelplugin.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/ext/test_babelplugin.py')
-rw-r--r--test/ext/test_babelplugin.py127
1 files changed, 77 insertions, 50 deletions
diff --git a/test/ext/test_babelplugin.py b/test/ext/test_babelplugin.py
index 3658c50..5f25a6a 100644
--- a/test/ext/test_babelplugin.py
+++ b/test/ext/test_babelplugin.py
@@ -1,93 +1,120 @@
import io
import os
import unittest
-from .. import TemplateTest, template_base, skip_if
+
from mako import compat
+from .. import skip_if
+from .. import template_base
+from .. import TemplateTest
try:
import babel.messages.extract as babel
from mako.ext.babelplugin import extract
-
+
except ImportError:
babel = None
def skip():
return skip_if(
- lambda: not babel,
- 'babel not installed: skipping babelplugin test')
+ lambda: not babel, "babel not installed: skipping babelplugin test"
+ )
class Test_extract(unittest.TestCase):
@skip()
def test_parse_python_expression(self):
- input = io.BytesIO(compat.b('<p>${_("Message")}</p>'))
- messages = list(extract(input, ['_'], [], {}))
- self.assertEqual(messages, [(1, '_', compat.u('Message'), [])])
+ input_ = io.BytesIO(compat.b('<p>${_("Message")}</p>'))
+ messages = list(extract(input_, ["_"], [], {}))
+ self.assertEqual(messages, [(1, "_", compat.u("Message"), [])])
@skip()
def test_python_gettext_call(self):
- input = io.BytesIO(compat.b('<p>${_("Message")}</p>'))
- messages = list(extract(input, ['_'], [], {}))
- self.assertEqual(messages, [(1, '_', compat.u('Message'), [])])
+ input_ = io.BytesIO(compat.b('<p>${_("Message")}</p>'))
+ messages = list(extract(input_, ["_"], [], {}))
+ self.assertEqual(messages, [(1, "_", compat.u("Message"), [])])
@skip()
def test_translator_comment(self):
- input = io.BytesIO(compat.b('''
+ input_ = io.BytesIO(
+ compat.b(
+ """
<p>
## TRANSLATORS: This is a comment.
${_("Message")}
- </p>'''))
- messages = list(extract(input, ['_'], ['TRANSLATORS:'], {}))
+ </p>"""
+ )
+ )
+ messages = list(extract(input_, ["_"], ["TRANSLATORS:"], {}))
self.assertEqual(
messages,
- [(4, '_', compat.u('Message'),
- [compat.u('TRANSLATORS: This is a comment.')])])
+ [
+ (
+ 4,
+ "_",
+ compat.u("Message"),
+ [compat.u("TRANSLATORS: This is a comment.")],
+ )
+ ],
+ )
class ExtractMakoTestCase(TemplateTest):
@skip()
def test_extract(self):
- mako_tmpl = open(os.path.join(template_base, 'gettext.mako'))
- messages = list(extract(mako_tmpl, {'_': None, 'gettext': None,
- 'ungettext': (1, 2)},
- ['TRANSLATOR:'], {}))
- expected = \
- [(1, '_', 'Page arg 1', []),
- (1, '_', 'Page arg 2', []),
- (10, 'gettext', 'Begin', []),
- (14, '_', 'Hi there!', ['TRANSLATOR: Hi there!']),
- (19, '_', 'Hello', []),
- (22, '_', 'Welcome', []),
- (25, '_', 'Yo', []),
- (36, '_', 'The', ['TRANSLATOR: Ensure so and', 'so, thanks']),
- (36, 'ungettext', ('bunny', 'bunnies', None), []),
- (41, '_', 'Goodbye', ['TRANSLATOR: Good bye']),
- (44, '_', 'Babel', []),
- (45, 'ungettext', ('hella', 'hellas', None), []),
- (62, '_', 'The', ['TRANSLATOR: Ensure so and', 'so, thanks']),
- (62, 'ungettext', ('bunny', 'bunnies', None), []),
- (68, '_', 'Goodbye, really!', ['TRANSLATOR: HTML comment']),
- (71, '_', 'P.S. byebye', []),
- (77, '_', 'Top', []),
- (83, '_', 'foo', []),
- (83, '_', 'hoho', []),
- (85, '_', 'bar', []),
- (92, '_', 'Inside a p tag', ['TRANSLATOR: <p> tag is ok?']),
- (95, '_', 'Later in a p tag', ['TRANSLATOR: also this']),
- (99, '_', 'No action at a distance.', []),
- ]
+ mako_tmpl = open(os.path.join(template_base, "gettext.mako"))
+ messages = list(
+ extract(
+ mako_tmpl,
+ {"_": None, "gettext": None, "ungettext": (1, 2)},
+ ["TRANSLATOR:"],
+ {},
+ )
+ )
+ expected = [
+ (1, "_", "Page arg 1", []),
+ (1, "_", "Page arg 2", []),
+ (10, "gettext", "Begin", []),
+ (14, "_", "Hi there!", ["TRANSLATOR: Hi there!"]),
+ (19, "_", "Hello", []),
+ (22, "_", "Welcome", []),
+ (25, "_", "Yo", []),
+ (36, "_", "The", ["TRANSLATOR: Ensure so and", "so, thanks"]),
+ (36, "ungettext", ("bunny", "bunnies", None), []),
+ (41, "_", "Goodbye", ["TRANSLATOR: Good bye"]),
+ (44, "_", "Babel", []),
+ (45, "ungettext", ("hella", "hellas", None), []),
+ (62, "_", "The", ["TRANSLATOR: Ensure so and", "so, thanks"]),
+ (62, "ungettext", ("bunny", "bunnies", None), []),
+ (68, "_", "Goodbye, really!", ["TRANSLATOR: HTML comment"]),
+ (71, "_", "P.S. byebye", []),
+ (77, "_", "Top", []),
+ (83, "_", "foo", []),
+ (83, "_", "hoho", []),
+ (85, "_", "bar", []),
+ (92, "_", "Inside a p tag", ["TRANSLATOR: <p> tag is ok?"]),
+ (95, "_", "Later in a p tag", ["TRANSLATOR: also this"]),
+ (99, "_", "No action at a distance.", []),
+ ]
self.assertEqual(expected, messages)
@skip()
def test_extract_utf8(self):
- mako_tmpl = open(os.path.join(template_base, 'gettext_utf8.mako'), 'rb')
- message = next(extract(mako_tmpl, set(['_', None]), [], {'encoding': 'utf-8'}))
- assert message == (1, '_', u'K\xf6ln', [])
+ mako_tmpl = open(
+ os.path.join(template_base, "gettext_utf8.mako"), "rb"
+ )
+ message = next(
+ extract(mako_tmpl, set(["_", None]), [], {"encoding": "utf-8"})
+ )
+ assert message == (1, "_", u"K\xf6ln", [])
@skip()
def test_extract_cp1251(self):
- mako_tmpl = open(os.path.join(template_base, 'gettext_cp1251.mako'), 'rb')
- message = next(extract(mako_tmpl, set(['_', None]), [], {'encoding': 'cp1251'}))
+ mako_tmpl = open(
+ os.path.join(template_base, "gettext_cp1251.mako"), "rb"
+ )
+ message = next(
+ extract(mako_tmpl, set(["_", None]), [], {"encoding": "cp1251"})
+ )
# "test" in Rusian. File encoding is cp1251 (aka "windows-1251")
- assert message == (1, '_', u'\u0442\u0435\u0441\u0442', [])
+ assert message == (1, "_", u"\u0442\u0435\u0441\u0442", [])