%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /opt/alt/python37/lib/python3.7/site-packages/jinja2/testsuite/__pycache__/
Upload File :
Create Path :
Current File : //opt/alt/python37/lib/python3.7/site-packages/jinja2/testsuite/__pycache__/ext.cpython-37.pyc

B

��R�F�
@s�dZddlZddlZddlmZddlmZmZmZm	Z	ddl
mZddlm
Z
ddlmZmZddlmZmZmZmZd	Ze�d
�Zddd
ddd�Zddd
dddddddddd�Zdddddd d!d"d#d$�iZed%d&��Zed'd(��Zeee�d)gd*�Zej� eeed+��eee�d)gd*�Z!e!j"eed,d-�Gd.d/�d/e
�Z#Gd0d1�d1e
�Z$Gd2d3�d3e
�Z%Gd4d5�d5e�Z&Gd6d7�d7e�Z'Gd8d9�d9e�Z(Gd:d;�d;e�Z)d<d=�Z*dS)>z�
    jinja2.testsuite.ext
    ~~~~~~~~~~~~~~~~~~~~

    Tests for the extensions.

    :copyright: (c) 2010 by the Jinja Team.
    :license: BSD, see LICENSE for more details.
�N)�
JinjaTestCase)�Environment�
DictLoader�contextfunction�nodes)�TemplateAssertionError)�	Extension)�Token�count_newlines)�next�BytesIO�
itervalues�	text_type�z_\((.*?)\)(?s)zS<title>{{ page_title|default(_("missing")) }}</title>{% block body %}{% endblock %}z[{% extends "master.html" %}{% block body %}{% trans %}watch out{% endtrans %}{% endblock %}z_{% trans user_count %}One user online{% pluralize %}{{ user_count }} users online{% endtrans %}zf{% trans user_count=get_user_count() %}{{ user_count }}s{% pluralize %}{{ user_count }}p{% endtrans %}z/{{ _("User: %(num)s")|format(num=user_count) }})zmaster.htmlz
child.htmlzplural.htmlzplural2.htmlzstringformat.htmlz({{ _("User: %(num)s", num=user_count) }}z9{{ ngettext("%(num)s apple", "%(num)s apples", apples) }}zR{% trans num=apples %}{{ num }} apple{% pluralize %}{{ num }} apples{% endtrans %}z({% trans %}User: {{ num }}{% endtrans %}z2{% trans num=count %}User: {{ num }}{% endtrans %}z4{% trans count=num %}User: {{ count }}{% endtrans %}z"{% trans %}%(hello)s{% endtrans %}z){% trans %}{{ foo }}%(foo)s{% endtrans %}z){% trans foo="42" %}%(foo)s{% endtrans %})zmaster.htmlz
child.htmlzplural.htmlzstringformat.htmlz
ngettext.htmlzngettext_long.htmlztransvars1.htmlztransvars2.htmlztransvars3.htmlznovars.htmlz	vars.htmlzexplicitvars.html�deZfehlendzpass aufzEin Benutzer onlinez%(user_count)s Benutzer onlinezBenutzer: %(num)szBenutzer: %(count)sz
%(num)s Apfelu%(num)s Äpfel)Zmissingz	watch outzOne user onlinez%(user_count)s users onlinez
User: %(num)szUser: %(count)sz
%(num)s applez%(num)s applescCs |�dd�}t�|i��||�S)N�LANGUAGE�en)�get�	languages)�context�string�language�r�E/opt/alt/python37/lib/python3.7/site-packages/jinja2/testsuite/ext.py�gettextIsrcCs<|�dd�}|dkr(t�|i��||�St�|i��||�S)Nrr�)rr)r�s�p�nrrrr�ngettextOsrzjinja2.ext.i18n)�loader�
extensions)�_rrT)�newstylec@s*eZdZedg�ZdZdd�Zdd�ZdS)�
TestExtensionZtest�*cCsDt�|�dt�d�|�d�t�td�t��g�g��t	|j
�j�S)N�_dump�	sandboxed�ext_attrz.importable_object)rZOutputZcall_methodZEnvironmentAttribute�attrZImportedName�__name__ZContextReferenceZ
set_linenor�stream�lineno)�self�parserrrr�parseks
zTestExtension.parsecCsd||||jfS)Nz%s|%s|%s|%s)Zblocks)r-r'r(Zimported_objectrrrrr&ss
zTestExtension._dumpN)r*�
__module__�__qualname__�setZtagsr(r/r&rrrrr$gs
r$c@seZdZddd�ZdS)�PreprocessorExtensionNcCs|�dd�S)Nz[[TEST]]z({{ foo }}))�replace)r-�source�name�filenamerrr�
preprocess~sz PreprocessorExtension.preprocess)N)r*r0r1r8rrrrr3|sr3c@seZdZdd�Zdd�ZdS)�StreamFilterExtensionccs>x8|D]0}|jdkr0x |�|�D]
}|Vq Wq|VqWdS)N�data)�type�interpolate)r-r+�token�trrr�
filter_stream�s


