Ejemplo n.º 1
0
    def test_volatile_scoping(self):
        env = Environment(extensions=["jinja2.ext.autoescape"])
        tmplsource = """
        {% autoescape val %}
            {% macro foo(x) %}
                [{{ x }}]
            {% endmacro %}
            {{ foo().__class__.__name__ }}
        {% endautoescape %}
        {{ '<testing>' }}
        """
        tmpl = env.from_string(tmplsource)
        assert tmpl.render(val=True).split()[0] == "Markup"
        assert tmpl.render(val=False).split()[0] == text_type.__name__

        # looking at the source we should see <testing> there in raw
        # (and then escaped as well)
        env = Environment(extensions=["jinja2.ext.autoescape"])
        pysource = env.compile(tmplsource, raw=True)
        assert "<testing>\\n" in pysource

        env = Environment(extensions=["jinja2.ext.autoescape"],
                          autoescape=True)
        pysource = env.compile(tmplsource, raw=True)
        assert "&lt;testing&gt;\\n" in pysource
Ejemplo n.º 2
0
    def test_volatile_scoping(self):
        env = Environment(extensions=['jinja2.ext.autoescape'])
        tmplsource = '''
        {% autoescape val %}
            {% macro foo(x) %}
                [{{ x }}]
            {% endmacro %}
            {{ foo().__class__.__name__ }}
        {% endautoescape %}
        {{ '<testing>' }}
        '''
        tmpl = env.from_string(tmplsource)
        assert tmpl.render(val=True).split()[0] == 'Markup'
        assert tmpl.render(val=False).split()[0] == unicode.__name__

        # looking at the source we should see <testing> there in raw
        # (and then escaped as well)
        env = Environment(extensions=['jinja2.ext.autoescape'])
        pysource = env.compile(tmplsource, raw=True)
        assert '<testing>\\n' in pysource

        env = Environment(extensions=['jinja2.ext.autoescape'],
                          autoescape=True)
        pysource = env.compile(tmplsource, raw=True)
        assert '&lt;testing&gt;\\n' in pysource
Ejemplo n.º 3
0
 def test_volatile_scoping(self):
     env = Environment(extensions=['jinja2.ext.autoescape'])
     tmplsource = "\n        {% autoescape val %}\n            {% macro foo(x) %}\n                [{{ x }}]\n            {% endmacro %}\n            {{ foo().__class__.__name__ }}\n        {% endautoescape %}\n        {{ '<testing>' }}\n        "
     tmpl = env.from_string(tmplsource)
     env = Environment(extensions=['jinja2.ext.autoescape'])
     pysource = env.compile(tmplsource, raw=True)
     env = Environment(extensions=['jinja2.ext.autoescape'], autoescape=True)
     pysource = env.compile(tmplsource, raw=True)
Ejemplo n.º 4
0
 def test_volatile_scoping(self):
     env = Environment(extensions=['jinja2.ext.autoescape'])
     tmplsource = "\n        {% autoescape val %}\n            {% macro foo(x) %}\n                [{{ x }}]\n            {% endmacro %}\n            {{ foo().__class__.__name__ }}\n        {% endautoescape %}\n        {{ '<testing>' }}\n        "
     tmpl = env.from_string(tmplsource)
     env = Environment(extensions=['jinja2.ext.autoescape'])
     pysource = env.compile(tmplsource, raw=True)
     env = Environment(extensions=['jinja2.ext.autoescape'], autoescape=True)
     pysource = env.compile(tmplsource, raw=True)