Beispiel #1
0
 def test_extract(self):
     from jinja2.ext import babel_extract
     source = BytesIO('''
     {{ gettext('Hello World') }}
     {% trans %}Hello World{% endtrans %}
     {% trans %}{{ users }} user{% pluralize %}{{ users }} users{% endtrans %}
     '''.encode('ascii')) # make python 3 happy
     assert list(babel_extract(source, ('gettext', 'ngettext', '_'), [], {})) == [
         (2, 'gettext', u'Hello World', []),
         (3, 'gettext', u'Hello World', []),
         (4, 'ngettext', (u'%(users)s user', u'%(users)s users', None), [])
     ]
Beispiel #2
0
 def test_comment_extract(self):
     from jinja2.ext import babel_extract
     source = BytesIO('''
     {# trans first #}
     {{ gettext('Hello World') }}
     {% trans %}Hello World{% endtrans %}{# trans second #}
     {#: third #}
     {% trans %}{{ users }} user{% pluralize %}{{ users }} users{% endtrans %}
     '''.encode('utf-8')) # make python 3 happy
     assert list(babel_extract(source, ('gettext', 'ngettext', '_'), ['trans', ':'], {})) == [
         (3, 'gettext', u'Hello World', ['first']),
         (4, 'gettext', u'Hello World', ['second']),
         (6, 'ngettext', (u'%(users)s user', u'%(users)s users', None), ['third'])
     ]
Beispiel #3
0
 def test_extract_trimmed_option(self):
     from jinja2.ext import babel_extract
     source = BytesIO('''
     {{ gettext(' Hello  \n  World') }}
     {% trans %} Hello  \n  World{% endtrans %}
     {% trans %}{{ users }} \n user
     {%- pluralize %}{{ users }} \n users{% endtrans %}
     '''.encode('ascii'))  # make python 3 happy
     opts = {'trimmed': 'true'}
     assert list(babel_extract(source,
                               ('gettext', 'ngettext', '_'), [], opts)) == [
         (2, 'gettext', u' Hello  \n  World', []),
         (4, 'gettext', u'Hello World', []),
         (6, 'ngettext', (u'%(users)s user', u'%(users)s users', None), [])
     ]
Beispiel #4
0
    def test_extract(self):
        from jinja2.ext import babel_extract

        source = BytesIO("""
        {{ gettext('Hello World') }}
        {% trans %}Hello World{% endtrans %}
        {% trans %}{{ users }} user{% pluralize %}{{ users }} users{% endtrans %}
        """.encode("ascii"))  # make python 3 happy
        assert list(babel_extract(source, ("gettext", "ngettext", "_"), [],
                                  {})) == [
                                      (2, "gettext", u"Hello World", []),
                                      (3, "gettext", u"Hello World", []),
                                      (4, "ngettext",
                                       (u"%(users)s user", u"%(users)s users",
                                        None), []),
                                  ]
Beispiel #5
0
    def test_extract_trimmed_option(self):
        from jinja2.ext import babel_extract

        source = BytesIO("""
        {{ gettext(' Hello  \n  World') }}
        {% trans %} Hello  \n  World{% endtrans %}
        {% trans %}{{ users }} \n user
        {%- pluralize %}{{ users }} \n users{% endtrans %}
        """.encode("ascii"))  # make python 3 happy
        opts = {"trimmed": "true"}
        assert list(
            babel_extract(source, ("gettext", "ngettext", "_"), [], opts)) == [
                (2, "gettext", u" Hello  \n  World", []),
                (4, "gettext", u"Hello World", []),
                (6, "ngettext", (u"%(users)s user", u"%(users)s users", None),
                 []),
            ]
Beispiel #6
0
    def test_comment_extract(self):
        from jinja2.ext import babel_extract

        source = BytesIO("""
        {# trans first #}
        {{ gettext('Hello World') }}
        {% trans %}Hello World{% endtrans %}{# trans second #}
        {#: third #}
        {% trans %}{{ users }} user{% pluralize %}{{ users }} users{% endtrans %}
        """.encode("utf-8"))  # make python 3 happy
        assert list(
            babel_extract(source, ("gettext", "ngettext", "_"), ["trans", ":"],
                          {})) == [
                              (3, "gettext", u"Hello World", ["first"]),
                              (4, "gettext", u"Hello World", ["second"]),
                              (6, "ngettext", (u"%(users)s user",
                                               u"%(users)s users", None),
                               ["third"]),
                          ]
Beispiel #7
0
 def bytecode_to_string(self):
     """Return the bytecode as string."""
     out = BytesIO()
     self.write_bytecode(out)
     return out.getvalue()
Beispiel #8
0
 def bytecode_from_string(self, string):
     """Load bytecode from a string."""
     self.load_bytecode(BytesIO(string))
Beispiel #9
0
 def bytecode_to_string(self):
     """Return the bytecode as string."""
     out = BytesIO()
     self.write_bytecode(out)
     return out.getvalue()