z#StreamFilterExtension.filter_streamccs�d}t|j�}|j}x�t�|j|�}|dkr.P|j||���}|rRt|d|�V|t|j�7}t|dd�Vt|dd�Vt|dd�Vt|d|�d��Vt|d	d�Vt|d
d�V|�	�}qW||kr�t|d|j|d��VdS)Nrr:Zvariable_beginr6rZlparenrrZrparenZvariable_end)
�len�valuer,�_gettext_re�search�startr	r
�group�end)r-r=�posrFr,�matchrArrrr<�s(
z!StreamFilterExtension.interpolateN)r*r0r1r?r<rrrrr9�sr9c@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�ExtensionsTestCasecCs.t�}|�d�|�d�}|��dks*t�dS)Nzjinja2.ext.autoescapez6{% autoescape true %}{{ "<test>" }}{% endautoescape %}z&lt;test&gt;)r�
add_extension�from_string�render�AssertionError)r-�envr>rrr�test_extend_late�s

z#ExtensionsTestCase.test_extend_latecCsDtdgd�}|�d�}|��dks&t�|�d�}|��dks@t�dS)Nzjinja2.ext.loopcontrols)r!z�
            {%- for item in [1, 2, 3, 4] %}
                {%- if item % 2 == 0 %}{% continue %}{% endif -%}
                {{ item }}
            {%- endfor %}Z13z�
            {%- for item in [1, 2, 3, 4] %}
                {%- if item > 2 %}{% break %}{% endif -%}
                {{ item }}
            {%- endfor %}Z12)rrKrLrM)r-rN�tmplrrr�test_loop_controls�sz%ExtensionsTestCase.test_loop_controlscCs*tdgd�}|�d�}|��dks&t�dS)Nz
jinja2.ext.do)r!z�
            {%- set items = [] %}
            {%- for char in "foo" %}
                {%- do items.append(loop.index0 ~ char) %}
            {%- endfor %}{{ items|join(', ') }}z
0f, 1o, 2o)rrKrLrM)r-rNrPrrr�test_do�szExtensionsTestCase.test_docCsBtdgd�}|�d�}dd�|jddd���D�d	d
gks>t�dS)Nzjinja2.ext.with_)r!zy        {% with a=42, b=23 -%}
            {{ a }} = {{ b }}
        {% endwith -%}
            {{ a }} = {{ b }}        cSsg|]}|���qSr)�strip)�.0�xrrr�
<listcomp>�sz0ExtensionsTestCase.test_with.<locals>.<listcomp>r�)�a�bz42 = 23z1 = 2)rrKrL�
splitlinesrM)r-rNrPrrr�	test_with�s
zExtensionsTestCase.test_withcCs*ttgd�}|�d�}|��dks&t�dS)N)r!z
{% test %}zFalse|42|23|{})rr$rKrLrM)r-rNrPrrr�test_extension_nodes�s
z'ExtensionsTestCase.test_extension_nodescCstjtdkst�dS)Nz.TestExtension)r$Z
identifierr*rM)r-rrr�test_identifier�sz"ExtensionsTestCase.test_identifiercCsLttgd�}|��}x2||fD]&}x t|j�D]}|j|ks.t�q.WqWdS)N)r!)rr$�overlayr
r!ZenvironmentrM)r-Zoriginalr^rN�extrrr�test_rebinding�s
z!ExtensionsTestCase.test_rebindingcCs.ttgd�}|�d�}|jdd�dks*t�dS)N)r!z
{[[TEST]]}r%)�fooz{(42)})rr3rKrLrM)r-rNrPrrr�test_preprocessor_extension�s
z.ExtensionsTestCase.test_preprocessor_extensioncCs<ttgd�}dd�|jd<|�d�}|��}|dks8t�dS)N)r!cSs|��S)N)�upper)rUrrr�<lambda>��z@ExtensionsTestCase.test_streamfilter_extension.<locals>.<lambda>rzFoo _(bar) BazzFoo BAR Baz)rr9�globalsrKrLrM)r-rNrP�outrrr�test_streamfilter_extension�s

