ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ ,Qc@sdZddlZddlmZddlmZmZmZmZm Z m Z ddl m Z eZ defdYZdefd 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. iN(t JinjaTestCase(tTemplatet Environmentt DictLoadertTemplateSyntaxErrortTemplateNotFoundt PrefixLoader(t text_typetCornerTestCasecBseZdZdZRS(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 -}} (tenvt from_string(tselftt((sL/opt/alt/python27/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_assigned_scopings   cCs1tjd}tjd}tjd}dS(Ns {%- set wrapper = "" %} {%- 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 = "" %} {{- wrapper -}} s {%- for item in (1, 2, 3, 4) %} {%- macro wrapper() %}[{{ item }}]{% endmacro %} {{- wrapper() }} {%- endfor %} {{- wrapper -}} (R R (R R ((sL/opt/alt/python27/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_closure_scoping3s   (t__name__t __module__R R(((sL/opt/alt/python27/lib/python2.7/site-packages/jinja2/testsuite/regression.pyRs t BugTestCasecBseZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZRS(cCst}d|jdVtttesting(Rtfilters(R R ((sL/opt/alt/python27/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_keyword_foldingTs cCs/tdtidd6}|jd}dS(Ntloaders#(({% block title %}{% endblock %}))s parent.htmls{% if expr %}{% extends "parent.html" %}{% endif %}[[{% block title %}title{% endblock %}]]{% for item in [1, 2, 3] %}({{ item }}){% endfor %}(RRR (R R R ((sL/opt/alt/python27/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_extends_output_bugsZs cCstjd}dS(Ns*{{ "http://www.example.org/ {%- for user in users -%}
  • {{ user.username|e }}

    {{ caller(user) }}
  • {%- endfor -%} {%- endmacro -%} {% call(user) dump_users(list_of_user) -%}
    Realname
    {{ user.realname|e }}
    Description
    {{ user.description }}
    {% endcall %}(R(R R ((sL/opt/alt/python27/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_call_with_argss cCs=|jttd|jttd|jttddS(Ns{% if %}....{% endif %}s'{% if foo %}...{% elif %}...{% endif %}s{% for x in %}..{% endfor %}(R RR(R ((sL/opt/alt/python27/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_empty_if_condition_failsscCstd}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(R ttpl1ttpl2((sL/opt/alt/python27/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_recursive_loop_bugs  cCs2td}|j|jdgjddS(Ns {% for x in y %} {{ loop.index0 }} {% else %} {% for i in range(3) %}{{ i }}{% endfor %} {% endfor %} tyt012(Rt assertEqualR'R((R R ((sL/opt/alt/python27/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_else_loop_bugs cCsMtdtitid6}y|jdWntk rH}nXdS(NRR&s foo/bar.html(RRRt get_templateR(R R te((sL/opt/alt/python27/lib/python2.7/site-packages/jinja2/testsuite/regression.pyttest_correct_prefix_loader_names csmddlmdtffdY}td}|jd|dd}d}|j||dS( Ni(tcontextfunctiont CallableClasscseZdZRS(cSs |jdS(Nthello(tresolve(R tctx((sL/opt/alt/python27/lib/python2.7/site-packages/jinja2/testsuite/regression.pyt__call__s(RRR<((R7(sL/opt/alt/python27/lib/python2.7/site-packages/jinja2/testsuite/regression.pyR8ss{{ callableclass() }}t callableclassR9tTEST(t jinja2.utilsR7tobjectRR't assert_equal(R R8ttpltoutputtexpected((R7sL/opt/alt/python27/lib/python2.7/site-packages/jinja2/testsuite/regression.pyt%test_contextfunction_callable_classess  (RRRRRRR!R"R#R%R*R+R,R/R3R6RE(((sL/opt/alt/python27/lib/python2.7/site-packages/jinja2/testsuite/regression.pyRRs          cCs<tj}|jtjt|jtjt|S(N(tunittestt TestSuitetaddTestt makeSuiteRR(tsuite((sL/opt/alt/python27/lib/python2.7/site-packages/jinja2/testsuite/regression.pyRJs (t__doc__RFtjinja2.testsuiteRtjinja2RRRRRRtjinja2._compatRR RRRJ(((sL/opt/alt/python27/lib/python2.7/site-packages/jinja2/testsuite/regression.pyt s . <