Viewing File: /usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyo

ó
,ņQc@s¢dZddlZddlmZddlmZmZmZmZm	Z	m
Z
ddlmZeƒZ
defd„ƒYZdefd	„ƒYZd
„ZdS(sĮ
    jinja2.testsuite.regression
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Tests corner cases and bugs.

    :copyright: (c) 2010 by the Jinja Team.
    :license: BSD, see LICENSE for more details.
i’’’’N(t
JinjaTestCase(tTemplatetEnvironmentt
DictLoadertTemplateSyntaxErrortTemplateNotFoundtPrefixLoader(t	text_typetCornerTestCasecBseZd„Zd„ZRS(cCs1tjdƒ}tjdƒ}tjdƒ}dS(Nsv
        {%- for item in (1, 2, 3, 4) -%}
            [{{ item }}]
        {%- endfor %}
        {{- item -}}
        s“
        {%- for item in (1, 2, 3, 4) -%}
            [{{ item }}]
        {%- endfor %}
        {%- set item = 42 %}
        {{- item -}}
        s“
        {%- set item = 42 %}
        {%- for item in (1, 2, 3, 4) -%}
            [{{ item }}]
        {%- endfor %}
        {{- item -}}
        (tenvtfrom_string(tselftt((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_assigned_scopings			cCs1tjdƒ}tjdƒ}tjdƒ}dS(NsŽ
        {%- set wrapper = "<FOO>" %}
        {%- for item in (1, 2, 3, 4) %}
            {%- macro wrapper() %}[{{ item }}]{% endmacro %}
            {{- wrapper() }}
        {%- endfor %}
        {{- wrapper -}}
        sŽ
        {%- for item in (1, 2, 3, 4) %}
            {%- macro wrapper() %}[{{ item }}]{% endmacro %}
            {{- wrapper() }}
        {%- endfor %}
        {%- set wrapper = "<FOO>" %}
        {{- wrapper -}}
        s¹
        {%- for item in (1, 2, 3, 4) %}
            {%- macro wrapper() %}[{{ item }}]{% endmacro %}
            {{- wrapper() }}
        {%- endfor %}
        {{- wrapper -}}
        (R	R
(RR((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_closure_scoping3s			(t__name__t
__module__R
R(((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyRs	tBugTestCasecBseZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d	„Zd
„Zd„Z
d„Zd
„Zd„ZRS(cCstƒ}d„|jd<dS(NcSs||S(N((tvaluetsome((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyt<lambda>Vsttesting(Rtfilters(RR	((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_keyword_foldingTs	cCs/tdtidd6ƒƒ}|jdƒ}dS(Ntloaders#(({% block title %}{% endblock %}))sparent.htmlsŽ{% if expr %}{% extends "parent.html" %}{% endif %}[[{% block title %}title{% endblock %}]]{% for item in [1, 2, 3] %}({{ item }}){% endfor %}(RRR
(RR	R((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_extends_output_bugsZscCstjdƒ}dS(Ns*{{ "http://www.example.org/<foo"|urlize }}(R	R
(Rttmpl((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_urlize_filter_escapingescCstjdƒ}dS(Ns7

        {% macro test() %}
            {{ caller() }}
        {% endmacro %}

        {% for num1 in range(5) %}
            {% call test() %}
                {% for num2 in range(10) %}
                    {{ loop.index }}
                {% endfor %}
            {% endcall %}
        {% endfor %}

        (R	R
(RR((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_loop_call_loopis	cCs)tddƒ}|jt|jdƒdS(Ntline_statement_prefixt%s+% for item in seq {# missing #}
...% endfor(Rt
assert_raisesRR
(RR	((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_weird_inline_comment|scCstjdƒ}dS(NsO{% for i in (1, 2) %}{{ i }}{% endfor %}{% macro i() %}3{% endmacro %}{{ i() }}(R	R
(RR((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_old_macro_loop_scoping_bugscCstjdƒ}dS(Ns,{% if b %}{% set a = 42 %}{% endif %}{{ a }}(R	R
(RR((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyt$test_partial_conditional_assignments†scCs"tddƒ}|jdƒ}dS(NRt#sų# for j in [1, 2]:
#   set x = 1
#   for i in [1, 2]:
#     print x
#     if i % 2 == 0:
#       set x = x + 1
#     endif
#   endfor
# endfor
# if a
#   print 'A'
# elif b
#   print 'B'
# elif c == d
#   print 'C'
# else
#   print 'D'
# endif
    (RR
(RR	R((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_stacked_locals_scoping_bug‹s	cCs+tdƒ}|jddgƒjƒ}dS(Ns×
            {% set x = 1 %}
            {% for item in foo %}
                {% if item == 1 %}
                    {% set x = 2 %}
                {% endif %}
            {% endfor %}
            {{ x }}
        tfooi(Rtrendertstrip(RRtrv((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyt(test_stacked_locals_scoping_bug_twoframe£s	cCstdƒ}dS(NsŌ{% macro dump_users(users) -%}
        <ul>
          {%- for user in users -%}
            <li><p>{{ user.username|e }}</p>{{ caller(user) }}</li>
          {%- endfor -%}
          </ul>
        {%- endmacro -%}

        {% call(user) dump_users(list_of_user) -%}
          <dl>
            <dl>Realname</dl>
            <dd>{{ user.realname|e }}</dd>
            <dl>Description</dl>
            <dd>{{ user.description }}</dd>
          </dl>
        {% endcall %}(R(RR((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_call_with_args°s	cCs=|jttdƒ|jttdƒ|jttdƒdS(Ns{% if %}....{% endif %}s'{% if foo %}...{% elif %}...{% endif %}s{% for x in %}..{% endfor %}(RRR(R((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_empty_if_condition_failsŠscCstdƒ}tdƒ}dS(Ns3
        {% for p in foo recursive%}
            {{p.bar}}
            {% for f in p.fields recursive%}
                {{f.baz}}
                {{p.bar}}
                {% if f.rec %}
                    {{ loop(f.sub) }}
                {% endif %}
            {% endfor %}
        {% endfor %}
        s)
        {% for p in foo%}
            {{p.bar}}
            {% for f in p.fields recursive%}
                {{f.baz}}
                {{p.bar}}
                {% if f.rec %}
                    {{ loop(f.sub) }}
                {% endif %}
            {% endfor %}
        {% endfor %}
        (R(Rttpl1ttpl2((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_recursive_loop_bugÕs	cCs2tdƒ}|j|jdgƒjƒdƒdS(Ns³
            {% for x in y %}
                {{ loop.index0 }}
            {% else %}
                {% for i in range(3) %}{{ i }}{% endfor %}
            {% endfor %}
        tyt012(RtassertEqualR&R'(RR((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_else_loop_bugšs	cCsMtdtitiƒd6ƒƒ}y|jdƒWntk
rH}nXdS(NRR%sfoo/bar.html(RRRtget_templateR(RR	te((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_correct_prefix_loader_nameśscsmddlm‰dtf‡fd†ƒY}tdƒ}|jd|ƒddƒ}d}|j||ƒdS(	Ni’’’’(tcontextfunctiont
CallableClasscseZˆd„ƒZRS(cSs
|jdƒS(Nthello(tresolve(Rtctx((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyt__call__s(RRR;((R6(s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyR7ss{{ callableclass() }}t
callableclassR8tTEST(tjinja2.utilsR6tobjectRR&tassert_equal(RR7ttpltoutputtexpected((R6s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyt%test_contextfunction_callable_classess(RRRRRRR R!R"R$R)R*R+R.R2R5RD(((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyRRs									
	 			
	cCs<tjƒ}|jtjtƒƒ|jtjtƒƒ|S(N(tunittestt	TestSuitetaddTestt	makeSuiteRR(tsuite((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyRIs(t__doc__REtjinja2.testsuiteRtjinja2RRRRRRtjinja2._compatRR	RRRI(((s?/usr/lib/python2.7/site-packages/jinja2/testsuite/regression.pyt<module>
s.	<Į
Back to Directory File Manager