z.ExtensionsTestCase.test_streamfilter_extensioncCsbGdd�dt�}Gdd�dt�}t||gd�}t|���}|dj|ksLt�|dj|ks^t�dS)Nc@seZdZdZdS)z6ExtensionsTestCase.test_extension_ordering.<locals>.T1rN)r*r0r1�priorityrrrr�T1�srjc@seZdZdZdS)z6ExtensionsTestCase.test_extension_ordering.<locals>.T2rWN)r*r0r1rirrrr�T2�srk)r!rr)rr�listZiter_extensions�	__class__rM)r-rjrkrNr_rrr�test_extension_ordering�sz*ExtensionsTestCase.test_extension_orderingN)
r*r0r1rOrQrRr[r\r]r`rbrhrnrrrrrI�s	rIc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�InternationalizationTestCasecCs"t�d�}|jdd�dkst�dS)Nz
child.htmlr)rz<title>fehlend</title>pass auf)�i18n_env�get_templaterLrM)r-rPrrr�
test_trans�s
z'InternationalizationTestCase.test_transcCs:t�d�}|jddd�dks t�|jddd�dks6t�dS)Nzplural.htmlrr)r�
user_countzEin Benutzer onlinerWz2 Benutzer online)rprqrLrM)r-rPrrr�test_trans_plural�s
z.InternationalizationTestCase.test_trans_pluralcsDt�d�}�fdd��d�_|jd�d�dks2t��jdks@t�dS)	Nzplural2.htmlcs�jd7_dS)Nr)�calledr)�get_user_countrrrvszUInternationalizationTestCase.test_trans_plural_with_functions.<locals>.get_user_countrr)rrvZ1sr)rprqrurLrM)r-rPr)rvr� test_trans_plural_with_functionss

z=InternationalizationTestCase.test_trans_plural_with_functionscCs.t�d�}|��dkst�|�ttjd�dS)Nz_{% trans foo=42, count=2 %}{{ count }} item{% pluralize count %}{{ count }} items{% endtrans %}z2 itemsz6{% trans foo %}...{% pluralize bar %}...{% endtrans %})rprKrLrM�
assert_raisesr)r-rPrrr�test_complex_plural
s

z0InternationalizationTestCase.test_complex_pluralcCs$t�d�}|jddd�dks t�dS)Nzstringformat.htmlr�)rrszBenutzer: 5)rprqrLrM)r-rPrrr�test_trans_stringformattings
z8InternationalizationTestCase.test_trans_stringformattingcCsVddlm}td�d��}t||dgi��dddgfd	ddgfd
ddgfgksRt�dS)
Nr)�
babel_extractz�
        {{ gettext('Hello World') }}
        {% trans %}Hello World{% endtrans %}
        {% trans %}{{ users }} user{% pluralize %}{{ users }} users{% endtrans %}
        �ascii)rrr"rWrzHello World��r)z%(users)s userz%(users)s usersN)�
jinja2.extr|r�encoderlrM)r-r|r5rrr�test_extracts

z)InternationalizationTestCase.test_extractcCs`ddlm}td�d��}t||dddgi��dd	d
dgfdd	d
d
gfddddgfgks\t�dS)Nr)r|z�
        {# trans first #}
        {{ gettext('Hello World') }}
        {% trans %}Hello World{% endtrans %}{# trans second #}
        {#: third #}
        {% trans %}{{ users }} user{% pluralize %}{{ users }} users{% endtrans %}
        zutf-8)rrr"Ztrans�:r~rzHello World�firstr�second�r)z%(users)s userz%(users)s usersNZthird)r�r|rr�rlrM)r-r|r5rrr�test_comment_extract"sz1InternationalizationTestCase.test_comment_extractN)
r*r0r1rrrtrwryr{r�r�rrrrro�s	
roc@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�$NewstyleInternationalizationTestCasecCs"t�d�}|jdd�dkst�dS)Nz
child.htmlr)rz<title>fehlend</title>pass auf)�newstyle_i18n_envrqrLrM)r-rPrrrrr4s
z/NewstyleInternationalizationTestCase.test_transcCs:t�d�}|jddd�dks t�|jddd�dks6t�dS)Nzplural.htmlrr)rrszEin Benutzer onlinerWz2 Benutzer online)r�rqrLrM)r-rPrrrrt8s
z6NewstyleInternationalizationTestCase.test_trans_pluralcCs.t�d�}|��dkst�|�ttjd�dS)Nz_{% trans foo=42, count=2 %}{{ count }} item{% pluralize count %}{{ count }} items{% endtrans %}z2 itemsz6{% trans foo %}...{% pluralize bar %}...{% endtrans %})r�rKrLrMrxrrp)r-rPrrrry=s

