Spade
Mini Shell
| Directory:~$ /lib/python2.7/site-packages/jinja2/testsuite/ |
| [Home] [System Details] [Kill Me] |
�
��Rc@szdZddlZddlmZddlmZmZddlmZm Z e�Z
defd��YZd�ZdS( s�
jinja2.testsuite.filters
~~~~~~~~~~~~~~~~~~~~~~~~
Tests for the jinja filters.
:copyright: (c) 2010 by the Jinja Team.
:license: BSD, see LICENSE for more details.
i����N(t
JinjaTestCase(tMarkuptEnvironment(t text_typetimplements_to_stringtFilterTestCasecBs?eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z
d�Z!d
�Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4d3�Z5d4�Z6d5�Z7d6�Z8d7�Z9d8�Z:d9�Z;d:�Z<d;�Z=d<�Z>d=�Z?d>�Z@RS(?cCs/tjddddg�}|j|d�dS(Ntsumiiii(tenvtcall_filtertassert_equal(tselftrv((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_filter_callingscCstjd�}dS(Ns{{
"foo bar"|capitalize }}(Rtfrom_string(R
ttmpl((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_capitalizescCstjd�}dS(Ns{{
"foo"|center(9) }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_centerscCstjd�}dS(Nso{{
missing|default('no') }}|{{ false|default('no') }}|{{
false|default('no', true) }}|{{ given|default('no')
}}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_default"s cCsAtjd�}|jdidd6dd6dd6d d
6�}dS(NsN{{ foo|dictsort }}|{{ foo|dictsort(true) }}|{{
foo|dictsort(false, "value")
}}tfooitaaitbitcitAB(RR
trender(R
Rtout((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_dictsort)s .cCs1tjd�}|jdttd���}dS(Ns4{{
foo|batch(3)|list }}|{{ foo|batch(3, 'X')|list }}Ri
(RR
Rtlisttrange(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_batch4scCs1tjd�}|jdttd���}dS(Ns4{{
foo|slice(3)|list }}|{{ foo|slice(3, "X")|list }}Ri
(RR
RRR(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_slice;scCstjd�}|j�}dS(Ns{{
'<">&'|escape }}(RR
R(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_escapeBscCs%tjd�}|jdd�}dS(Ns{{
foo|striptags }}Rss <p>just a small
<a href="#">example</a> link</p>
<p>to a webpage</p> <!-- <p>and some commented
stuff</p> -->(RR
R(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_striptagsGscCs/tjd�}|j�}|j|d�dS(NsC{{
100|filesizeformat }}|{{ 1000|filesizeformat }}|{{ 1000000|filesizeformat
}}|{{ 1000000000|filesizeformat }}|{{ 1000000000000|filesizeformat }}|{{
100|filesizeformat(true) }}|{{ 1000|filesizeformat(true) }}|{{
1000000|filesizeformat(true) }}|{{ 1000000000|filesizeformat(true) }}|{{
1000000000000|filesizeformat(true) }}sX100 Bytes|1.0 kB|1.0 MB|1.0 GB|1.0
TB|100 Bytes|1000 Bytes|976.6 KiB|953.7 MiB|931.3 GiB(RR
RR (R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_filesizeformatNs
cCs/tjd�}|j�}|j|d�dS(Ns�{{
300|filesizeformat }}|{{ 3000|filesizeformat }}|{{ 3000000|filesizeformat
}}|{{ 3000000000|filesizeformat }}|{{ 3000000000000|filesizeformat }}|{{
300|filesizeformat(true) }}|{{ 3000|filesizeformat(true) }}|{{
3000000|filesizeformat(true) }}s?300 Bytes|3.0 kB|3.0 MB|3.0 GB|3.0 TB|300
Bytes|2.9 KiB|2.9 MiB(RR
RR (R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_filesizeformat_issue59as
cCs1tjd�}|jdttd���}dS(Ns{{ foo|first
}}Ri
(RR
RRR(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_firstsscCstjd�}|j�}dS(Ns={{ "42"|float
}}|{{ "ajsghasjgd"|float }}|{{ "32.32"|float
}}(RR
R(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_floatxscCstjd�}|j�}dS(Ns{{
"%s|%s"|format("a", "b") }}(RR
R(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_formatscCsNtjd�}djdjddgd�gd�}|jd|�}dS(Ns-{{
foo|indent(2) }}|{{ foo|indent(2, true) }}s
t Rtbari(RR
tjoinR(R
RttextR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_indent�s)cCstjd�}|j�}dS(Ns7{{
"42"|int }}|{{ "ajsghasjgd"|int }}|{{
"32.32"|int }}(RR
R(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_int�scCs=tjd�}|j�}tdt�}|jd�}dS(Ns{{
[1, 2, 3]|join("|") }}t
autoescapes-{{ ["<foo>",
"<span>foo</span>"|safe]|join }}(RR
RRtTrue(R
RRtenv2((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt test_join�s
cCs)dtfd��Y}tjd�}dS(NtUsercBseZd�ZRS(cSs
||_dS(N(tusername(R
R0((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt__init__�s(t__name__t
__module__R1(((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR/�ss"{{
users|join(', ', 'username') }}(tobjectRR
(R
R/R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_join_attribute�scCs1tjd�}|jdttd���}dS(Ns{{
foo|last }}Ri
(RR
RRR(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt test_last�scCstjd�}|j�}dS(Ns{{
"hello world"|length }}(RR
R(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_length�scCstjd�}|j�}dS(Ns{{
"FOO"|lower }}(RR
R(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_lower�scCs5ddlm}tjd�}ttd��}dS(Ni����(tpformats{{
data|pprint }}i�(tpprintR9RR
RR(R
R9Rtdata((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_pprint�scCs<tjd�}ttd��}xtd�D]}q.WdS(Ns{{
seq|random }}idi
(RR
RR(R
Rtseqt_((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_random�scCstjd�}dS(Ns8{{
"foobar"|reverse|join }}|{{ [1, 2, 3]|reverse|list }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_reverse�scCs(dddddg}tjd�}dS(Niiiiis{{
obj|string }}(RR
(R
txR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_string�scCsmtjd�}tjd�}tjd�}tjd�}tjd�}tjd�}tjd�}dS(Ns{{
"foo bar"|title }}s{{ "foo's bar"|title }}s{{
"foo bar"|title }}s{{ "f bar f"|title }}s{{
"foo-bar"|title }}s{{ "foo bar"|title }}s{{
"FOO BAR"|title }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_title�scCs/tjd�}|jddddd�}dS(Nsg{{
data|truncate(15, true, ">>>") }}|{{ data|truncate(15,
false, ">>>") }}|{{ smalldata|truncate(15) }}R;sfoobar
baz bari�t smalldata(RR
R(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_truncate�s
cCstjd�}dS(Ns{{ "foo"|upper }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_upper�scCstjd�}dS(Ns.{{ "foo
http://www.example.com/ bar"|urlize }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_urlize�scCstjd�}dS(Ns{{
"foo bar baz"|wordcount }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_wordcount�scCstjd�}dS(Ns.{%
filter lower|escape %}<HEHE>{% endfilter %}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_block�scCstjd�}dS(Ns+{{ ['<foo>',
'<bar>']|first|upper|escape }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_chaining�scCstjd�}dS(Ns{{
[1, 2, 3, 4, 5, 6]|sum }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_sum�scCstjd�}dS(Ns{{
values|sum('value') }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_sum_attributes�scCstjd�}dS(Ns{{
values|sum('real.value') }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_sum_attributes_nestedscCstjd�}dS(Ns{{
values.items()|sum('1') }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_sum_attributes_tuple scCstjd�}dS(Ns{{
-1|abs }}|{{ 1|abs }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_absscCstjd�}dS(NsY{{
2.7|round }}|{{ 2.1|round }}|{{ 2.1234|round(3, 'floor') }}|{{
2.1|round(0, 'ceil') }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_round_positivescCstjd�}dS(NsL{{
21.3|round(-1)}}|{{ 21.3|round(-1, 'ceil')}}|{{ 21.3|round(-1,
'floor')}}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_round_negativescCs%tjd�}|j�j�}dS(NsW{{
{'foo': 42, 'bar': 23, 'fish': none,
'spam': missing, 'blub:blub':
'<?>'}|xmlattr }}(RR
Rtsplit(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_xmlattr!scCstjd�}dS(Ns/{{
[2, 3, 1]|sort }}|{{ [2, 3, 1]|sort(true) }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_sort1*scCstjd�}dS(Ns({{
"".join(["c", "A", "b",
"D"]|sort) }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_sort2.scCstjd�}dS(Ns!{{ ['foo',
'Bar', 'blah']|sort }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_sort32scCs/tdtfd��Y�}tjd�}dS(NtMagiccBseZd�Zd�ZRS(cSs
||_dS(N(tvalue(R
RX((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR19scSs
t|j�S(N(RRX(R
((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt__str__;s(R2R3R1RY(((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyRW7s s({{
items|sort(attribute='value')|join }}(RR4RR
(R
RWR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt
test_sort46scCstjd�}dS(Ns]
{%- for grouper, list in [{'foo': 1, 'bar': 2},
{'foo': 2, 'bar': 3},
{'foo': 1, 'bar': 1},
{'foo': 3, 'bar':
4}]|groupby('foo') -%}
{{ grouper }}{% for x in list %}: {{ x.foo }}, {{ x.bar }}{%
endfor %}|
{%- endfor %}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_groupby@s cCstjd�}dS(Ns�
{%- for grouper, list in [('a', 1), ('a', 2),
('b', 1)]|groupby(0) -%}
{{ grouper }}{% for x in list %}:{{ x.1 }}{% endfor %}|
{%- endfor %}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_groupby_tuple_indexOs cs�dtfd��Y�dtf�fd��Y}|dddd�|dd dd�|d
ddd�|dddd
�g}tjd�}dS(NtDatecBseZd�ZRS(cSs||_||_||_dS(N(tdaytmonthtyear(R
R^R_R`((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR1Xs (R2R3R1(((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR]WstArticlecseZ�fd�ZRS(cs�|�|_||_dS(N(tdatettitle(R
RcRb(R](s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR1]s(R2R3R1((R](s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyRa\stahaii�tinterestingisreally?istotally
noti�s�
{%- for year, list in articles|groupby('date.year') -%}
{{ year }}{% for x in list %}[{{ x.title }}]{% endfor %}|
{%- endfor %}(R4RR
(R
RatarticlesR((R]s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_groupby_multidotVs cCstjd�}dS(Ns={%
filter upper|replace('FOO', 'foo') %}foobar{% endfilter
%}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_filtertagpscCsXt�}|jd�}tdt�}|jd�}|jd�}|jd�}dS(Ns{{
string|replace("o", 42) }}R+s{{ string|replace("<",
42) }}s {{ string|replace("o", ">x<")
}}(RR
R,(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_replaceus cCstjd�}dS(Ns{{
x|forceescape }}(RR
(R
R((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_forceescape�scCs1tdt�}|jd�}|jd�}dS(NR+s{{
"<div>foo</div>"|safe }}s{{
"<div>foo</div>" }}(RR,R
(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt test_safe�scCs1tdt�}|jd�}|jd�}dS(NR+s{{
"Hello, world!"|urlencode }}s{{ o|urlencode }}(RR,R
(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_urlencode�scCs2t�}|jd�}|j|j�d�dS(Ns${{
["1", "2", "3"]|map("int")|sum
}}t6(RR
tassertEqualR(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_simple_map�s cCsodtfd��Y}t�}|d�|d�|d�g}|jd�}|j|jd|�d�dS( NR/cBseZd�ZRS(cSs
||_dS(N(tname(R
Rp((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR1�s(R2R3R1(((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR/�stjohntjanetmikes+{{
users|map(attribute="name")|join("|")
}}tuserssjohn|jane|mike(R4RR
RnR(R
R/RRtR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_attribute_map�s cCs2t�}|jd�}|j|j�d�dS(Ns{{
none|map("upper")|list }}s[](RR
RnR(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_empty_map�s cCs2t�}|jd�}|j|j�d�dS(Ns-{{
[1, 2, 3, 4, 5]|select("odd")|join("|")
}}s1|3|5(RR
RnR(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_simple_select�s cCs2t�}|jd�}|j|j�d�dS(Ns6{{
[none, false, 0, 1, 2, 3, 4, 5]|select|join("|")
}}s 1|2|3|4|5(RR
RnR(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_bool_select�s cCs2t�}|jd�}|j|j�d�dS(Ns-{{
[1, 2, 3, 4, 5]|reject("odd")|join("|")
}}s2|4(RR
RnR(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_simple_reject�s cCs2t�}|jd�}|j|j�d�dS(Ns6{{
[none, false, 0, 1, 2, 3, 4, 5]|reject|join("|")
}}sNone|False|0(RR
RnR(R
RR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_bool_reject�s cCsxdtfd��Y}t�}|dt�|dt�|dt�g}|jd�}|j|jd|�d�dS( NR/cBseZd�ZRS(cSs||_||_dS(N(Rpt is_active(R
RpR{((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR1�s (R2R3R1(((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR/�sRqRrRssC{{
users|selectattr("is_active")|map(attribute="name")|join("|")
}}Rts john|jane(R4RR,tFalseR
RnR(R
R/RRtR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_simple_select_attr�s cCsxdtfd��Y}t�}|dt�|dt�|dt�g}|jd�}|j|jd|�d�dS(NR/cBseZd�ZRS(cSs||_||_dS(N(RpR{(R
RpR{((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR1�s (R2R3R1(((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR/�sRqRrRssC{{
users|rejectattr("is_active")|map(attribute="name")|join("|")
}}Rt(R4RR,R|R
RnR(R
R/RRtR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_simple_reject_attr�s cCsxdtfd��Y}t�}|dd�|dd�|dd�g}|jd �}|j|jd
|�d�dS(NR/cBseZd�ZRS(cSs||_||_dS(N(tidRp(R
RRp((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR1�s (R2R3R1(((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR/�siRqiRriRssC{{
users|selectattr("id",
"odd")|map(attribute="name")|join("|")
}}Rts john|mike(R4RR
RnR(R
R/RRtR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_func_select_attr�s cCsxdtfd��Y}t�}|dd�|dd�|dd�g}|jd �}|j|jd
|�d�dS(NR/cBseZd�ZRS(cSs||_||_dS(N(RRp(R
RRp((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR1�s (R2R3R1(((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR/�siRqiRriRssC{{
users|rejectattr("id",
"odd")|map(attribute="name")|join("|")
}}Rt(R4RR
RnR(R
R/RRtR((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyttest_func_reject_attr�s (AR2R3RRRRRRRRRR
R!R"R#R$R)R*R.R5R6R7R8R<R?R@RBRCRERFRGRHRIRJRKRLRMRNRORPRQRSRTRURVRZR[R\RgRhRiRjRkRlRoRuRvRwRxRyRzR}R~R�R�(((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyRs~
cCs&tj�}|jtjt��|S(N(tunittestt TestSuitetaddTestt makeSuiteR(tsuite((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyR�s(
t__doc__R�tjinja2.testsuiteRtjinja2RRtjinja2._compatRRRRR�(((s</usr/lib/python2.7/site-packages/jinja2/testsuite/filters.pyt<module>
s ��