z8NewstyleInternationalizationTestCase.test_complex_pluralcCs$t�d�}|jddd�dks t�dS)Nzstringformat.htmlrrz)rrszBenutzer: 5)r�rqrLrM)r-rPrrrr{Ds
z@NewstyleInternationalizationTestCase.test_trans_stringformattingcCs:t�d�}|jddd�dks t�|jddd�dks6t�dS)Nz
ngettext.htmlrr)r�applesz1 Apfelrzu5 Äpfel)r�rqrLrM)r-rPrrr�test_newstyle_pluralHs
z9NewstyleInternationalizationTestCase.test_newstyle_pluralcCs\tddgd�}|jdd�dd�dd�|�d	�}|jdd
�dksDt�|jdd
�d
ksXt�dS)Nzjinja2.ext.autoescapezjinja2.ext.i18n)r!cSsdS)Nz<strong>Wert: %(name)s</strong>r)rUrrrrdPrezNNewstyleInternationalizationTestCase.test_autoescape_support.<locals>.<lambda>cSs|S)Nr)rrrrrrrdQreT)r#zI{% autoescape ae %}{{ gettext("foo", name="<test>") }}{% endautoescape %})Zaez#<strong>Wert: &lt;test&gt;</strong>Fz<strong>Wert: <test></strong>)r�install_gettext_callablesrKrLrM)r-rNr>rrr�test_autoescape_supportMs


z<NewstyleInternationalizationTestCase.test_autoescape_supportcCs$t�d�}|jddd�dks t�dS)Nzngettext_long.htmlrzr)r�ru5 Äpfel)r�rqrLrM)r-rPrrr�test_num_used_twiceWs
z8NewstyleInternationalizationTestCase.test_num_used_twicecCs&tjddd�}t�d|�dk	s"t�dS)Nzo
            {% trans num=3 %}{{ num }} apple{% pluralize
            %}{{ num }} apples{% endtrans %}
        T)�rawz:l_ngettext, u?'\%\(num\)s apple', u?'\%\(num\)s apples', 3)r��compile�rerCrM)r-r5rrr�test_num_called_num[s
z8NewstyleInternationalizationTestCase.test_num_called_numcCsdt�d�}t�d�}t�d�}|jddd�dks4t�|jddd	�d
ksJt�|jddd�dks`t�dS)
Nztransvars1.htmlztransvars2.htmlztransvars3.htmlrr)ZnumrzBenutzer: 1r)�countrzBenutzer: 23r%zBenutzer: 42)r�rqrLrM)r-Zt1Zt2Zt3rrr�test_trans_varsgs


z4NewstyleInternationalizationTestCase.test_trans_varscCsVt�d�}|��dkst�t�d�}|jdd�dks8t�t�d�}|��dksRt�dS)	Nznovars.htmlz	%(hello)sz	vars.htmlZ42)raz	42%(foo)szexplicitvars.htmlz%(foo)s)r�rqrLrM)r-r>rrr�test_novars_vars_escapingos


z>NewstyleInternationalizationTestCase.test_novars_vars_escapingN)
r*r0r1rrrtryr{r�r�r�r�r�r�rrrrr�2s
r�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�AutoEscapeTestCasecCshtdgdd�}|�d�}|����dddgks2t�tdgdd�}|�d�}|����dddgksdt�dS)	Nzjinja2.ext.autoescapeT)r!�
autoescapez�
            {{ "<HelloWorld>" }}
            {% autoescape false %}
                {{ "<HelloWorld>" }}
            {% endautoescape %}
            {{ "<HelloWorld>" }}
        z&lt;HelloWorld&gt;z<HelloWorld>Fz�
            {{ "<HelloWorld>" }}
            {% autoescape true %}
                {{ "<HelloWorld>" }}
            {% endautoescape %}
            {{ "<HelloWorld>" }}
        )rrKrL�splitrM)r-rNrPrrr�test_scoped_settingzs

z&AutoEscapeTestCase.test_scoped_settingcCsFtdgdd�}|�d�}|��dks(t�|�d�}|��dksBt�dS)Nzjinja2.ext.autoescapeT)r!r�z&{{ {"foo": "<test>"}|xmlattr|escape }}z foo="&lt;test&gt;"zO{% autoescape false %}{{ {"foo": "<test>"}|xmlattr|escape }}{% endautoescape %}z# foo=&#34;&amp;lt;test&amp;gt;&#34;)rrKrLrM)r-rNrPrrr�test_nonvolatile�s

z#AutoEscapeTestCase.test_nonvolatilecCsDtdgdd�}|�d�}|jdd�dks,t�|jdd�dks@t�dS)	Nzjinja2.ext.autoescapeT)r!r�zM{% autoescape foo %}{{ {"foo": "<test>"}|xmlattr|escape }}{% endautoescape %}F)raz# foo=&#34;&amp;lt;test&amp;gt;&#34;z foo="&lt;test&gt;")rrKrLrM)r-rNrPrrr�
test_volatile�s

z AutoEscapeTestCase.test_volatilecCs.tdgd�}|�d�}|jdd�dks*t�dS)Nzjinja2.ext.autoescape)r!zT{% autoescape true %}{% set x = "<x>" %}{{ x }}{% endautoescape %}{{ x }}{{ "<y>" }}r)rUz
&lt;x&gt;1<y>)rrKrLrM)r-rNrPrrr�test_scoping�s
zAutoEscapeTestCase.test_scopingcCs�tdgd�}d}|�|�}|jdd���ddks6t�|jdd���dtjksTt�tdgd�}|j|dd	�}d
|kszt�tdgdd�}|j|dd	�}d|ks�t�dS)
Nzjinja2.ext.autoescape)r!z�
        {% autoescape val %}
            {% macro foo(x) %}
                [{{ x }}]
            {% endmacro %}
            {{ foo().__class__.__name__ }}
        {% endautoescape %}
        {{ '<testing>' }}
        T)�valrZMarkupF)r�z<testing>\n)r!r�z&lt;testing&gt;\n)rrKrLr�rMrr*r�)r-rNZ
tmplsourcerPZpysourcerrr�test_volatile_scoping�s	
z(AutoEscapeTestCase.test_volatile_scopingN)r*r0r1r�r�r�r�r�rrrrr�xs
	r�cCsLt��}|�t�t��|�t�t��|�t�t��|�t�t��|S)N)�unittestZ	TestSuiteZaddTestZ	makeSuiterIror�r�)�suiterrrr��sr�)+�__doc__r�r�Zjinja2.testsuiterZjinja2rrrrZjinja2.exceptionsrr�rZjinja2.lexerr	r
Zjinja2._compatrrr
rZimportable_objectr�rBZi18n_templatesZnewstyle_i18n_templatesrrrrprf�updater�r�r$r3r9rIror�r�r�rrrr�<module>
sr




!S<FM

Zerion Mini Shell 1.0